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

Только одна загрузка ЦП на многоядерном сервере

наверх - 01:50:56 вверх 15 дней, 30 мин, 4 пользователя, средняя нагрузка: 0,89, 1,17, 1,11 Задачи: всего 170, 1 работает, 169 спит, 0 остановлено, 0 зомби

Cpu0  : 56.6%us,  5.7%sy,  0.0%ni, 36.8%id,  0.0%wa,  0.0%hi,  0.9%si,  0.0%st
Cpu1  :  0.9%us,  0.0%sy,  0.0%ni, 99.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu2  :  8.3%us,  0.9%sy,  0.0%ni, 90.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu3  :  1.0%us,  1.0%sy,  0.0%ni, 98.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu4  :  9.3%us,  1.2%sy,  0.0%ni, 88.4%id,  0.0%wa,  0.0%hi,  1.2%si,  0.0%st
Cpu5  :  0.9%us,  0.0%sy,  0.0%ni, 99.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu6  :  3.7%us,  0.9%sy,  0.9%ni, 94.4%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu7  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

Mem: всего 8180768k, использовано 7169736k, 1011032k свободно, 756132k буферов Swap: всего 2104472k, использовано 24k, 2104448k свободно, 5849080k кэшировано

19033 quinroot 20 0 384m 45m 19m S 5 0,6 0: 31,52 httpd
19292 quinroot 20 0 375m 35m 18m R 5 0.4 0: 15.10 httpd
19474 quinroot 20 0 368m 26m 16m S 5 0,3 0: 04,26 httpd
19344 quinroot 20 0 373m 34m 18m S 5 0,4 0: 13,30 httpd
19351 quinroot 20 0 373m 33m 18m S 5 0,4 0: 12,82 httpd
19455 quinroot 20 0 369m 28m 17m S 5 0,4 0: 06.20 httpd
19476 quinroot 20 0 369m 26m 15m R 5 0,3 0: 04,48 httpd
19478 quinroot 20 0 368m 25m 14m S 5 0,3 0: 04,40 httpd
19540 quinroot 20 0 367m 24m 15m S 5 0,3 0: 01,28 httpd
19542 quinroot 20 0 367m 24m 15m S 5 0,3 0: 01.26 httpd
19173 quinroot 20 0 379m 41m 19m S 4 0.5 0: 24.40 httpd
19290 quinroot 20 0 375 м 34 м 18 м S 4 0,4 ​​0: 15,28 httpd
19349 quinroot 20 0 373m 31m 16m S 4 0,4 ​​0: 12,86 httpd
19454 quinroot 20 0 369m 29m 17m S 4 0.4 0: 06.14 httpd
19475 quinroot 20 0 368m 26m 15m S 4 0,3 0: 04.10 httpd
19544 quinroot 20 0 367m 23m 14m S 4 0,3 0: 01,28 httpd
19099 quinroot 20 0 380m 42m 20m S 3 0,5 0: 25,90 httpd
19293 quinroot 20 0 374m 34m 17m R 3 0,4 0: 15,24 httpd
19537 quinroot 20 0 367m 23m 14m S 3 0,3 0: 01.08 httpd
19545 quinroot 20 0 367m 23m 14m S 3 0,3 0: 01,16 httpd
19526 корень 20 0 16940 1348 948 R 1 0,0 0: 00,16 верх
1 корень 20 0 1064 392 324 S 0 0,0 0: 07,62 инициализации
2 корень 15-5 0 0 0 S 0 0,0 0: 00.00 kthreadd

Почему Apache всегда использует только один процессор?

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

Поскольку у вас много простаивающих процессов httpd, вы, вероятно, используете Предварительные вилки MPM и для MinSpareServers установлено около 20. Наличие некоторого количества простаивающих процессов httpd является нормальным явлением, они используются, чтобы помочь Apache быстро реагировать, когда трафик на ваш веб-сервер увеличивается.

Приведенный выше список мгновенного использования ЦП в какое-то время не очень свидетельствует о долгосрочном использовании (например, это может быть неудачный образец). Однако что касается того, почему CPU №0 может быть предпочтительнее:

  • Предварительные рабочие процессы Apache MPM с более низкими PID, как правило, выполняют больше работы (как подтверждено этим комментарием). Например, два перечисленных вами процесса с наибольшим значением TIME имеют наименьшие идентификаторы процесса (19033, 19099).
  • Linux предпочитает сохранять процессы на одном ЦП, где это возможно (для производительности кеша): см. Man taskset («Обратите внимание, что планировщик Linux также поддерживает естественную привязку к ЦП: планировщик пытается удерживать процессы на одном ЦП настолько долго, насколько это возможно, из соображений производительности. . "). Поскольку выбор случайного ЦП не является оптимальным (учитывайте потребление энергии), повторное использование ЦП № 0 кажется разумным.

Итак, я бы сказал, что ваш веб-сервер в основном обслуживается парой процессов, и Linux предпочитает запускать их на одном процессоре из соображений производительности.

Если вам нужна дополнительная информация о процессах Apache, включите ExtendedStatus директива (раскомментируйте соответствующий раздел в httpd.conf): это включает веб-страницу состояния, которая показывает, среди прочего, список процессов и то, что они в настоящее время обслуживают.

надеюсь это поможет! :)

Локки