Может ли процесс, который был запущен в сеансе tmux, заснуть? Если да, то какова причина (причины), как предотвратить это?
Пример причины вопроса: вчера я начал процесс на сервере (обучая нейронные сети, он выводит текущую эпоху обучения на стандартный вывод). У меня было разделенное окно, и в том, в котором запущен процесс, я отключил режим прокрутки перед отключением от сеанса.
Сегодня я возвращаюсь, и это не сделало никакого прогресса вообще.
Точнее, эпоха такая же. После выхода из режима прокрутки, теперь он счастливо продолжился.
Журнал читает что-то вроде
...
Эпоха 40: 1ч несколько минут
Эпоха 41: 12 ч несколько минут
Epoch 42: 12h еще несколько минут
...
Эпоха 73:13
Это означает, что время, которое потребовалось, чтобы добраться от эпохи 0 до 49, было определенно меньше чем два часа; с эпохи 40 до 41 года это заняло около 11 часов (!), с эпохи 41 до 76 среднее время за эпоху составляло около 1,7 минуты. Эпохи находятся в цикле, и не должно быть причины, почему один занимает в 400 раз больше времени, чем другие.
Дополнительная информация: этот «сон» не происходит каждый раз, когда я отсоединяюсь, находясь в режиме прокрутки. Но это уже случилось раньше. Режим прокрутки может вообще не иметь к этому никакого отношения.
Программа представляет собой скрипт на языке Python, включающий в себя код тензорного потока, работающий на графическом процессоре; команда для запуска была:
python train_script.py 2>&1 | tee train_log.txt.
Для tmux я использую tmux attach
для повторного присоединения, стандартное сопоставление клавиш и ctrl-b + d
для отсоединения, ctrl-b + up(number block)
для начала прокрутки, q
для выхода из режима прокрутки.