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

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

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

4 ответа4

1

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

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

0

Это может быть эквивалентно тому, что использует 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\} на \+ чтобы найти любое количество цифр, и / или добавив a . после 9 в диапазоне символов [0-9] . Выполнение обоих этих действий позволит вам поймать представления с плавающей точкой, хотя кажется маловероятным, что они будут делать это таким образом.

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

0

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

cat /sys/kernel/debug/ips/cpu_temp

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .