У меня есть выделенный сервер с 16 ГБ ОЗУ с Xeon E5504 (8 ядер @ 2.0GHZ), работающий с Centos 7. Я запустил верхнюю команду и вижу, что большую часть времени 7 ядер почти бездействуют, а затем одно одно ядро выходит из строя. Я вижу, что оно превышает 100%, чего я не понимаю.
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 16479600 total, 1233968 free, 616824 used, 14628808 buff/cache
KiB Swap: 523260 total, 499720 free, 23540 used. 15342640 avail Mem
Сервер используется только как веб-хостинг. Apache, MySQL и PHP. Я не внес никаких изменений в apache из его конфигурации по умолчанию. Я слышал, что конфигурация apache по умолчанию поддерживает несколько потоков, но это явно не так.
mysqld и httpd - единственные вещи, использующие большое количество ресурсов. Всего apache получает около 100 тысяч запросов в неделю. Более чем достаточно для этого сервера, но поскольку я продолжаю добавлять больше сайтов, я не хочу его замедлять, поскольку все находится на одном процессоре.
Я прочитал в нем, и кажется, что "prefork" нужно изменить, чтобы apache потреблял больше ресурсов. Я выполнил следующую команду, чтобы увидеть конфигурацию по умолчанию, и не похоже, что prefork даже установлен
/usr/sbin/apachectl -l
Compiled in modules:
core.c
mod_so.c
http_core.c
Я не знаю, как протестировать систему, чтобы узнать текущую конфигурацию и почему используется только одно ядро. Я не заметил значительного увеличения производительности при переносе сайтов с одноядерного VPS низкого уровня на этот сервер, поэтому я беспокоюсь, что что-то не так с конфигурацией.
Я проверил /etc/http/conf/httpd.conf, и все это виртуальные хосты. Нет никаких строк, связанных с максимальным количеством клиентов и другими значениями, которые люди видели в префорке if.
Top сообщает, что ваша система ничего не делает, поскольку она на 100% простаивает.
Поля имеют следующее значение и не указывают конкретные ядра.
us, user : time running un-niced user processes
sy, system : time running kernel processes
ni, nice : time running niced user processes
wa, IO-wait : time waiting for I/O completion
hi : time spent servicing hardware interrupts
si : time spent servicing software interrupts
st : time stolen from this vm by the hypervisor