def dead_loop():
while True:
pass
dead_loop()
在双核的 macbook pro 上,活动监视器显示跑满 cpu。
不应该只能利用单核达到 50%么
1
arischow 2017-10-13 10:02:45 +08:00 via iPhone 1
这应该就是单核的比例
|
2
shuax 2017-10-13 10:04:42 +08:00 via Android 1
天啦,我的程序可以跑 400%
|
3
RqPS6rhmP3Nyn3Tm 2017-10-13 10:05:54 +08:00 via iPhone
显然是单核的比例,我这儿 top 经常 400%
|
6
coltguo 2017-10-13 10:20:36 +08:00
哎,其实还好
|
7
CreSim 2017-10-13 11:23:14 +08:00 via Android
Unix 衍生系统的负载:1=一个核满载。。
我的路由器平均负载都是 1.x 也就是 100+% |
8
simpleapples 2017-10-13 12:23:29 +08:00
activity monitor 中的 100%是单核的比例 再开一个 python 跑 while true 就是将近 200%了
|
9
scriptB0y 2017-10-13 12:46:02 +08:00
@simpleapples 楼上真像,不然 monitor 里面加起来超过 100%了
|
11
Sapp 2017-10-13 15:20:59 +08:00 via Android
这个占用跑到 100 多都有的,得看下面那个占用。
|
12
opengps 2017-10-13 15:26:09 +08:00
所有语言的死循环都可以跑满 cpu,循环就是消耗计算,靠 cpu 完成的
|
13
est 2017-10-13 15:28:07 +08:00
谁贴一个纯 CPython 代码跑满所有 CPU 的我给他加分!
|
14
ToughGuy 2017-10-13 15:33:37 +08:00 1
@est
import multiprocessing as mp from concurrent.futures import ProcessPoolExecutor def fn(): while 1: pass with ProcessPoolExecutor() as executor: for i in range(mp.cpu_count()): executor.submit(fn) 对齐我懒得弄了。 |