我使用multiprocessing.Pool()并行化了一些繁重的Pandas处理,但是发现它有点成功。我的CPU使用率达到100%,我的整个计算机变得非常无响应。甚至鼠标也变得难以使用。

我可以使用此代码更改流程的流程优先级。

import psutil
p = psutil.Process(os.getpid())
p.nice = psutil.BELOW_NORMAL_PRIORITY_CLASS

但是,当我在Windows任务管理器中查看时,我发现只有主python.exe进程已更改为低于正常优先级。

是否有一种降低池进程优先级的好方法?

最佳答案

产卵后,您可以尝试设置进程的子级的优先级。就像是:

import psutil

# spawn children and/or launch process pool here

parent = psutil.Process()
parent.nice(psutil.BELOW_NORMAL_PRIORITY_CLASS)
for child in parent.children():
    child.nice(psutil.BELOW_NORMAL_PRIORITY_CLASS)

关于python - 降低多处理的进程优先级.Windows上的池,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23060383/

10-12 19:34