负载平均:哲学?

负载平均:哲学?

假设我在一家公司工作,这家公司只有一台服务器。每个月末,老板都会走进我的办公室问我:“我们需要新 CPU 吗?”。我们还可以假设,根据经验,如果使用了超过 70% 的“系统资源”,则该公司需要新 CPU。输入 lscpu 时,我得到

fabi@alien-linux:~$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                8
On-line CPU(s) list:   0-7
Thread(s) per core:    2
Core(s) per socket:    4
Socket(s):             1
...

所以我计算

X = (Nr of CPUs)*(Nr of sockets)*(Nr of cores per socket)*(Threads per core)

在我的情况下是 84。为简单起见,我们假设我在整个月内以非常高的采样率执行“top”,并且它不断显示

 50.0 50.0 50.0

这意味着,平均有 50 个进程要么实际由内核处理,要么等待处理,要么处于“不可中断”状态。很好,我计算了一下

0.7 * 84 = 58.8

所以这意味着“70%的系统资源=58.8个进程”。

由于我只有 50 个流程,所以我可以向老板回答‘不’,我们不需要新硬件。

这是我的问题:

它是否正确?

问题已提出这里答案是这个计算不正确。我不明白为什么……

此致,

防火墙

相关内容