CPU占用是怎么算出来的? 只要开机,CPU就不会休息,总是会在某个进程上运行这个进程就是current。
如果current是0号进程(idle进程),那么就算CPU idle(因为在这个CPU上没有别的进程是处于RUNNING状态的,0号进程才可能被调度运行)。否则,就算CPU被占用。
可见,CPU要idle只有一种情况,那就是这个CPU对应的运行队列里面没有进程(即没有处于RUNNING状态的进程)。
而死循环的进程总是处于RUNNING状态的,不管这个进程是否正在执行、是否要被抢占,没有人会改变它的执行状态,它总是RUNNING。 所以CPU idle当然就会很低。
按我的理解,这种情况下CPU占用应该总是100%,但是由于一些统计方面的原因,CPU占用可能偶尔会低于100%。
摘抄于: