使用Valgrind在Python程序中分析内存时遇到问题

Mr.*_*nce 3 python profiling valgrind

我已经看过一些关于在Python程序中分析内存使用情况的问题,但到目前为止还没有能够解决任何问题.我的程序必须以root身份运行(它打开一个TUN/TAP设备).

首先,我试过heapy; 不幸的是,这对我不起作用.每次我的代码试图执行hpy().heap()程序冻结.不想浪费太多时间我决定尝试valgrind.

我试着带有地块的valgrind:

# valgrind --tool=massif ./my_prog.py --some-options value
Run Code Online (Sandbox Code Playgroud)

我认为这个问题与分析Python程序有关.我尝试了我的程序(以root身份运行)并且没有生成massif输出文件.我也无法使用另一个Python程序(不以root身份运行)生成输出文件.但是,一个简单的C测试程序工作正常并生成了massif文件.

阻止Valgrind和massif正确使用Python程序的问题是什么?

Mr.*_*nce 6

而不是让脚本启动解释器,直接将其作为Valgrind的参数来解决问题.

valgrind --tool=massif python my_script.py
Run Code Online (Sandbox Code Playgroud)