Мікропримірник Amazon EC2 має 100% використання процесора


9

Мікроприклад Amazon EC2 дуже часто використовує 100% процесора. У мене є лише установка wordpress на ньому. Я все ще в режимі виробництва, тому користувачів немає, але я отримую 100% використання процесора.

Хтось знає, як її зменшити? Я отримую повідомлення від Amazon по електронній пошті щогодини через те, що триває протягом понад 300 секунд.

Я вже перемістив свою базу даних на RDS, але не вирішив цю проблему. Це просто зробило це трохи краще. Перед переходом на RDS за допомогою моєї бази даних мій Веб-сайт завжди повністю вийшов з ладу при завантаженні лише однієї веб-сторінки.

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

Буду вдячний за кожну пораду.


1
вам потрібно стежити за своїм примірником, щоб побачити, що відбувається. Ви не кажете, яку ОС ви використовуєте, але якщо Linux, то швидко і легко, це верх. Більш тривалий термін ви повинні розглянути щось інше.
користувач9517

У верхній команді linux який процес з'їдає ваш процесор. Натисніть (Shift + P), щоб сортувати процеси за використанням процесора. Дякую Sandeep
ZVIK

Дякую @lian! Так, я використовую Linux. Так це нормально, що це просто дуже часто йде до 100% процесора? Я вже спостерігаю за цим сигналом тривоги і кілька разів на день отримую це набридливе сповіщення про тривогу по електронній пошті. Ви маєте на увазі, що Ec2 цього не вартує, особливо не з невеликими пакетами, лише коли інвестуєте багато? Дякуємо за допомогу
Jaba L

Дякуємо @ZVIK за вашу допомогу! Чи можете ви поясніть це трохи детальніше. Я думаю, я ще не розумію цього. Де я можу натиснути (Shift + P). У командному рядку SSH? Вибачте за мою недосвідченість. Ще одна річ, яка з’являється - це те, що мій SSH-термінал через деякий час стає дуже повільним. Набрати команду ssh і отримати відповідь іноді потрібно дуже довго, це дуже затягується. Я думаю, це також через використання процесора. Тільки перезапустивши команди "sudo service httpd stop / start" та "sudo service mysqld restart", я знов запускаю її швидше. Але це триває недовго.
Джаба Л

@Jaba Л.І. припустимо, у коді є витік пам'яті
ZVIK

Відповіді:


7

Майте на увазі, m2.microекземпляри саме такі - вони маленькі. Будь-яка реальна кількість навантаження дозволить їм максимум.

Як зазначив @zvik у своїх коментарях, ви повинні з'ясувати, які процеси займають найбільше циклів пам'яті та / або процесора. Він рекомендував запустити top, що є командою, знайденою в дистрибутивах Linux. Натискаючи Shift-P, їх буде сортувати на основі використання процесора. Вам потрібно буде використовувати цю інформацію, щоб визначити, де знаходиться вузьке місце. Наприклад, якщо на цьому запущено Apache, конфігурація за замовчуванням для Apache може запускати більше процесів, ніж сервер здатний.

Спробуйте запустити topта побачити, які команди споживають найбільше ресурсів.


1
Я перевірив це, і Apache бере більшу частину ресурсів. m2.micro дійсно завантажується так легко. Я думав, що міг би використовувати мікро для невеликого виробничого майданчика, але це, на жаль, взагалі можливо. Дякуємо за допомогу
Jaba L

15

Ваша проблема може насправді перейти до "викрадення процесора", що відбувається через стек Amazon (і фактично будь-яку віртуалізовану інфраструктуру). Більше про крадію процесора ви можете прочитати тут .

По суті, ваш VM простоює, а Amazon "запозичує" деякі з ваших процесорних циклів, щоб подарувати комусь іншому, хто цього потребує - це стандартна практика для віртуалізованого середовища, де такі фізичні ресурси сервера, як використання оперативної пам'яті та цикли процесора часто сильно переймаються .

Щоб перевірити наявність крадіжок процесора, запустіть topі подивіться на %stзначення, виділене тут:

верхній вихід команди

Якщо це значення є іншим, ніж нульовим, це означає, що цикли CPU вашого VM "запозичуються".


1
Дякую @ Craig-Watson за вашу відповідь. Я щойно перевірив% st і він знаходиться між 0-5%. Спасибі за посилання теж було дуже інформативним
Jaba L
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.