CPU使用率和工作负载,其实就是不同维度对CPU资源使用情况的描述。
其中使用率是描述CPU的繁忙程度, 而工作负载则描述CPU的处理任务数。
2024-6-28补充,cockpit 管理系统同时列出了使用率和负载,也出现了负载高,但使用率低的情况。
生活中景区购票、排队进入,近乎完美满足CPU的计算模型。我们以此为例:
售票人员就是CPU, 购票游客就是任务数, 那么CPU的利用率,描述的是售票人员的工作饱和程度。而负载,描述的是游客排队的情况。
CPU利用率:
售票人员工作4分钟,然后休息6分钟, 则CPU利用率为40%;
售票人员工作10分钟,然后不休息, 则CPU利用率为100%;
CPU负载:
假设一个售票人员一分钟最多可处理10个游客, 那么一分钟内如果只有2个游客, 则CPU的负载为0.2 ; 如果遇到国庆高峰假期,突然来了30个游客, 则一分钟内的负载为 30 / 10 = 3 , 来50个游客就是 50 / 10 = 5
基础计算方法明白后, 我们来找点乐子:
售票室网络特别卡,导致售票人员工作4分钟, 等待网络刷新票6分钟, 此时CPU利用率为40%。 然后又赶上了高峰期, 来了90个游客, 所以CPU负载为 9 。也就是CPU利用率很低,但CPU负载特别高。
有些笔记本比较容易出现这种情况, 明明CPU使用率很低,但电脑特别卡。
以上以单核CPU为例, 如果多核CPU使用率就是每颗核心使用率的总和, 负载最大值就是核心数, 原理相同不再复述。
注意如果核心数与线程数不同,如2核4线程,则按线程数4来算。或者任务管理器里数框框。