python单进程cpu使用率超过100%的问题

背景

在使用python flask部署模型api时,发现单个进程的cpu使用率能达到500%左右,超过了100%

原因

python的GIL锁仅针对纯python代码有效,例如:Python interpreters uses up to 130% of my CPU. How is that possible?

使用如下的纯python代码,多线程cpu使用率不会超过100%(实测最多101%)

import threading
import time

def f():
    while 1:
        pass

for i in range(10):
    t = threading.Thread(target=f)
    t.setDaemon(True)
    t.start()

time.sleep(60)

当工程不是纯python代码实现时,就可能会出现多线程占用多个核的情况,这样cpu使用率会超过100%


版权声明:本文为shengruxiahua2571原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。