以下的所以探讨,都假设其CPU都是单核的。

多道程序设计系统中,通常会同时存在多个进程,而CPU是有限的,我们都期待能够充分地利用CPU的资源,达到效率最大化。可以通过计算CPU的利用率来判断是否充分利用了CPU资源。

如何计算CPU的利用率

CPU的利用率可以从概率来看。
假设一个进程等待I/O操作的事件占这个进程驻留在内存时间的比例为p, 并且此时内存中有n个进程,每一个进程等待I/O操作的时间也占它驻留在内存的时间比例为p。
CPU的利用率是以最糟糕的情况来衡量,最糟糕的情况就是:此时所有的进程都在等待I/O。这种情况的概率为p^n

用概率来代表CPU的利用率,则有如下公式:

P:进程等待I/O占该进程驻留在内存中的时间比例。
n : 多道程序设计的道数。

这个函数能够有效地预测CPU的性能。


练习


以下习题题目均取自《现代操作系统》

1、一个计算机系统的内存有足够的空间容纳5个程序。这些程序有一半的时间处于等待I/O的空闲状态。CPU时间浪费的比例为多少?

答:根据CPU的利用率 = 1 - p^n , 可知CPU浪费的比例 = p^n , 即0.5^5, CPU时间浪费的比例为 1/32------>约为31.25%

2、一个计算机的RAM有4GB,其中操作系统占512MB。假设所有进程都占256MB,并且特征相同。要使得CPU的利用率达到99%,最大I/O等待是多少?

3、如果多个作业能够并行地运行,会比它们顺序执行完成得快。假设有两个作业同时执行,每个进程需要20分钟CPU时间。如果顺序执行,那么完成最后一个作业需要多长时间?如果并行执行又需要多长时间?假设I/O等待占50%

答:如果是顺序执行,只有一个进程用完CPU才能轮到下一个进程,一个进程需要20分钟,然而I/O等待占它驻留在内存的时间比为50%,说明这个进程需要CPU40分钟,而第二个进程同样需要CPU40分钟,所以执行完成最后一个作业需要80分钟。
如果是并发执行,CPU的利用率 = 1 - 0.5^ 2 = 0.75 , 也就是说,如果给出的CPU时间为100分钟,实际上这些进程只能用到CPU75分钟。根据这个分析,可知,如果要让进程使用CPU40分钟,要使得他们完成,则需要CPU的 40/0.75 = 53.33分钟。

4、考虑一个6级多道程序系统(内存中可同时容纳6个程序)。假设每个进程的I/O等待占40%,那么CPU利用率是多少?

答:CPU的利用率 = 1 - 0.4^ 6 = 98.97%

计算密集型和I/O密集型

计算密集型进程:绝大多数时间花在计算上。
I/O密集型进程 : 绝大多数时间花在等待I/O上。

