Проблема, работающая python/matplotlib в фоне после окончания ssh сессия

В 32-битной JVM наибольший размер кучи, который вы теоретически можете установить, составляет 4gb. Чтобы использовать большой размер кучи, вам нужно использовать 64-битную JVM. Попробуйте следующее:

java -Xmx6144M -d64

Флаг -d64 важен, так как это говорит о запуске JVM в 64-разрядном режиме.

25
задан Jamie 14 March 2010 в 20:43
поделиться

4 ответа

Похоже, что вы работаете в интерактивном режиме по умолчанию, поэтому matplotlib хочет сначала отобразить все на экране, чего, конечно, он не может сделать.

Попробуйте поставить

ioff()

в верхней части скрипта, а также внести изменения в бэкэнд.

ссылка: http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.ioff

11
ответ дан tshepang 28 November 2019 в 21:28
поделиться

Извините, если это глупый ответ, но если вы просто запускаете консольный сеанс, не хватит ли "screen"? Съемные сеансы и т. Д.

2
ответ дан 28 November 2019 в 21:28
поделиться

Я считаю, что ваш бэкэнд matplotlib требуется X11. Посмотрите в свой файл matplotlibrc, чтобы определить, что у вас по умолчанию (из-за ошибки, я держу пари, что TkAgg). Чтобы работать без X11, используйте бэкэнд Agg. Либо установите его глобально в файле matplotlibrc, либо в скрипте скриптом добавив это в программу Python:

import matplotlib
matplotlib.use('Agg')
23
ответ дан 28 November 2019 в 21:28
поделиться

Если вы работаете в ОС *nix, проблема заключается в том, что ваш сеанс завершается, и все процессы, требующие сеанса, также завершаются, когда вы отсоединяетесь. Более конкретно, всем вашим процессам посылается SIGHUP (сигнал зависания). По умолчанию при обработке SITHUP процесс завершается. Если вы хотите, чтобы ваш сценарий продолжил работу, он должен игнорировать сигнал. Самый простой способ сделать это, если вы запускаете свой скрипт из командной строки, - запустить его с помощью команды nohup:

nohup python scriptToRun.py << start>& logfile.log&

nohup обычно посылает стандартный выход и стандартную ошибку в файл nohup.out в текущем каталоге. Поскольку вы перенаправляете уже выведенный файл nohup.out не будет создан.

0
ответ дан 28 November 2019 в 21:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: