": What does each output column represent?-6ren"> ": What does each output column represent?-我运行了 mprof run some-executable 并生成了一个 *.dat 文件。 *.dat 文件的每一列代表什么? vikas@some-host$ cat mprofile_2015-6ren">
gpt4 book ai didi

python - "mprof run ": What does each output column represent?

转载 作者:太空宇宙 更新时间:2023-11-04 01:09:17 32 4
gpt4 key购买 nike

我运行了 mprof run some-executable 并生成了一个 *.dat 文件。

*.dat 文件的每一列代表什么?

vikas@some-host$ cat mprofile_20150224012014.dat              
CMDLINE python ../asl
MEM 0.332031 1424769614.8950
MEM 7.593750 1424769614.9954
MEM 8.816406 1424769615.0957
MEM 8.816406 1424769615.1960

第 1/2/3 列代表什么?

[编辑]:我也无法运行 mprof run --python。这是我得到的错误(importerror)....看起来它无法获得配置的定义

(virtualenv)vikas@host:$ ./mprof run --python ../myfile.py

mprof:每0.1s采样一次内存

作为 Python 程序运行...

Traceback (most recent call last):
File "/usr/lib64/python2.6/runpy.py", line 122, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib64/python2.6/runpy.py", line 34, in _run_code
exec code in run_globals
File "/home/vikask/memory_profiler-0.32/memory_profiler.py", line 853, in <module>
execfile(__file__, ns, ns)
File "../myfile.py", line 19, in <module>
from bsite import models, security
File "/home/vikas/bsite/models.py", line 12, in <module>
from bsite import config
ImportError: cannot import name config

最佳答案

第 1 列:“MEM”只是一个标签。

第二列:RSS(驻留集大小),以兆字节为单位。因此,您的进程最终使用了 8.8 MB。

第三列:Unix 时间戳:

>>> import time
>>> print(time.ctime(1424769615.1960))
Tue Feb 24 01:20:15 2015

看起来 mprof 只是随时间记录进程大小。如果您想要有关程序内部的更多具体细节(逐行),您可以使用 mprof run --python file.py 来获取该信息(您还需要装饰@profile 的功能,请参阅 Usage section in the documentation )。

编辑:响应您发布的 ImportError 和回溯:您收到该错误是因为您将文件作为 "../myfile.py" 运行.由于您在 bsite 目录之外,它找不到 config.py 文件。

你需要像这样运行程序:

 $ cd /home/vikas/bsite/
$ /home/vikask/memory_profiler-0.32/mprof run --python myfile.py

这样您就可以在正确的目录中让 import 正常工作。

另一种让它工作的方法是build your project as a python package .当您这样做时,您的文件可以从任何地方正确导入。设置起来有点复杂,但这是个不错的主意。

另一个更 hacky 的选项是修改 PYTHONPATHsys.path 以使导入工作。例如像这样:

$ cd /home/vikask/memory_profiler-0.32/
$ PYTHONPATH=/home/vikas/bsite/ ./mprof run --python ../myfile.py

最后,看起来您正在直接从 memory_profiler 源运行 mprof 命令。您可以通过在该目录中执行“python setup.py install”(或使用 pip install memory_profiler)来安装该包。然后你应该在你的 PATH 上有 mprof 命令并且可以从任何目录运行它。

关于python - "mprof run <executable>": What does each output column represent?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28702087/

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