【发布时间】:2019-06-23 05:03:44
【问题描述】:
我的 Python 3 脚本使用psutil v5.6.2 来提取有关当前系统(Ubuntu 18.04、AMD Ryzen 2700X)的各种信息,例如 CPU 核心温度。
问题:但是运行以下代码来获取核心温度
import psutil
psutil.sensors_temperatures()
返回一个空字典
{}
即使运行 lmsensors(传感器版本 3.4.0 和 libsensors 版本 3.4.0,Ubuntu 18.04)确实会返回温度
$ sensors
nouveau-pci-1f00
Adapter: PCI adapter
GPU core: +0.91 V (min = +0.80 V, max = +1.19 V)
temp1: +36.0°C (high = +95.0°C, hyst = +3.0°C)
(crit = +105.0°C, hyst = +5.0°C)
(emerg = +135.0°C, hyst = +5.0°C)
k10temp-pci-00c3
Adapter: PCI adapter
Tdie: +79.4°C (high = +70.0°C)
Tctl: +89.4°C
为什么psutil 没有给我们所需的温度,我们该如何解决这个问题?
PS:还研究了Pysensors,但它不支持 Python 3。关于 Python 3 替代方案的任何建议?
【问题讨论】:
-
你使用的是哪个版本的
psutil,它给了我module 'psutil' has no attribute 'sensors_temperatures'forv5.6.3 -
@JainilPatel 我在 Linux (Ubuntu 18.04) 中运行
psutil -
@DeveshKumarSingh 我正在使用
v5.6.2。这个函数可以在文档psutil.readthedocs.io/en/latest/#psutil.sensors_temperatures 中找到 -
@JainilPatel Ubuntu 被认为是一个基于 Unix 的系统,所以我认为它应该可以工作吗?文档中
sensors_temperatures函数的链接特别说明了可用性:Linux、FreeBSD -
简要看一下这两个项目,我认为
psutil从/sys/class/hwmon/hwmon...读取温度,而lm sensors直接从芯片读取。
标签: python python-3.x ubuntu psutil lm-sensors