我想使用python从树莓派4B中获取cpu_freq值
def GetCpuInfo():
# Get CPU frequence
cpu_freq =open("/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq").read()
return cpu_freq
当我打印cpu_freq数据时,输出总是固定在1800000(它是raspberry pi的最大cpu频率1.8Ghz),但是每次我使用
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
这个命令在终端,它给我动态阀(600000-1800000)那么为什么我得到错误的值时,使用python?这是一个错误的方式来读取这个文件吗?
你的read()
没有问题。
启动Python本身可能需要足够的周期才能使CPU上升到全频率,特别是在像Pi这样的小系统上。
为了防止这种情况,在你读取读数之前,添加一个延迟,让它恢复运行。例如:
import time
def GetCpuInfo():
with open("/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq") as f:
return f.read()
for _ in range(20):
time.sleep(1)
print(GetCpuInfo())