gpt4 book ai didi

Python 3 多处理 - 我应该使用多少个进程?

转载 作者:太空宇宙 更新时间:2023-11-03 14:42:27 26 4
gpt4 key购买 nike

我有一个运行 8 个进程的简单程序,它通过使用多处理显着减少了脚本运行时间,但是,我不确定应该使用多少进程才能使 CPU 利用率最大化。目前我的 cpu 是 6 个内核,只有 1 个物理 cpu,因为它是一个 VPS。 :

def spider1():
def spider2():
def spider3():
def spider4():
def spider5():
def spider6():
def spider7():
def spider8():
if __name__ == '__main__':
p1 = multiprocessing.Process(target=spider1,)
p2 = multiprocessing.Process(target=spider2,)
p3 = multiprocessing.Process(target=spider3,)
p4 = multiprocessing.Process(target=spider4, )
p5 = multiprocessing.Process(target=spider5, )
p6 = multiprocessing.Process(target=spider6, )
p7 = multiprocessing.Process(target=spider7, )
p8 = multiprocessing.Process(target=spider8, )
p1.start()
p2.start()
p3.start()
p4.start()
p5.start()
p6.start()
p7.start()
p8.start()

最佳答案

如果您想使用 cpu 的数量来计算要生成的进程数,请使用 cpu_count 来查找 cpu 的数量,

psutil.cpu_count()

但是使用 CPU 利用率来计算派生进程的数量可能是更好的方法,要检查 CPU 利用率,您可以这样做,

import psutil
psutil.cpu_times_percent(interval=1, percpu=False)

这将为您提供 CPU 使用情况,例如,您可以使用该信息来决定是否要生成新进程。关注内存和交换可能是个好主意。

我认为这个答案可能有用,Limit total CPU usage in python multiprocessing

关于Python 3 多处理 - 我应该使用多少个进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52311339/

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