我有一个大约40 k的 Dataframe 列表,我需要单独处理每个 Dataframe 。我使用了多处理池.starmap和总cpu-2作为进程来并行处理每个 Dataframe 。进程启动时没有任何问题,突然cpu使用率下降到0,并继续运行而不停止进程。如果我们再次手动运行进程,有时它会工作。我曾尝试分批运行,并与睡眠时间为每一批,事情运行良好的几次,但再次相同的问题开始。
1sbrub3j1#
不知道大家有没有找到问题的答案,我今天晚上也遇到了同样的问题,经过一番研究发现,就是因为我没有关闭泳池,这个过程才一直不停地运行。下面是我的代码:
cpu_pool = multiprocessing.Pool(processes=WORKERS_NUMBER) cpu_pool.starmap(func, args) cpu_pool.close()
添加了. close()函数后,我的程序可以完成运行。但是,在函数执行的整个过程中,我也感觉到CPU的使用率下降了。仍然不知道为什么,有什么想法吗?
1条答案
按热度按时间1sbrub3j1#
不知道大家有没有找到问题的答案,我今天晚上也遇到了同样的问题,经过一番研究发现,就是因为我没有关闭泳池,这个过程才一直不停地运行。
下面是我的代码:
添加了. close()函数后,我的程序可以完成运行。但是,在函数执行的整个过程中,我也感觉到CPU的使用率下降了。仍然不知道为什么,有什么想法吗?