我想知道在哪些 CPU 百分比可以被视为安全范围内以及平均负载?哪些指示会发出服务器出现故障的信号?
top - 22:55:51 up 3 days, 6:39, 1 user, load average: 0.53, 0.43, 0.37
Tasks: 229 total, 2 running, 227 sleeping, 0 stopped, 0 zombie
Cpu0 : 16.2%us, 0.7%sy, 0.0%ni, 82.8%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
Cpu1 : 10.5%us, 0.7%sy, 0.0%ni, 88.5%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
Cpu2 : 9.0%us, 0.0%sy, 0.0%ni, 91.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu3 : 0.3%us, 0.3%sy, 0.0%ni, 99.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu4 : 1.0%us, 0.0%sy, 0.0%ni, 99.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu5 : 44.8%us, 2.6%sy, 0.0%ni, 37.0%id, 0.0%wa, 9.4%hi, 6.2%si, 0.0%st
Cpu6 : 3.0%us, 0.0%sy, 0.0%ni, 96.7%id, 0.0%wa, 0.0%hi, 0.4%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: 16468596k total, 2423908k used, 14044688k free, 200172k buffers
答案1
不要太关注单个 CPU % 数字,而要留意load average
。这些数字将让您了解系统是否“超载”。
平均负载的 3 个值表示在过去 1、5 和 15 分钟内系统的使用率百分比。例如,单 CPU 系统的平均负载值为 1.0,表示其 CPU 资源利用率为 100%,进程需要排队等待空闲资源才能进行处理。对于具有多个 CPU 的系统,将平均负载数除以系统中的处理器数量。例如,值为 8.0 表示系统利用率为 100%。
您的示例中load average: 0.53, 0.43, 0.37
表明,您的系统在过去一分钟内 CPU 资源利用率为 6.6%,在过去 5 分钟内 CPU 资源利用率为 5.3%,在过去 15 分钟内 CPU 资源利用率为 4.6%(这相当低)。
让你感到害怕的数字是相对的,但一般来说,如果可能的话,你不会希望以 75% 以上的持续利用率运行。我这样说只是因为,当这个数字或更高时,服务器的温度会升高,风扇会开始全速运转,电力系统的负载会更大,服务器所在的房间也会更热(这会影响其他系统的冷却和空调成本)。此外,由于长时间使用风扇和高温,系统的寿命也可能会缩短。
请记住,您的系统能够超过 100% 的利用率,事实上,如果负载过重,利用率可能会相当高。峰值并不少见(例如备份、互联网流量峰值、系统更新等),并且通常只有在它影响到您的客户、网站或服务,或者您的系统长时间处于高负载下运行时,您才需要担心,正如我上面所述。
您可以快速使用该uptime
命令查看加载时间。
希望这可以帮助!
答案2
“安全”范围完全取决于该服务器的用途,以及您准备接受的高负载。
没有现成的答案;一些公司希望他们的服务器总利用率永远不要超过 50%,而有些公司并不关心,只要一切都按时完成即可。
您首先要了解这个盒子的预期用途,然后以此为基础开展工作。
答案3
我认为你已经接受了这些指标可以显示你的服务器的性能的想法——事实并非如此,高值将表明性能如何受限制这是非常不同的事情。
我没有在您提供的数据中看到任何迹象表明该服务器的性能受到 CPU、磁盘 I/O 或内存的限制。
如果你想知道此框提供的服务是否受到性能的不利影响,那么衡量服务请求所需的时间