gpt4 book ai didi

python - 查找内存使用情况、CPU 使用情况、运行 python 脚本的执行时间

转载 作者:IT王子 更新时间:2023-10-28 23:37:39 26 4
gpt4 key购买 nike

我正在使用 python,假设我有一些代码如下

example.py

import os, psutil
import MySQLdb as mdb

conn = mdb.connect(user='root', passwd='redhat', db='File_Data', host='localhost', charset="utf8")
file_path = "/home/local/user/Module/File_processing/part-file.txt"
p = psutil.Process(os.getpid())
cursor = conn.cursor()

for line in file_open:
result = line.split('\t')
query = "insert into PerformaceReport (campaignID, keywordID, keyword, avgPosition)"
query += " VALUES (%s,%s,'%s',%s)%(result[0],result[1],result[2],result[3])"
cursor.execute( query )
conn.commit()

print p.get_cpu_times()
print p.get_memory_percent()

上面的代码从文本文件中读取数据并保存到数据库中并且工作正常

我正在使用命令 python path/to/the/example.py

运行该文件

现在我要做的是查找/捕获以下三个值/信息

  1. python脚本(example.py)读取数据并将数据保存到数据库所花费的总执行时间
  2. CPU 利用率当 python 脚本(example.py) 已经运行(执行)
  3. 内存使用当python脚本(example.py)已经运行(执行)

我已经google了很多,找到了一些信息here , herehere ,每个解释都有不同的方法,我真的很困惑,无法理解当脚本 example.py 运行时如何捕获上述三个值的方法,所以在 SO

中询问

任何人都可以为我提供一个适合/捕获上述值以满足我上面提到的需要的工作示例(代码),以便我可以进一步扩展我的进一步需求

已编辑

流程跟进

1 .用于查找执行时间

使用如下命令运行example.py文件

  python -m cProfile -o file.profile example.py 

2 。用于查找 CPU 使用率

example.py 运行后在终端中执行 top 命令

结果:

   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
1354 root 20 0 138m 17m 7200 S 2.0 0.6 2:40.50 Xorg
2672 shivakri 20 0 581m 19m 12m S 1.3 0.6 0:07.60 gnome-terminal
2587 shivakri 20 0 987m 168m 33m S 1.0 5.6 5:25.26 firefox
2780 shivakri 20 0 1233m 51m 16m S 1.0 1.7 0:16.51 gedit
2163 shivakri 20 0 821m 135m 43m S 0.7 4.5 4:58.74 chrome
1938 shivakri 20 0 567m 15m 11m S 0.3 0.5 0:06.64 metacity
........
........

现在在上面的结果中,我如何/在哪里可以找到 CPU/内存利用率值,我是否需要从包含 gnome- 的行中获取值 %CPU %MEM终端 ? (因为我们是通过终端运行文件?)

Aslo top 用于查找正在运行的总 cpu 利用率进程,但我们只需要在执行/运行时查找 example.py 脚本的 cpu 利用率,我的意思是多少 CPU , 运行文件(example.py)时会占用内存

最后,当我运行 python 脚本 (example.py) 时,我的意图是执行时间、运行脚本所占用的 CPU 利用率以及运行脚本所使用的内存等值必须记录/存储在某个位置(在文本文件中)或其他东西

最佳答案

用于时间分析

  1. cd 进入包含 example.py 的目录(我们称之为 exampledir)。
  2. 运行python -m cProfile -o example.profile example.py
  3. download RunSnake并在任何地方解压
  4. cd 进入解压 RunSnake 的目录
  5. 运行 python runsnake.py exampledir/example.profile

用于 CPU 分析

  1. 使用 psutil
    1. 使用 myProcess = psutil.Process(os.getpid())
    2. 创建一个新的 psutil.Process
    3. 根据需要调用 myProcess.get_memory_info()myProcess.get_ext_memory_info()myProcess.get_memory_percent()

用于内存分析

  1. 使用 easy_installpip
  2. 安装 meliae
  3. 将以下代码行添加到 example.py 的顶部:

from meliae import scanner # [[source](http://www.vrplumber.com/programming/runsnakerun/)]
scanner.dump_all_objects( filename ) # you can pass a file-handle if you prefer

  1. 运行 runsnakemem fpath,其中 fpath 是您在上述代码中使用的文件的路径。

这应该会为您提供一个类似于 RunSnakeRun 的可视化内存分析器。

希望对你有帮助

关于python - 查找内存使用情况、CPU 使用情况、运行 python 脚本的执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13507205/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com