Почему из-за IOWait загрузка ЦП AWS EC2 мгновенно увеличивается на 100%?

У меня есть большое веб-приложение, работающее в AWS с многочисленными экземплярами EC2. Иногда - примерно два или три раза в неделю - я получаю тревожное уведомление от моей системы мониторинга Sensu, уведомляющее меня о том, что один из моих экземпляров имеет 100% CPU.

Это уведомление:

CheckCPU TOTAL WARNING: total=100.0 user=0.0 nice=0.0 system=0.0 idle=25.0 iowait=100.0 irq=0.0 softirq=0.0 steal=0.0 guest=0.0

Host: my_host_name
Timestamp: 2016-09-28 13:38:57 +0000
Address: XX.XX.XX.XX
Check Name: check-cpu-usage
Command: /etc/sensu/plugins/check-cpu.rb -w 70 -c 90
Status: 1
Occurrences: 1

Это, кажется, кратковременное явление, и процессор возвращается к нормальному уровню в течение нескольких секунд. Так что кажется, что-то, чтобы не слишком беспокоиться. Но мне все еще интересно, почему это происходит. Обратите внимание, что процессор занят со 100% IOWaits.

К вашему сведению, система мониторинга Amazon не замечает этого всплеска. Посмотрите на изображения ниже, показывающие ЦП и IOlevels в 13:38

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

Интересно, что AWS сообщает, что этот экземпляр скоро будет удален. Могут ли быть эти два связаны?

введите описание изображения здесь

2 ответа

AWS отображает только 5-минутный период, и похоже, что ваша проверка ЦП настроена на отправку аварийных сигналов после одного вхождения. Если интервал проверки вашего ЦП составляет менее 5 минут, консоль AWS может сворачивать среднее значение, чтобы замаскировать фактический всплеск ЦП.

Я бы порекомендовал сузить консоль мониторинга AWS до меньшего периода времени, чтобы увидеть, есть ли там всплеск.

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

Я заметил, что мои экземпляры ec2 делают это, но гораздо дольше и после apt-get update + upgrade. Я подумал, что это Apache, затем начал использовать Nginx в новом экземпляре для тестирования, и он просто сделал это, запустил apt-get несколько часов назад, а затем вернулся, чтобы найти экземпляр с использованием полного процессора - в течение нескольких часов! Хорошо, что это всего лишь тестовая машина, но мне интересно, что не так с ubuntu/apt-get, которое могло бы быть причиной этого. Отныне я думаю, что после apt-get мне придется перезагружать компьютер, так как это, кажется, единственный способ вернуть его в нормальное состояние.

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