Мониторинг температуры на Dell Precision M4500 под Linux: датчик не определяет, что дальше?

У меня Dell Precision M4500, процессор Intel Core i5, работающий под управлением Linux (Ubuntu Lucid), и я хотел бы следить за температурой процессора.

Я пробовал lm-сенсоры: sensors-detect не нашел никаких датчиков; следуя его подсказке ("Это относительно распространено на ноутбуках, где управление температурой осуществляется ACPI, а не ОС".) Я попытался acpi -V но не получил ничего теплового. Апплет панели Gnome "Монитор аппаратных датчиков" сообщает о температуре графического процессора, но не более того.

Что я должен пытаться делать дальше?

4 ответа

Решение

Я нахожу температуру процессора для M4500 в:

cat /sys/kernel/debug/ips/cpu_temp

Я получил 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

Это может быть эквивалентно тому, что использует Gnome и / или lm-sensor, но тогда может и нет. Честно говоря, я довольно не осведомлен о деталях этой проблемы; в основном я просто знаю, как искать информацию, и знаю, где обычно находится информация о температуре и как она выглядит.

На моем Dell (портативный компьютер Pentium M около 6 лет назад),

$ 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], Выполнение обоих этих действий позволит вам поймать представления с плавающей точкой, хотя кажется маловероятным, что они будут делать это таким образом.

Я не уверен, насколько полезным будет какой-либо из этих подходов, поскольку информация может отсутствовать в sysfs (т.е. /sys/...) совсем. Вы можете найти его под /proc/ вместо этого, используя аналогичные методы - но отфильтровать пронумерованные каталоги, и /proc/selfили вы закончите поиск метаданных для всех процессов в вашей системе.

Dell использует проприетарные средства связи с материнской платой, которые маскируются большинством утилит. Все, что я могу предложить, - это попробовать как можно больше разных утилит.

Другие вопросы по тегам