gpt4 book ai didi

python - 如何减少 Windows 中的 CPU 使用率?

转载 作者:太空宇宙 更新时间:2023-11-04 01:00:35 25 4
gpt4 key购买 nike

如果我用

import os
os.nice(10)

错误是

AttributeError: 'module' object has no attribute 'nice'

nice 大概只针对Linux系统,那么我该如何减少我的程序可用的 CPU 资源呢?

它检查特定进程是否正在运行,如果没有,则执行它。

我的代码是这样的:

import subprocess, psutil

proc = subprocess.Popen(['flux'])
pid = proc.pid
while 1:
if not psutil.pid_exists(pid):
proc = subprocess.Popen(['flux'])
pid = proc.pid

我希望它使用尽可能少的资源。

最佳答案

正忙着等待;该循环将尽可能快地执行。 Nice'ing 这个过程(即使该 API 存在于 Windows 上)也无济于事。如果其他进程想要使用 CPU,它只会让它们先运行,但您的程序仍然会耗尽所有剩余的周期。

解决这个问题的一个简单方法是在检查之间睡一会儿:

import time

...

while 1:
time.sleep(1)
if not psutil.pid_exists(pid):
proc = subprocess.Popen(['flux'])
pid = proc.pid

但更好的方法是阻塞直到程序结束。你可以这样做:

import subprocess

while True:
subprocess.call(['flux'])

subprocess.call阻塞直到进程退出,您的代码在此期间不会花费任何周期。

关于python - 如何减少 Windows 中的 CPU 使用率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33041432/

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