本文介绍了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 利用率计算
发布评论