cpu 利用率计算

1.如果一个进程有20%的时间进行计算,另外80%的时间用来进行I/O,则利用单编程,cpu的利用率为20%,如果同时运行两个这样的程序,不阻塞cpu时的利用率为(40%=40/100),忽略进程切换所需要的系统消耗.(这样计算为什么不对)

图片描述

回答:

也许答案介于40%和36%之间。为简化起见,考虑两个CPU利用率都是50%的进程1和进程2,它们利用CPU的模式如下:

  • 进程1:110011001100……

  • 进程2:202020202020……

其中0代表I/O过程,1、2代表CPU运算。对于进程1,必须至少经过2个I/O时间片才能进行后续的运算(可能需要从磁盘读入的数据比较多),而进程2只需要间隔1个I/O时间片就可以了。

现在CPU调度两个进程以提高CPU利用率。我们发现为了保证每个进程的I/O最小间隔,调度过程难以避免插入空闲时间片0:

  • 212120……

  • 21120……

因此CPU利用率是不能达到理想的50%*2 = 100%,但似乎也不至于降低到75%,而是一个两者之间的数字。这个数字是由各进程的I/O使用模式决定的。

回答:

你为什么要那样计算?根本没看明白你的思路,不说说吗?

想像 CPU 是位服务员。在一小时内,服务一位客人需要花掉12分钟。此时 CPU 有20%的时间是忙碌的,其它时间是空闲的。这时来了两位这样的客人,这位 CPU 服务员每小时要忙多久呢?

回答:

难道没有其他的回答的么?

以上是 cpu 利用率计算 的全部内容, 来源链接: utcz.com/p/195742.html

回到顶部