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

как я могу понять, почему apache потребляет так много процессора - ec2

У меня запущен экземпляр ec2 c3.medium. Недавно он начал загружать процессор до максимума, из-за чего сервер не отвечает. Перезагрузка экземпляра действительно не помогает надолго, хотя она заставляет apache снова обслуживать сайты в течение часа или около того.

Когда я смотрю наверх, я вижу, что работают различные процессы apache, это значение колеблется между 10 и 1, а процент использования ЦП колеблется примерно до 30%.

Когда он достигает максимума, именно эти процессы apache являются проблемой /

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

снимок главного резюме здесь

top - 16:06:32 up 33 min,  2 users,  load average: 1.80, 1.67, 2.13
Tasks:  87 total,   2 running,  85 sleeping,   0 stopped,   0 zombie
Cpu(s): 55.4%us,  2.6%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.0%hi,  0.0%si, 42.0%st
Mem:   3842540k total,  1698436k used,  2144104k free,    87556k buffers
Swap:  1048572k total,        0k used,  1048572k free,   501328k cached




 2088 apache    20   0  707m  75m  31m S 17.9  2.0   0:53.59 /usr/sbin/httpd
 2188 apache    20   0  698m  70m  27m S 17.9  1.9   0:59.35 /usr/sbin/httpd
 1613 mysql     20   0  885m 200m 6860 S 10.6  5.4   3:41.55 /usr/libexec/mysqld
 2197 apache    20   0  698m  86m  44m S  5.6  2.3   0:53.89 /usr/sbin/httpd
 1864 apache    20   0  698m  78m  35m S  1.7  2.1   0:55.13 /usr/sbin/httpd
 2097 apache    20   0  699m  87m  43m S  1.7  2.3   0:54.70 /usr/sbin/httpd

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

Спасибо.

ОБНОВЛЕНИЕ: не получил ответа на свой вопрос в комментариях, но, что интересно, проблема просто разрешилась сама собой после того, как это произошло в течение примерно двух недель, что наводит на мысль, что AWS крадет слишком много ЦП, а не является проблемой с нашей настройкой. Кто-нибудь комментирует этот вывод?

  1. Load average > 1 != bad, тебе нужно понять это лучше.
  2. Который 42.0%st в линейке CPU не хорошо. То есть "Украсть время" Это означает, что на вычислительном хосте, на котором вы находитесь, вероятно, превышена подписка, и 42% циклов ЦП приходится на другие экземпляры, а не на ваш.
  3. Бегать apachectl fullstatus и ищите рабочих в W штат. Они расскажут вам, какие запросы Apache обслуживает в данный момент.