首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多核服务器上只有一个CPU负载

多核服务器上只有一个CPU负载
EN

Server Fault用户
提问于 2009-12-15 07:57:21
回答 1查看 2.3K关注 0票数 0

15天,30分钟,4个用户,平均负荷: 0.89,1.17,1.11任务: 170项,1次运行,169次睡眠,0次停止,0僵尸

代码语言:javascript
复制
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

内存: 8180768k,使用7169736k,免费1011032k,756132k缓冲区交换: 2104472k,24k使用,2104448k免费,5849080k缓存

19033昆根20 0 384 m 45m 19 m S 5 0.6 0:31.52 httpd

19292昆根20 0 375 m 35 m 18 m R 5 0.4 0:15.10 httpd

19474昆根20 0 368 m 26m 16m S 5 0.3 0:04.26 httpd

19344奎努特20 0 373m 34m 18m S 5 0.4 0:13.30 httpd

19351昆根20 0 373m 33米18米S 5 0.4 0:12.82 httpd

19455昆根20 0 369 m 28m 17 m S 5 0.4 0:06.20 httpd

19476昆根20 0 369 m 26m 15 m R 5 0.3 0:04.48 httpd

19478昆根20 0 368 m 25m 14 m S 5 0.3 0:04.40 httpd

19540昆根20 0 367 m 24m 15m S 5 0.3 0:01.28 httpd

19542昆根20 0 367 m 24m 15m S 5 0.3 0:01.26 httpd

19173昆根20 0 379 m 41m 19 m S 4 0.5 0:24.40 httpd

19290昆根20 0 375 m 34m 18m S 4 0.4 0:15.28 httpd

19349昆根20 0 373m 31m 16m S 4 0.4 0:12.86 httpd

19454昆根20 0 369 m 29m 17 m S 4 0.4 0:06.14 httpd

19475昆根20 0 368 m 26m 15m S 4 0.3 0:04.10 httpd

19544昆根20 0 367 m 23m 14 m S 4 0.3 0:01.28 httpd

19099昆根20 0 380 m 42m 20 m S 3 0.5 0:25.90 httpd

19293昆根20 0 374 m 34m 17 m R 3 0.4 0:15.24 httpd

19537昆根20 0 367 m 23m 14 m S 3 0.3 0:01.08 httpd

19545昆根20 0 367 m 23m 14 m S 3 0.3 0:01.16 httpd

19526根20 0 16940 1348 948 R 1 0.0 0:00.16顶部

代码语言:javascript
复制
 1 root      20   0  1064  392  324 S    0  0.0   0:07.62 init

代码语言:javascript
复制
 2 root      15  -5     0    0    0 S    0  0.0   0:00.00 kthreadd    

为什么Apache总是只使用一个CPU?

EN

回答 1

Server Fault用户

发布于 2009-12-15 09:28:19

从负载平均值来看,我怀疑isn服务器不够繁忙(即提供足够多的并发请求),需要大量使用多个CPU。

由于您有许多大部分空闲的httpd进程,您可能会使用MPM预叉,并将MinSpareServers设置在20左右。拥有大量空闲的httpd进程是正常的,这些进程用于帮助Apache在when服务器的流量增加时快速响应。

上面列出的某个时间的瞬时CPU使用量并不能很好地指示长期使用(例如,它可能是一个不幸的示例)。然而,关于CPU #0为何会受到青睐的问题:

  • 具有较低PID的Apache预处理工作进程倾向于做更多的工作(如本评论所证实)。例如,您列出的时间最长的两个进程具有最低的进程ID (19033,19099)。
  • Linux支持在可能的情况下将进程保持在同一个CPU上(为了缓存性能):请参见man任务集(“注意,Linux调度程序还支持自然的CPU关联:调度程序试图将进程保持在同一个CPU上,只要出于性能考虑,时间就尽可能长)。”由于选择随机CPU不是最优的(考虑电源使用),重复使用CPU #0似乎是明智的。

因此,我想说,您的for服务器主要是由几个进程提供服务的,而且出于性能原因,Linux更倾向于在同一个CPU上运行它们。

如果您想了解更多有关Apache的信息,请启用ExtendedStatus指令(取消注释httpd.conf中的适当部分):这将启用一个状态网页,其中包括显示进程及其当前服务的列表。

希望这会有帮助!)

洛克

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/94450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档