У меня есть сервер Debian 9, и нагрузка превышает 4000. "top" утверждает, что 18 132 спящих процесса.
Изначально я видел много процессов "ps", сотни, поэтому я убил их всех по имени.
В настоящее время я не вижу никаких проблемных процессов, но нагрузка остается. Далее я не могу выполнить удаленную перезагрузку. Он утверждает, что система выходит из строя для перезагрузки, но ничего не происходит. Если я открою другой терминал, он все равно будет работать.
Как мне избавиться от этих резервных копий процессов, кроме как перезагрузить кого-нибудь на месте?
Спящие задачи не увеличивают вашу среднюю нагрузку. Выполняемые задачи есть, плюс в Linux TASK_UNINTERRUPTIBLE, который обычно является вводом-выводом.
Новая оболочка может быть достаточно отзывчивой, поскольку планировщик отдает приоритет интерактивным пользователям. Но делать значительную работу, а дела идут очень медленно.
Найдите и остановите любой сценарий или службу, запускающую больше этих процессов. Потом убивайте задачи. Скорее всего, для этого потребуются ваши любимые скрипты управления задачами (ps
, pkill
) и терпение при зависшей системе.
Чистая перезагрузка приведет к быстрому реагированию, но, вероятно, потребует целую вечность, чтобы процессорное время завершило несколько тысяч задач. Получите удаленный внеполосный способ отключения питания: BMC для физического устройства или консоль гипервизора для виртуальной машины.
Меры предотвращения включают ограничения задач для каждого пользователя. Для pam_limits в Linux: nproc
линии в /etc/security/limits.d/
файлы.