CPU使用率

    闲来无事,在一台2 CPU * 4物理核的服务器上,写了一个while(1)的死循环,然后top查询,发现CPU占用率是100%,为啥不是800%呢?为啥有些进程可以达到200%的CPU,死循环不是要占满所有CPU啊?

    原来是我忘记了线程的定义:线程是CPU调度的基本单元,它与属于同一个进程的其他线程共享代码段、数据段和其他操作系统资源。

    然后写了一个小程序,实现了两个线程跑while(1)的死循环,top查询,果然CPU占用率是200%!!!

    长时间观察CPU占用情况,发现这两个线程固定占用某两个CPU,为什么呢?按照原则不是应该负载均衡吗?

     在查询过程中发现有篇评论https://www.zhihu.com/question/68231533/answer/358528537, 觉得很有意思:while(1)死循环只是占用了CPU 100%的时间,其实CPU并没有在运算,你只是让cpu的时间都给了这个任务。如果你此时同时再跑一个很耗CPU的任务,那么你可以发现while(1)死循环的CPU占用率不是100%了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值