系统监视器从哪里计算其利用率百分比值?
我需要在特定时刻获取这些值,以进行一些基本的负载平衡。
答案1
我猜它的值来自/proc/loadavg
。它给出的值是标准的 unix 负载平均值,需要进行一些调整才能得到您期望的值 - CPU 使用率百分比。
简单来说,在单核系统上,平均负载1.00
相当于 100% 的 CPU 使用率。在四核系统上,相当于4.00
100% 的平均负载,等等。
要获取瞬时负载,请检查第四个字段的第一个数字/proc/loadavg
:
$ cat /proc/loadavg
0.00 0.00 0.00 1/570 4471
在本例中,值为1
。这表示任务队列中有一项。
如果你真的认为你需要立即的负载,那么您可以使用该值。但我不推荐这样做,因为它会非常不稳定,并且不能很好地反映系统的实际情况。使用此值进行负载平衡可能会在您的系统中产生过多的流失,这不是理想的。负载平均的价值观就在那里——它们可以更好地反映系统当前正在处理的事情。