【发布时间】:2011-06-20 15:46:06
【问题描述】:
我已经查看了一些关于在 Python 程序中分析内存使用情况的问题,但到目前为止还没有任何工作可以解决。我的程序必须以 root 身份运行(它会打开一个 TUN/TAP 设备)。
首先,我尝试了heapy;不幸的是,这对我不起作用。每次我的代码尝试执行hpy().heap() 时,程序都会冻结。不想浪费太多时间,我决定尝试 valgrind。
我用地块尝试了 valgrind:
# valgrind --tool=massif ./my_prog.py --some-options value
我认为这个问题与分析 Python 程序有关。我尝试了我的程序(以 root 身份运行)并且没有生成任何地块输出文件。我也无法使用另一个 Python 程序(不以 root 身份运行)生成输出文件。但是,一个简单的 C 测试程序运行良好并生成了 massif 文件。
阻碍 Valgrind 和 massif 与 Python 程序正常工作的问题是什么?
【问题讨论】:
-
调用 python bin 并将脚本作为参数传递会有什么不同吗?
-
@tMC,在我阅读您的评论之前,我也在想同样的事情。事实上,它确实有所作为。