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

Микроинстанс Amazon EC2 использует 100% ЦП

Мой микроинстанс Amazon EC2 очень часто использует 100% ЦП. У меня на нем только установка wordpress. Я все еще нахожусь в производственном режиме, поэтому пользователей нет, но у меня 100% загрузка ЦП.

Кто-нибудь знает как его уменьшить? Я получаю уведомления по электронной почте Amazon каждый час, потому что это длится более 300 секунд.

Я уже переместил свою базу данных в RDS, но не решил эту проблему. Просто стало немного лучше. До перехода на RDS с моей базой данных мой веб-сайт всегда полностью падал при загрузке только одной веб-страницы.

Мой mysqld.log выдает ошибку errno 12, поэтому я также сделал innodb_buffer_pool_size = 256M в my.cnf, но ничего не принес.

Буду благодарен за каждый отзыв.

На самом деле ваша проблема может быть связана с «кражей ЦП», которая происходит в стеке Amazon (и, фактически, в любой виртуализированной инфраструктуре). Вы можете узнать больше о краже процессора Вот.

По сути, ваша виртуальная машина простаивает, и Amazon «заимствует» часть ваших циклов ЦП, чтобы передать кому-то еще, кто в ней нуждается - это стандартная практика для виртуализированной среды, где ресурсы физического сервера, такие как использование ОЗУ и циклы ЦП, часто чрезмерно загружены. .

Чтобы проверить кражу ЦП, запустите top и взгляни на %st значение выделено здесь:

Если это значение отличное от нуля, это означает, что циклы ЦП вашей виртуальной машины «заимствованы».

Имейте в виду, что m2.micro экземпляры просто так - они маленькие. Любая реальная нагрузка приведет к их максимальной нагрузке.

Как отметил @zvik в своих комментариях, вы должны выяснить, какие процессы потребляют больше всего памяти и / или циклов процессора. Он рекомендовал бегать top, которая присутствует в дистрибутивах Linux. Нажимая Shift-P, он будет отсортировать их по загрузке ЦП. Вам нужно будет использовать эту информацию, чтобы выяснить, где находится узкое место. Например, если он работает под управлением Apache, конфигурация по умолчанию для Apache может быть так, чтобы запускать больше процессов, чем сервер способен.

Попробуйте бежать top и посмотреть, какие команды потребляют больше всего ресурсов.