Избыточное количество спящих процессов в CentOS — как диагностировать?

Избыточное количество спящих процессов в CentOS — как диагностировать?

У меня большое количество спящих процессов, около 600, большинство из которых — процессы Apache.

Стоит ли мне завершить все эти спящие процессы или это приведет к полному отказу Apache?

Почему эти процессы вообще спят?

Сервер работает под управлением CentOS 6 с Apache 2.2.

решение1

Отключение всех спящих процессов вашей системы не решит ни одной проблемы, тем более той, с которой вы столкнулись.


Гораздо лучше иметь структурированный и методичный подход, чем беспорядочно метаться.

Лично я считаю,Научный метод(другие называют эточто-то другое) замечательный инструмент, который можно достать из набора системного администратора при диагностике проблем.

  1. Какую именно проблему вы пытаетесь решить?

Служба перестает отвечать. 1

  1. Итак, теперь мы знаем, какую проблему мы решаем, у нас есть направление. Давайте соберем некоторую информацию, которая поможет нам найти решение.

    • Связана ли проблема со временем? Происходит ли это регулярно или случайно.
    • Проверьте все журналы, а не только журналы конкретных служб, так как проблема может быть вызвана чем-то другим. Записи журналов обычно имеют временные метки, это поможет вам сопоставить события в нескольких приложениях и службах — используйте их. При необходимости увеличьте также подробность журнала.
    • Следите за тем, что делает ваша система. Используйте такие инструменты, как top, vmstat, iostat, sar, ps,tcpdump или даже full blownсистемы мониторинга.

  2. Проанализируйте собранную вами информацию. Что на самом деле происходит в системе, когда служба перестает отвечать? Каково состояние ресурсов системы?

  3. Примите соответствующие меры для исправления. Надеюсь, что все довольно очевидно, что происходит: у вас заканчивается память и OOM killer выходит на сцену, активность подкачки слишком высока, очередь выполнения слишком длинная, вы iobound и т. д. Если это не очевидно, то вы, вероятно, не собираете правильные данные — вы знаете, что делать, вернитесь к 2.

  4. Проследите за тем, какие изменения вносятся в пункт 4.

  5. Устранили ли изменения проблему? Стало лучше? Стало хуже? Нет ли разницы? Куда вы пойдете отсюда, зависит от того, что вы обнаружите. Возможно, вам придется вернуться к 2. и собрать более релевантные данные или 3. повторно проанализировать имеющиеся у вас данные или 4. потому что вы определили ряд потенциальных решений.

  6. Задокументируйте свои выводы и внесенные изменения.

  7. Возвращайтесь в постель/домой с работы/в паб.

1 Это может быть что угодно: «Мой сервер работает медленно», «Мой сервер использует слишком много памяти»...

Связанный контент