Почему из-за 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 мне придется перезагружать компьютер, так как это, кажется, единственный способ вернуть его в нормальное состояние.