我正在开发一个项目,我必须得到CPU温度(包括核心)和风扇速度。
对于我的电脑,我使用/sys/class/hwmon/hwmon2/temp*_input
作为CPU,/sys/class/hwmon/hwmon3/device/fan*_input
作为风扇速度。
我的代码在其他一些PC上不起作用。首先,操作系统是Ubuntu 18.04,第二个是16.04。我想找到一条通用路径,从中我可以获得所有必要的信息。我可以使用它吗?
AFAIK没有普遍的方式。很糟糕,但那是你的生活。您只需要探索不同的选项,查看当前系统的哪些功能并处理它。
不,没有这样的事情。
您想要读取的不同测量值分散在系统上,具体取决于驱动程序/模块甚至Linux风格。
您必须找到您想要获得的读数,您可以在哪里获得它们或通过特定工具。
/sys/class/hwmon/
是你能得到的最接近的。
如果你想看看支持什么,你可以找到here的hwmon
文档。
此命令将显示当前温度:
cat /sys/class/thermal/thermal_zone*/temp
温度监控和风扇控制使用名为hwmon
的标准内核接口实现。您可以配置sysfs
和lm_sensors
接口以显示风扇速度和温度。查看以下指南以获取更多详细信息:
https://github.com/Mellanox/mlxsw/wiki/Temperature-and-Fan-Control
首先,我尝试编写一个代码,找到名为temp_input和fan_input的所有文件。找到这些文件后,我已经读取了存储在这些文件中的数据。此代码适用于之前安装了hwmon接口的所有Linux机器。