Сбой сценария Python 2.7 Ubuntu 16.04: как найти причину? - PullRequest
0 голосов
/ 03 апреля 2019

Я запускаю сложную программу на Python, которая требует вычислительных затрат.

Несмотря на то, что он сложен с точки зрения количества строк кода, сам код прост: он не является многопоточным, не многопроцессным и не использует никакой «внешней» библиотеки, за исключением установленного colorama. через пункт.

Программа не требует большого объема памяти.

Когда я запускаю его и наблюдаю через «htop», он показывает, что один (из восьми) процессор используется скриптом на 100%, и используется около 1,16 ГБ (из 62,8 ГБ) памяти (это число остается более или менее устойчивым).

Через некоторое время (от 10 до 20 минут) запуска сценария мой рабочий стол ubuntu dell под управлением ubuntu 16.04 систематически зависает. Я могу двигать мышь, но щелчки не работают, клавиатура не отвечает, а запущенные программы (например, htop) зависают. Я могу только (трудно) перезагрузиться. Обратите внимание, что последний кадр, отображаемый htop, не показывает ничего неожиданного (например, не используется больше памяти).

У меня никогда не было таких зависаний, когда я не запускаю программу python.

Я не делаю ничего особенного параллельно с запуском скрипта, кроме просмотра с помощью firefox или работы с почтой с помощью thunderbird (то есть ничего, что не использовало бы ЦП или ОЗУ значимым образом).

Я напечатал следы в своем коде Python: он никогда не падает в том же состоянии.

Я также печатаю журналы ядра в другом терминале: во время остановки ничего особенного не печатается.

Я не использую IDE и запускаю скрипт прямо из терминала.

В поисках похожих проблем, похоже, что они обычно связаны с чрезмерным использованием памяти, что, похоже, не в моем случае.

Понятия не имею, как исследовать эту проблему.

...