零依赖获取传感器数据
I18N: English | 简体中文
当我们提到在 Linux 上读取传感器时,lm-sensors 一直是最为常见的答案。多年来我们总是选用它来读取温度、电压和风扇转速。
lm-sensors 使用 Perl 语言编写,且实现了旧内核兼容,这使得它需要很多依赖:
[kkocdko@klf apps]$ sudo dnf install lm_sensors
... 一些无聊的日志
Installing dependencies:
perl-AutoLoader noarch 5.74-492.fc37
perl-B x86_64 1.83-492.fc37
perl-Carp noarch 1.52-489.fc37
... 很多很多依赖包!
Install 59 Packages
Installed size: 26 M
然而,在 5.6
内核后,我们可以通过 hwmon 模块 读取传感器数据,而无需任何依赖。所以我写了这个 Shell 脚本:
此脚本的输出:
[kkocdko@klf apps]$ ./hwmoncat
- bat1
in0: 15.671 V
- nvme
temp1_composite: 23.85 C
- amdgpu
freq1_sclk: 200 MHz
in0_vddgfx: 0.656 V
temp1_edge: 24.00 C
- k10temp
temp1_tctl: 24.88 C
与 lm-sensors 对比:
[kkocdko@klf apps]$ sensors
k10temp-pci-00c3
Adapter: PCI adapter
Tctl: +31.0°C
nvme-pci-0200
Adapter: PCI adapter
Composite: +25.9°C
amdgpu-pci-0500
Adapter: PCI adapter
vddgfx: 656.00 mV
edge: +29.0°C
BAT1-acpi-0
Adapter: ACPI interface
in0: 15.67 V