Unix CPU空闲%vs负载平均值

Unix CPU空闲%vs负载平均值,unix,cpu-usage,Unix,Cpu Usage,我已经阅读了所有相关问题,但没有找到充分的答案。CPU空闲%和负载如何同时达到平均高?这两个测量值之间的关系是什么。有没有办法通过利用CPU空闲来提高平均负载?提前谢谢 /# top 4 10 load averages: 7.51, 7.75, 7.42; up 26+20:51:52 14:51:35 51 processes: 44 sleeping, 6 on cpu, 1 swapped CPU states: 76.2% idle, 5

我已经阅读了所有相关问题,但没有找到充分的答案。CPU空闲%和负载如何同时达到平均高?这两个测量值之间的关系是什么。有没有办法通过利用CPU空闲来提高平均负载?提前谢谢

/# top 4 10
load averages:  7.51,  7.75,  7.42;                    up 26+20:51:52  14:51:35
51 processes: 44 sleeping, 6 on cpu, 1 swapped
CPU states: 76.2% idle,  5.9% user, 17.9% kernel,  0.0% iowait,  0.0% swap
Memory: 1024M phys mem, 3267M free mem, 2048M total swap, 1519M free swap

   PID USERNAME LWP PRI NICE  SIZE   RES STATE    TIME    CPU COMMAND
  1101 mysql     21  59    0  133M  114M cpu/19 685:21  1.36% mysqld
 47426 www        1  28    0   43M   22M cpu/1    0:13  0.38% httpd
 47543 www        1  30    0   42M   21M cpu/13   0:11  0.37% httpd
 48459 www        1  16    0   41M   19M sleep    0:00  0.37% httpd


/# mysqladmin -uroot -ppass extended-status | grep Threads
| Threads_cached                           | 0           |
| Threads_connected                        | 9           |
| Threads_created                          | 455358      |
| Threads_running                          | 3           |
/#

一天后编辑。 根据所有答案,系统没有压力,但我们仍然会遇到来自系统上网站的长延迟。现在的延迟通常是几秒钟,有时是十几岁或更长时间。是因为i/o吗?如果是,你有什么建议?再次感谢

~# iostat c 1
   tty         cpu
 tin tout  us sy dt id
   0  245   4 30  0 66
   0   32   4 15  0 81
   0   24   3 18  0 79
   0   24   4 25  0 71
   0   24   3 27  0 71
   0   24   2 22  0 75
   0   24   3 21  0 77
   0   24   2 20  0 77
   0   24   4 17  0 79
   0   24   5 21  0 74
   0   24   5 15  0 80
   0   24   6 11  0 83
   0   24   8  8  0 84
   0   25   8 10  0 82
   0   24   7 12  0 81
   0   24   5 16  0 78
   0   24   4 17  0 79
   0   24   2 14  0 83
   0   24   2 13  0 84

我认为您可能需要修改“高”负载平均值的概念。由于您在cpu/19上运行一些东西,所以您的系统中至少有19个cpu线程——可能是24或32个。因此,要使空闲时间降到接近0,您需要的平均负载将超过该值。只有~7个线程时,最多只能使1/4左右的CPU线程处于忙碌状态,因此其他75%的线程将处于空闲状态。

对于无压力的系统,很难提出建议。根据您发布的内容,您的系统似乎正在做正确的事情。你需要提高你的使用率,这样你才能看到瓶颈在哪里。此外,还有其他更高的“跟随者计数”标记会影响cpu的使用。可能是“性能”或“测试”。祝你好运。你说的无应力系统是什么意思,我指的是在提供的数据中你这么说的。你的意思是系统现在还可以吗?如果我试图强调,或加强使用:)你能建议一种方法吗?请澄清你所说的“系统上的网站”是什么意思。你是说多个网站在同一台服务器上运行,还是说你正在连接到远程网站?同样,如果你花一些时间寻找跟随者比你的
cpu使用率更多的标签,你会得到更好的答案。这真的变成了一个不同的问题,你最好发布一个新问题,更紧密地关注手头的问题。最后,用vmstat输出的小样本替换iostat输出。祝你好运。@ngungo:这就是我要说的。约70%的系统空闲是一个无应力系统(在我看来)。测试的“增强”需要计划。如果你有一个开发系统,然后问“我如何才能模拟10倍或20倍的当前负载,我需要什么来获得它?更大的输入文件?虚假的用户输入(如果是网站),或者???。只有你知道你的系统。有很多关于性能测试的书。如果你希望你的系统使用量增加4倍(这可能会使你的空闲时间减少到5%),那么最好现在就进行测试,而不是在系统有3分钟的响应时间时进行测试。:)感谢Chris的快速响应。我订阅了1 CPU和1GB内存的Joyent SmartMachine Plus instant,如果这些信息可以增强对我问题的理解。您的回答让我想到另一个问题,我如何知道最大CPU threads?@Shelleter:我明白了。谢谢你的提示。我想我能做到。我在某个地方读到,平均负载应该是每个CPU 3个左右。5个相当高。@ngungo:取决于系统。在linux上,cat/proc/cpuinfo
会告诉你,嗯……我已经试过了。我的系统没有/proc/cpuinfo文件。我必须多看看。Thanks。