计算CPU利用率

3

我有一个任务需要计算 CPU 利用率,我有 4 个进程。

P1 的等待 I/O 占据了他的时间的 30%。

P2 的等待 I/O 占据了他的时间的 40%。

P3 的等待 I/O 占据了他的时间的 20%。

P4 的等待 I/O 占据了他的时间的 50%。

我的结果是 0.99999993... 对我来说似乎不合理。

1个回答

7
所有进程都在等待I/O的概率(因此CPU处于空闲状态)为:
0.3 * 0.4 * 0.2 * 0.5 = 0.012

因此,CPU 忙碌的概率为:(1-0.012)=0.988,即 CPU 利用率为:98.8%


我不需要将结果提高到4次方吗?也就是说,处理的数量? - user2922456
公式为:1-p^n,其中n为进程数,p为所有进程同时等待I/O的概率的相反数。我说得对吗? - user2922456
1
不,我不这么认为 - 如果每个进程具有相同的概率p,那么这是正确的,但如果它们各自具有不同的概率p0p1p2p3,那么就是(1-p0 * p1 * p2 * p3),正如我在上面的答案中所解释的。 - Paul R
1
为什么CPU空闲时要进行乘法运算(而不是其他运算)?是否有一些证据或理论支持? - Vonfry
1
@Vonfry:这只是基本的概率理论 - 如果你抛掷4次硬币,那么得到4个正面的概率就是0.50.50.5*0.5。 - Paul R
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接