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

Как я могу диагностировать и исправить частую 100% загрузку процессора из ядра?

У меня есть микро-экземпляр Amazon EC2 со старым ядром 2.6.16. Он запускает postfix, apache и mysql. При нормальных нагрузках его средняя нагрузка составляет около 0,05, и так работает 95% времени или около того. Однако несколько раз в день (или около того) загрузка ЦП возрастает до 100%, и система становится практически непригодной для использования. Обычно это длится примерно 5 минут, затем нагрузка возвращается в норму.

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

Как мне диагностировать причину этой нагрузки и, что более важно, исправить?

Каков процент времени CPU "iowait" и "steal" в эти периоды?

Iowait обозначает количество времени, которое процессор тратит на ожидание завершения запросов ввода-вывода, а процент кражи обозначает процессорное время, запрошенное ядром, но отклоненное гипервизором.

EC2 t1.micro экземпляры очень Ограничение ЦП и ввода-вывода. Они могут прерываться на очень короткое время, после чего подвергаются серьезному троттлингу ЦП. В следующий раз, когда это произойдет, обратите внимание на %wa и %st на выходе top. Я уверен, что у одного или обоих из них высокий процент процессорного времени.

Чтобы смягчить последствия, вам нужно найти источник нагрузки ввода-вывода и / или процессора или, альтернативно, изменить размер вашего экземпляра до m1.small.