问个进程占用最大CPU百分比的问题
来源: 互联网 发布时间:2017-02-27
本文导语: HI,all,问个问题,如果进程优先级确定的话是不是某个进程占用最大的cpu百分比也确定了?? 比如我操作系统开了5个进程,然后分别设置优先级为A:50 B:150 C:100 D:100 E:150,如果调度程序为按百分比计算时间片,那...
HI,all,问个问题,如果进程优先级确定的话是不是某个进程占用最大的cpu百分比也确定了??
比如我操作系统开了5个进程,然后分别设置优先级为A:50 B:150 C:100 D:100 E:150,如果调度程序为按百分比计算时间片,那么B所占用的最大CPU百分比是不是就是150/(50+100*2+150*2)呢,如果是的话那为什么有些单个进程多线程的程序消耗cpu能够消耗很多呢??
比如我操作系统开了5个进程,然后分别设置优先级为A:50 B:150 C:100 D:100 E:150,如果调度程序为按百分比计算时间片,那么B所占用的最大CPU百分比是不是就是150/(50+100*2+150*2)呢,如果是的话那为什么有些单个进程多线程的程序消耗cpu能够消耗很多呢??
|
不会,printf在内核缓冲区满的时候,会阻塞,然后释放出CPU来。如果你只有一个死循环,里面仅仅做一些加减运算,且在编译时没有被优化掉的话,就可能会占CPU到100%.不过新的linux内核对这种情况也有处理,在一个进程与运行一段时间后,能够强行挂起进程。