Как записать вывод cProfile до завершения базового процесса python? - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь отладить очень медленно работающий python скрипт (test.py). Однако во время отладки этот скрипт прекращается, поскольку на моей тестовой машине ему не хватает памяти. Мне нужно профилировать этот скрипт с помощью cProfile. Итак, моя цель - запустить следующее:

python3 -u -m cProfile -o test.profile -s tottime test.py

Однако я не могу записать какой-либо вывод таким образом, поскольку процесс убит, и я понимаю, что cProfile требует, чтобы процесс был завершено.

Как я могу запустить cProfile, чтобы он мог собирать выходные данные до точки прямо перед тем, как процесс будет остановлен? Я пока не хочу профилировать определенные c функции в моем скрипте, а просто получаю высокоуровневые выходные данные cprofile для всего моего скрипта.

Если это невозможно, каков альтернативный подход к выполнению sh это в python -3? Я ищу узкое место в моем процессе без дальнейшего увеличения оперативной памяти. Я использую python v3.6.

Любые предложения будут очень признательны. Спасибо.

...