3

У меня очень интенсивная вычислительная программа (которую я написал на python), и, начав два дня назад, я запустил 6 ее копий параллельно (используя 6 терминалов Cygwin на Mac Book Pro с Windows7 в bootcamp). Этого было достаточно, чтобы максимально использовать мою 4-ядерную (8 логических ядер от гиперпоточности) машину. По какой-то причине, после 2,5 дней, хотя все 6 процессов все еще работают, мои процессоры загружены менее чем наполовину. Когда я использую диспетчер задач, я вижу 60% простоя и 3 из 6 процессов python2.7 требуют 13%, а 3 процесса python2.7 требуют 0%. Я хотел бы, чтобы они снова максимально использовали возможности моей машины.

Для каждого из процессов я повышал приоритет до «Высокий» или в реальном времени, но это, похоже, не имело никакого эффекта. Как я могу заставить эти программы снова стать активными и использовать как можно больше ЦП? Эти процессы имеют важную информацию о состоянии, которую я хотел бы сохранить - есть ли в любом случае принудительный дамп программы, а затем возобновление из этого дампа с тем же состоянием? Также есть предположения о том, почему эти программы перестают использовать полную мощность через несколько дней (я думаю, что из-за какой-то проблемы с перегревом они переводятся в состояние сна, но я понятия не имею)? Благодарю.

Редактировать: дополнительная потенциально важная информация включает в себя, эти процессы могут делать интернет-запросы и файлы чтения / записи, которые, как я понимаю, могут привести к блокировке. Тем не менее, файл, в который они все записывают, был успешно обновлен, так как они, казалось, остановились (одним из 13% процессов), и эти активные процессы также успешно сделали веб-вызовы ...

1 ответ1

0

Тайна (к сожалению) разгадана: скрипты как-то зависли при попытке сделать веб-вызов (хотя другие копии продолжали успешно делать это). Мне пришлось жестко убить процессы и потерять некоторое сгенерированное состояние, но я реструктурировал свою программу так, чтобы она всегда сохранялась перед выполнением веб-вызова, чтобы не потерять состояние, если это произойдет в будущем. К сожалению, решение не было более захватывающим - не похоже, что процессы могут находиться в состоянии сна, как я думал, что происходило.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .