打印

CPU使用率问题

[复制链接]
1162|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
txcy|  楼主 | 2012-9-14 17:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近思考cpu使用率,有些问题想不明白,发贴请教一下大家。

按我们的编程经验是循环空转会导致cpu使用率上升,循环空转如果从汇编角度来看,是一直做

寄存器操作加1
判断寄存器值是否为0
跳转

这三步动作中是哪一步比较耗cpu呢 还是都耗

我们平时代码中也不乏循环操作,为啥这些循环操作就没这么耗cpu呢

我们知道系统有一个idle进程,这个进程占用cpu比较高时,如果是其它进程占用cpu高,系统反应就会比较快,否则会慢一些
idle进程跟其它进程有啥区别

我们常说计算密集型的程序比较耗cpu,io密集型程序相对小一些。那就是说io读取不消耗cpu? 那从内存读数据耗不耗cpu?

我们知道程序在执行sleep的时候,cpu消耗是比较低的,那在sleep期间,cpu是在做什么呢? cpu什么状态算是空闲态呢?

为啥cpu 100%久了,主机容易重启

欢迎大家讨论,什么是cpu使用率,什么因素会影响cpu使用率

相关帖子

沙发
火箭球迷| | 2012-9-14 18:00 | 只看该作者
占用CPU的事情主要是:
1、CPU内部的ALU进行算术逻辑运算;
2、CPU的PC指针跳转;
3、CPU的寄存器操作;
4、CPU进行寄存器与存储器之间的搬运工作;
5、CPU中断处理。
而其它不耗费CPU资源的事情,主要是由各种硬件模块自己分担工作。比如DMA、浮点运算协处理器,显卡和声卡对数据的批量处理等等。

使用特权

评论回复
板凳
yybj| | 2012-9-14 18:08 | 只看该作者
idle进程---实际上是不存在的
耗不耗CPU不能微观的去看待

使用特权

评论回复
地板
sinadz| | 2012-9-14 18:16 | 只看该作者
2楼总结的很好

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

274

主题

2106

帖子

0

粉丝