Назад | Перейти на главную страницу

Чрезмерное количество спящих процессов в CentOS - как диагностировать?

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

Должен ли я убить все эти спящие процессы или это приведет к полному сбою Apache?

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

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

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


Лучше быть структурированным и методичным в своем подходе, чем дико мечтать.

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

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

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

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

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

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

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

  4. Следите за тем, что делают изменения, внесенные в 4..

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

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

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

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