Память и своп переполнены, не могу ssh; любой вариант, кроме физического перезапуска?

По ошибке я запустил некоторые приложения, которые использовали всю память (и я думаю, что swap) на моем сервере Ubuntu, и теперь он завис, SSH не работает и зависает. Знаете ли вы какие-либо другие варианты, кроме следующих решений:

  1. физически перезапустить сервер.
  2. дождитесь окончания процесса

Есть ли способ удаленно перезапустить сервер, когда SSH не работает? я все еще могу пропинговать сервер, поэтому задаюсь вопросом, есть ли зарезервированная память для уничтожения недружественных процессов или для основных команд, таких как перезапуск Os.

* Команды выполняются с "nohup", поэтому они не заканчиваются закрытием сессий ssh.

2 ответа

Решение

Нет, ваша система... в значительной степени готова. Ваши единственные надежды ждут, когда один из них закончится, или если он станет настолько большим, что убийца OOM заметит и что-то с этим сделает.

Похоже, ваша система делает то, что называется поркой. Это означает, что ваша система обменивается страницами в памяти и из нее для используемых систем. Это включает в себя SSH.

У вас на самом деле есть пара вариантов. Первый вариант, конечно, перезагрузить сервер, но, похоже, это не очень-то вариант для вас, потому что он не локальный для вас. Если он находится в центре обработки данных, то вы можете заставить их подойти к нему и перезагрузить его. Вы должны проверить с вашим центром данных.

Второй вариант тоже довольно прост. Ваш SSH-сеанс просто зависает в ожидании замены чего-то, что может выделить для вас tty. Я уже случался со мной раньше, и вам просто нужно дождаться ответа, это может занять довольно много времени. Если у вас есть кли, то вы можете убить или перезагрузить сервер.

Причина, по которой вы можете PING-сервер, на самом деле довольно проста: стек IP ядра (IIRC) не выгружается, поэтому ICMP может ответить.

Третий вариант потребует предварительной настройки, так что я не думаю, что это настоящий вариант для вас прямо сейчас. Вы можете настроить модем, чтобы позволить вам набрать номер и получить последовательную консоль. На этой же ноте вы можете использовать IPMI Serial over LAN (SOL) для получения последовательной консоли. Также IPMI может позволить вам перезагрузить сервер. Еще раз звучит так, как будто они не настроены для вас.

Другие вопросы по тегам