因为我的电脑的风扇声音很大,我想给自己写一个程序,当它不需要全速运行的时候就“把它关起来”。我想用python实现,那么有没有可以检测温度和/或设置风扇速度的模块呢?
发布于 2010-03-20 02:12:44
你也许可以在WMI中做到这一点。这里有一个相关的问题here。
发布于 2010-03-24 03:59:11
不要使用python或WMI。
如果你有Windows,如果你不能使用speedfan,最好在BIOS层用Microsoft's ASL Compiler来完成。使用它,您可以设置不同风扇速度的温度阈值。它工作得很好。不过要小心。这将使您的保修失效,而且是有充分理由的。如果不正确或粗心大意地使用此工具,您可能会将风扇设置为永不打开,这将直接煮熟您的组件。因此,在使用此工具之前,请仔细阅读并获取温度监视器(软件应用程序)。
我的笔记本电脑上有这个问题,太热了。经过调查,发现主要的罪魁祸首是显卡芯片,它被设置为始终打开,默认安装Windows Vista驱动程序。产生热量的不是CPU。是GPU。显然它是以这种方式设置的,以支持Aero图形。因此,除了做ASL温度/风扇速度的事情外,我调低了GPU。此外,我调低了时钟速度,因为静音和凉爽的临时值对我来说比潜在的CPU速度更重要。
This super user post describes the problem & the solutions I used in more detail.
发布于 2018-12-16 19:40:52
我发现了一些至少可以很有趣的东西。它不控制风扇的“直接”,它控制风扇所依赖的CPU温度。我用它来清洁。我只需运行这段代码,就可以使用空气除尘器来清洁风扇。
import multiprocessing
def worker():
"""worker function"""
print ('Worker')
k = []
# of course in an infinite loop
while True:
# lets use the cpu mathematical power, to increse its temp
l = (2*33) >> 3
# it is also possible to consume memory..
# but it will crash windows 8.1 after a while
# k.append(l)
pass
return
if __name__ == '__main__':
jobs = []
cpu = multiprocessing.cpu_count()
print("CPU count=" + str(cpu))
for i in range(cpu):
p = multiprocessing.Process(target=worker)
jobs.append(p)
p.start()但是,不要取消对内存部分的注释,它会使您的PC崩溃。这是在i7 8core logical cpu PC上使用Python3.5版本
https://stackoverflow.com/questions/2479558
复制相似问题