Перезагрузка требовалась. Ожидание его ни к чему не привело случай.
После дальнейшего расследования было обнаружено, что была утечка памяти в пользовавшейся библиотеке Perl IMAP. Первоначально, я настроил сценарий Perl для загрузки всех почтовых ящиков в массив (от текстового файла, на который ссылаются от аргумента 1 на командной строке), затем цикл через них выполняющий код миграции для каждой учетной записи. Для каждого повторения цикла сценарий вошел в систему обоих исходный почтовый сервер и целевые почтовые серверы, выполнил код миграции, затем вышел из обоих почтовых серверов. Это в конечном счете съело всю доступную RAM, затем вся доступная ПОДКАЧКА, до наконец init
уничтоженный процесс.
Я думал, что ускорю вещи: Я использовал screen
выполнять 9 из этих процессов, каждого на различном наборе учетных записей. После запуска девяти из этих процессов, система, которую быстро замедляют к проверке, затем прекратил отвечать все вместе. Я предполагаю init
в конечном счете уничтожил бы все процессы Perl, но сколько времени будет тот взятый приют? Таким образом перезагрузка требовалась.
Я изменил свой сценарий миграции Perl, чтобы сделать одну учетную запись, затем выйти. Затем я настроил цикл удара как это для цикличного выполнения через все учетные записи, полученные от того же текстового файла:
# cat run_migration4.sh
#!/bin/bash
FILE=$1
# read $FILE using the file descriptors
exec 3<&0
exec 0<$FILE
while read line
do
# use $line variable to process line
echo line: $line
./migration4.pl $line
done
exec 0<&3
Это работало чрезвычайно хорошо. Я смог выполнить девять из них на одной экранной сессии, и они все подняли незначительную сумму RAM, нет где около предела 4G сервера. Среднее число загрузки сервера никогда не добиралось выше 2 или 3. Все завершились без проблемы.
Я не думаю, что вы можете - вы не видите пароль или интерактивную клавиатуру в разделе «Аутентификация, которая может продолжаться». Вам нужно будет подключиться через консоль и разобраться. Ваш демон ssh не разрешает аутентификацию по паролю (т. Е. Не предлагает вам такой возможности).
Добавьте -o PasswordAuthentication
ssh -v -p XXXX -o PasswordAuthentication XXX.XXX.XXX.XXX
Если ваш сервер позволяет это, вы сможете использовать пароль вместо ключа.
Вы должны получить другой способ входа на этот компьютер (например, через консоль) и установить
PasswordAuthentication yes
в вашем sshd_config