我想制作一个作为守护进程运行的 shell 脚本,每 X 分钟读取每个 cpu 核心的温度,以便稍后使用GNU plot
.这是我的问题,是否有任何文件/sys
或/proc
任何其他位置可以将这些信息统一放置在多个 UNIX 系统(不仅在 Linux 中)?
如果没有,至少告诉我,在 Linux 中哪里可以找到这些文件。
答案1
看看这个 SOa:
它提到了这三个链接:
- http://shallowsky.com/blog/linux/kernel/sysfs-Thermal-zone.html
- http://lwn.net/Articles/268958/
- http://www.mjmwired.net/kernel/Documentation/Thermal/sysfs-api.txt
他们提到,在较新的系统上,您应该在以下位置拥有所有热信息:
/sys/class/thermal/thermal_zoneN/temp
其中N是从0开始的数字。
在我的 Xubuntu 13.04 上,我有两个:
thermal_zone0 thermal_zone1
请注意,我的 CPU 是四核,来自cpuid
:
Processor name string: AMD Phenom(tm) II N950 Quad-Core Processor
所以它没有给我温度每个核心。它可能甚至没有每个核心的温度传感器,但我找不到更多相关信息。然而,据我所知,这是唯一可以读取此内容的位置。
正如上面同一 SOq 上的这个答案所提到的:
在不同的计算机、Linux 发行版、内核版本等之间不太可能是相同的 - 也就是说,它不太可能是一种万能的解决方案。您可能需要以几种不同的方式执行此操作,或者根据需要对结果进行标准化。