python-3.x 多处理将CPU降至0

1l5u6lss  于 2023-03-04  发布在  Python
关注(0)|答案(1)|浏览(135)

我有一个大约40 k的 Dataframe 列表,我需要单独处理每个 Dataframe 。我使用了多处理池.starmap和总cpu-2作为进程来并行处理每个 Dataframe 。进程启动时没有任何问题,突然cpu使用率下降到0,并继续运行而不停止进程。如果我们再次手动运行进程,有时它会工作。
我曾尝试分批运行,并与睡眠时间为每一批,事情运行良好的几次,但再次相同的问题开始。

1sbrub3j

1sbrub3j1#

不知道大家有没有找到问题的答案,我今天晚上也遇到了同样的问题,经过一番研究发现,就是因为我没有关闭泳池,这个过程才一直不停地运行。
下面是我的代码:

cpu_pool = multiprocessing.Pool(processes=WORKERS_NUMBER)
cpu_pool.starmap(func, args)
cpu_pool.close()

添加了. close()函数后,我的程序可以完成运行。但是,在函数执行的整个过程中,我也感觉到CPU的使用率下降了。仍然不知道为什么,有什么想法吗?

相关问题