Возникли проблемы при профилировании памяти в программе Python с использованием Valgrind - PullRequest
3 голосов
/ 20 июня 2011

Я рассмотрел некоторые вопросы об использовании профилей памяти в программах на Python, но до сих пор не смог заставить что-либо работать.Моя программа должна запускаться с правами root (она открывает устройство TUN / TAP).

Сначала я попробовал heapy;к сожалению, это не сработало для меня.Каждый раз, когда мой код пытался выполнить hpy().heap(), программа зависала.Не желая тратить слишком много времени, я решил попробовать valgrind.

Я попробовал valgrind с массивом:

# valgrind --tool=massif ./my_prog.py --some-options value

Я думаю, что проблема связана с профилированием программ Python.Я попробовал свою программу (которая запускается с правами root), и не был создан файл вывода массива.Я также не смог сгенерировать выходной файл с другой программой Python (которая не запускается от имени пользователя root).Однако простая программа тестирования на C работала нормально и создавала файл массива.

Какие проблемы мешают корректной работе Valgrind и массива с программами Python?

1 Ответ

6 голосов
/ 20 июня 2011

Вместо того, чтобы скрипт запускал интерпретатор, непосредственный вызов его в качестве параметра для Valgrind решает проблему.

valgrind --tool=massif python my_script.py
...