Непонятная загрузка процессора в состоянии сервера apache

apache server-status ( mod_status) показывает очень низкую загрузку процессора, хотя я вижу более 90% в верхнем выводе.

Показано на странице состояния сервера:

CPU Usage: u92.17 s14.87 cu0 cs0 - .0178% CPU load

С верхнего вывода:

1187 apache    20   0  439m 204m 6000 S 23.2  6.8   0:24.52 /usr/sbin/httpd

Почему это происходит? Можем ли мы использовать страницу состояния сервера, чтобы проверить использование процессора Apache?

(показанный верхний вывод не полон, так как в нем много запущенных http-процессов и много ЦП... Несмотря на то, что он превышает совокупный показатель в 300%, он все равно показывает 0,224% на странице состояния сервера!)

Пожалуйста, обратите внимание, что это не то же самое, что как этот запутанный результат на результаты состояния сервера Apache

1 ответ

Решение

Две вещи, которые могут помочь вам понять, что вы видите:

  1. Нагрузка 0,0178% от состояния сервера - это средняя загрузка ЦП с момента запуска Apache. Это просто не поднимет всплески загрузки процессора, как то, что вы видите в топе. Из ваших цифр я бы предположил, что Apache был запущен примерно 7 дней назад ( (92.17+14.87)/0.0178*100/86400=6.96).
  2. Скорее всего, в верхней части будут перечислены несколько процессов "http", по крайней мере, в режиме prefork (не уверены в рабочем режиме). Одним из них будет "родительский" процесс, а остальными являются все его дочерние элементы, обслуживающие запросы по мере необходимости. У некоторых детей может быть больше использования процессора / памяти, чем у других.

Загрузка ЦП из состояния сервера полезна в качестве среднего показателя того, сколько ЦП использует Apache, но в основном бесполезна для распознавания пиков нагрузки, из которых вершина гораздо полезнее.

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