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