多道程序设计系统中CPU的利用率相关推荐

  1. 图书漂流系统的设计和研究_研究在设计系统中的作用

    图书漂流系统的设计和研究 Having spent the past 8 months of my academic career working co-ops and internships in ...

  2. 群晖 建立文件禁止访问_在设计系统中建立可访问性

    群晖 建立文件禁止访问 Imagine going about your online activity - paying bills through your bank, buying ticket ...

  3. linux 使cpu使用率升高_Linux系统中CPU占用率较高问题排查思路与解决方法

    Linux服务器上出现CPU负载达到100%居高不下的情况,如果CPU 持续跑高,则会影响业务系统的正常运行: CPU利用率.根据经验来看,用户空间进程占用CPU比例在 65-70%之间,内核(系统) ...

  4. Linux系统中CPU忙闲的衡量——load和idle

    在Linux系统中,通过top命令可以查看CPU是否忙碌.其中一个数值是"idle",用百分比来衡量:另一个是load,用数值来衡量. load load的数值可以从文件 &quo ...

  5. PLC系统中CPU电源电压的选择方法

    适当给cpu减压可以延长cpu的寿命,cpu寿命的主要因素:工作温度,CPU占用率,过高的电压,过高的主频,工厂生产波动带来的个体差异,下面来看看怎么给cpu减压. PLC一般采用市电(220V.50 ...

  6. cpu满了卡住 linux_Linux系统中CPU占用率较高问题排查思路与解决方法

    前言 作为 Linux 运维工程师,在日常工作中我们会遇到 Linux服务器上出现CPU负载达到100%居高不下的情况,如果CPU 持续跑高,则会影响业务系统的正常运行,带来企业损失. 很多运维的同学 ...

  7. Linux系统中CPU使用率查询常用的5个命令

    在程序开发中,我们一般都是在Linux系统上进行开发,因此对Linux系统的维护工作很重要.在Linux系统维护中,我们需要经常查看的就是cpu的使用率,分析系统的整体运行情况.那CPU使用率怎么查询 ...

  8. 计算机系统中CPU的利用率最高的时候,cpu使用率高怎么办

    cpu使用率高是每个网民经常遇到的最棘手的问题,对于菜鸟来说不知道如何去操作,向身边朋友求助也没有用最后选择重装系统,其实不必烦恼的,导致出现这种现象的原因这个棘手的问题也许并非木马病毒所致,如果你遇 ...

  9. linux:关于Linux系统中 CPU Memory IO Network的性能监测

    我们知道:系统优化是一项复杂.繁琐.长期的工作.通常监测的子系统有以下这些: CPU Memory IO Network 下面是常用的监测工具 Linux 系统包括很多子系统(包括刚刚介绍的CPU,M ...

  10. 在风冷系统中CPU与散热片之间必须要涂硅脂吗?

    文章目录 1. 实际测试不涂硅脂也没事儿 1.1. 品牌机 1.2. 组装机 2. 原因分析 3. 注意事项 1. 实际测试不涂硅脂也没事儿 实践是检验真理的唯一标准,在实践中,不涂硅脂的散热效果比涂 ...

最新文章

  1. 使用CFURLCreateStringByAddingPercentEscapes进行URL编码
  2. 刷题练习记录(3)——无重复字符的最长子串(JAVA 和 Python)——set()函数/集合...
  3. 如何设置SecureCRT通过代理连接SSH[转]
  4. 创建ListView的基本步骤
  5. Android Fragment 监听返回键
  6. vue获取DOM元素并设置属性
  7. 格雷码基础和生成的几种方法
  8. delphi 通过句柄获取exe文本框内容_实战经验:通过NotifyAddrChange侦测网络变化
  9. .NET 轻松实现HTML的绝对过滤之SafeHelper
  10. InnoDB存储引擎相关问题整理
  11. python下载网页方法_Python 下载网页的几种方法
  12. python 接口自动化测试王浩然 pdf_Python接口自动化测试
  13. 移动开发之我见 ——移动WEB
  14. 微生物组被Nature选为2020年最值得关注的技术之一
  15. 计算机毕业设计Java学生心理健康信息咨询系统(源码+系统+mysql数据库+Lw文档)
  16. 电脑软件:office文档密码了怎么办,看完你就能自己找回了
  17. 2-3-2 rsync+inotify备份同步数据
  18. 产品经理学习总结(3)——测试用例的需求评审
  19. ABOV单片机开发简介
  20. scp 报错 not a regular file

热门文章

  1. Matlab:拉盖尔高斯光束的干涉
  2. redis下载安装教程(详细步骤)
  3. PlutoSDR软件无线电平台带宽破解
  4. 学python用linux_用树莓派学习Linux及Python真的高效吗?
  5. 2019Thinking(上) -- 一个前端开发者的个人思考
  6. 一款支持vue3 的颜色选择器
  7. 品质qc工程图_QC工程图-(品管)
  8. launchpad乐器_一起认识 Launchpad 系列——中篇
  9. 项目十大管理和五大过程组
  10. matlab 入门 实验,matlab入门实验.doc