Чрезмерное количество спящих процессов в CentOS - как диагностировать?
У меня есть большое количество спящих процессов, около 600, большинство из которых - процессы Apache.
Должен ли я убить все эти спящие процессы, или это приведет к полной неудаче Apache?
Почему эти процессы спят в первую очередь?
Сервер работает под управлением CentOS 6 с Apache 2.2.
1 ответ
Уничтожение всех спящих процессов в вашей системе не решит никаких проблем, не говоря уже о проблеме, с которой вы столкнулись.
Быть структурированным и методичным в вашем подходе намного лучше, чем дико болтаться.
Лично я считаю Scientific Method (другие называют это чем-то другим) прекрасным инструментом, который можно вытащить из пакета системного администратора при диагностике проблем.
- Какую реальную проблему вы пытаетесь решить?
Служба перестает отвечать.1
Итак, теперь мы знаем, что на самом деле мы решаем, у нас есть какое-то направление. Давайте соберем некоторую информацию, чтобы помочь нам найти решение.
- Связано ли время проблемы? Это происходит регулярно или случайно.
- Проверьте свои журналы, все они, а не только журналы определенных служб, поскольку что-то еще может вызывать проблему. Записи журнала, как правило, имеют временные метки, чтобы помочь вам сопоставить события между несколькими приложениями и службами - используйте их. При необходимости также увеличьте детализацию журнала.
- Посмотрите, что делает ваша система. Используйте такие инструменты, как top, vmstat, iostat, sar, ps, tcpdump или даже полнофункциональные системы мониторинга.
Проанализируйте информацию, которую вы собрали. Что на самом деле происходит в системе, когда служба перестает отвечать? Каково состояние ресурсов системы?
Примите соответствующие меры для исправления. Надеюсь, что это довольно очевидно, что у вас недостаточно памяти, и OOM killer выходит, чтобы играть, ваша активность свопинга слишком высока, ваша очередь запуска слишком длинная, вы свободны и т.д. Если это не очевидно, тогда вы ' Возможно, вы не собираете правильные данные - вы знаете, что делать, вернитесь к 2.
Следите за изменениями, внесенными в 4. сделать.
Изменения решили проблему? Это лучше? Это хуже? Разницы нет? Куда вы идете отсюда, зависит от того, что вы найдете. Возможно, вам придется вернуться к 2. и собрать больше соответствующих данных или 3., чтобы повторно проанализировать, какие данные у вас есть, или 4., потому что вы определили ряд потенциальных решений.
Документируйте свои выводы и сделанные вами изменения.
Возвращайтесь в кровать / домой с работы / в паб.
1 Это может быть что угодно, хотя "Мой сервер работает медленно", "Мой сервер использует слишком много памяти"...