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

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

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

Почему эти процессы спят в первую очередь?

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

1 ответ

Решение

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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