Apache似乎没有使用多个核心

我有一台配有16GB内存的专用服务器,运行Centos 7的Xeon E5504(8核2.0GHZ)。我运行了顶层命令,可以看到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 

该服务器仅用作Web主机。 Apache,MySQL和PHP。 我havnt从默认configuration做了任何更改的Apache。 我听说默认的apacheconfiguration支持multithreading,但显然不是这种情况。

mysqld和httpd是唯一使用大量资源的东西。 总共apache每周获得大约10万个请求。 绰绰有余的这台服务器,但作为我继续增加更多的网站,我不想慢下来,因为一切都在同一个CPU上。

我读到它似乎“prefork”需要修改,以使Apache获得更多的资源。 我运行以下命令来查看默认configuration,它看起来不像prefork甚至安装

 /usr/sbin/apachectl -l Compiled in modules: core.c mod_so.c http_core.c 

我不知道如何testing系统知道什么是当前的configuration,为什么只有一个核心正在使用。 将网站从低端单核VPS移动到此服务器时,我并没有注意到性能提高,所以我担心configuration出了问题。

我检查了/etc/http/conf/httpd.conf,所有这些都是虚拟主机。 没有任何与最大客户端相关的行,以及在prefork if语句中使用的其他值。

顶部告诉你的系统没有任何事情,因为它是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