这是昨晚上在朋友圈发的一个讨论
回答的问题很多
因为这个问题,我晚上也没早睡,就想把这个讲清楚
说这个问题之前我们先了解下时间片调度算法,因为用这个来讲比较清楚。
CPU可以执行任务,CPU给哪个进程执行,哪个进程就可以占用CPU去做它想做的事情,如果进程的优先级比较低,调度器每次调度的时候,就容易被高优先级的进程插队,这个进程实际上占有CPU的时间就会比较短。
什么是CPU是利用率呢?
先说下,这个指的是有操作系统的情况下,有多任务系统,那系统有一个调度室,调度室分配给进程的使用CPU时间T1linuxcpu占用率怎么看,进程在被调度时linuxcpu占用率怎么看,进程实际占用CPU时间T2,T2/T1就是这个进程的CPU占用率了。
如果我们这样写代码
#include
#include
#include
#include
int main(void)
{
printf("%d:Cpu start...n",getpid());
while(1)
{
sleep(1);
}
return 0;
}
这时候的CPU占用率是
如果我们代码修改成这样
#include
#include
#include
#include
int main(void)
{
int i=0;
printf("%d:Cpu start...n",getpid());
while(1)
{
for(i=0;i<100000000;i++)
{}
sleep(1);
}
return 0;
}
CPU 占用率如下
如果我把代码修改成这样
#include
#include
#include
#include
int main(void)
{
int i=0;
printf("%d:Cpu start...n",getpid());
while(1)
{
for(i=0;i<100000000;i++)
{}
//sleep(1);
}
return 0;
}
CPU占用率如下:
限时特惠:本站每日持续更新海量各大内部网赚创业教程,会员可以下载全站资源点击查看详情
站长微信:
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...