gpt4 book ai didi

python - 在 Windows 上降低 multiprocessing.Pool 的进程优先级

转载 作者:太空宇宙 更新时间:2023-11-03 13:44:32 24 4
gpt4 key购买 nike

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

我可以使用这段代码更改进程的进程优先级。

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

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

有没有什么好的方法可以降低pool进程的优先级?

最佳答案

您可以在生成子进程后尝试设置它们的优先级。像这样的东西:

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 上降低 multiprocessing.Pool 的进程优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23060383/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com