Linux 下 Dell Precision M4500 上的温度监控:传感器检测不到,下一步该怎么办?

Linux 下 Dell Precision M4500 上的温度监控:传感器检测不到,下一步该怎么办?

我有一台 Dell Precision M4500、Intel Core i5 CPU,运行 Linux(Ubuntu Lucid),并且想监控 CPU 温度。

我试过 lm-sensors:sensors-detect没有找到任何传感器;按照它的提示(“这在笔记本电脑上比较常见,因为笔记本电脑的热管理由 ACPI 而不是操作系统处理。”)我试过了,acpi -V但没有发现任何热信息。Gnome 面板小程序“硬件传感器监视器”只报告 GPU 温度,没有其他信息。

我下一步应该尝试什么?

答案1

我发现 M4500 的 CPU 温度为:

cat /sys/kernel/debug/ips/cpu_temp

答案2

我要sensors开始做我自己的工作了(Linux Mint- Debian)通过加载 coretemp 模块:

sudo modprobe coretemp

然后再次运行传感器。如果有效,请通过以下方式使其永久生效:

sudo echo "coretemp" >> /etc/modules

您还可以安装 i8kutils,然后加载 i8k 模块并从 /proc/i8k 获取温度:

sudo apt-get install i8kutils 
sudo modprobe i8k
cat /proc/i8k | cut -d " " -f 4

还可以看看 dellfand。请注意,我必须添加#include <sys/stat.h>到 dellfand.cc 才能编译它。安装后,您可以调整风扇速度。例如:

sudo ./dellfand 0 3 40 50 65
sudo ./dellfand 0 0.2 25 40 65

答案3

这可能与 Gnome 和/或 lm-sensors 使用的相同,但也可能不同。说实话,我对这个问题的细节不太了解;我主要只知道如何寻找东西,并且知道温度信息通常在哪里以及它是什么样子。

在我的戴尔电脑上(大约 6 年前的 Trooper Pentium M 笔记本电脑),

$ cat /sys/devices/virtual/thermal/thermal_zone0/temp

将以千分之一摄氏度为单位打印当前温度。我认为这个特定位置是标准位置,尽管还有其他位置。例如,它也可以在 处找到/sys/devices/virtual/hwmon/hwmon0/temp1_input。我不确定这是否是同一个传感器。

如果这不起作用,你可以尝试

$ find /sys -iname "*temp*" -or -iname "*ther*"

对于一个相当野蛮的小队方法(*ther*将捕捉“热量”并且通常不会捕捉到太多其他东西)。

如果你不这么认为,我想你可以野蛮小队并做一些类似的事情

$ find /sys/ -type f | while read f; do
  if grep -q '^[0-9]\{5\}$' $f
    && (( $(wc -l $f | cut -f 1 -d \ ) == 1 ));
  then
    echo $f;
  fi;
done 2>/dev/null;

它应该打印出所有一行长且由 5 位数字组成的文件,这通常是这些伪文件的样子。

如果找不到,可以稍微扩大搜索范围,方法是更改​​为\{5\}查找\+任意数量的数字,和/或在字符范围.后添加一个。 执行这两项操作将使您能够捕获浮点表示,尽管他们似乎不太可能这样做。9[0-9]

我不确定这两种方法有多大用处,因为信息可能/sys/...根本不在 sysfs 中(即 )。您可能能够/proc/使用类似的技术在 下找到它 — 但要过滤掉编号目录和/proc/self,否则您最终将搜索系统上所有进程的元数据。

答案4

Dell 使用专有主板传感器通信,大多数实用程序都无法识别这些通信。我只能建议你尝试尽可能多的不同实用程序。

相关内容