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

4068
Tikitu

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

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

Что я должен попробовать дальше?

0

4 ответа на вопрос

1
terdon

Я начал 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 
0
Moab

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

0
intuited

Это может быть эквивалентно тому, что использует 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]\$' $f && (( $(wc -l $f | cut -f 1 -d \ ) == 1 )); then echo $f; fi; done 2>/dev/null; 

который должен распечатать все файлы длиной в одну строку и состоять из 5 цифр, как правило, так выглядят эти псевдофайлы.

Если вы не найдете его, вы можете расширить поиск немного изменив, \чтобы \+найти любое количество цифр и / или добавления .после того, как 9в диапазоне символов [0-9]. Выполнение обоих этих действий позволит вам поймать представления с плавающей точкой, хотя кажется маловероятным, что они будут делать это таким образом.

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

0
Romain

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

cat /sys/kernel/debug/ips/cpu_temp 

Похожие вопросы