Мониторинг температуры linux

Проверить температуру процессора через командную строку

Чтобы запустить командную строку от имени Администратора, необходимо:

  1. Щелкнуть по значку Windows, который находится в левом нижнем углу дисплея (на панели задач), правой кнопкой мышки. Выбрать опцию «Найти». Ввести в поле для поиска команду CMD. На экране отобразится результат поиска.
  2. Выбрать опцию «Запуск от имени администратора», кликнув по ней левой кнопкой мыши. Высветится уведомление «Разрешить этому приложению вносить изменения на вашем устройстве?». Нажать «Да». В открывшемся окошке CMD ввести следующее значение:wmic /namespace:\rootwmi PATH MSAcpi_ThermalZoneTemperature get CurrentTemperature

    после чего нажать на «Enter».

  3. Спустя пару секунд в поле CurrentTemperature отобразится одна или несколько температур в Кельвинах.
  4. Для перевода в привычную систему измерений потребуется поделить имеющийся показатель CurrentTemperature на 10 и отнять от него 273,15. Полученное значение является искомой температурой в градусах Цельсия.
  1. Кликнуть на «Пуск» правой кнопкой мышки. В раскрывшемся перечне команд выбрать Windows PowerShell (администратор). Подтвердить нажатием на «Да» разрешение приложению вносить изменения на устройстве.
  2. Здесь следует использовать другую команду, а именно: get-wmiobject msacpi_thermalzonetemperature -namespace «root/wmi».
  3. В результате выполнения команды появится температура в Кельвинах (в поле CurrentTemperature).
  4. Чтобы перевести значение в градусы по Цельсию, разделить CurrentTemperature на 10 и отнять от него 273.15.

Утилиты в Linux для доступа к температурным датчикам

В настоящее время среди всего разнообразия, для Linux существует лишь одна по-настоящему универсальная и свободная утилита, предоставляющая доступ к целому комплексу доступных в системе датчиков. И не только температурных. Это Lm-sensors. Кроме неё также полезно использовать HDDTemp и Udisks2. Которые, как понятно из названий, работают с накопителями — HDD и/или SSD. Эти утилиты дополняют функционал Lm-sensors, предоставляя доступ к температурам накопителей. С чем сама Lm-sensors справляется плохо.

Lm-Sensors

Хотя Lm-sensors и не может полноценно читать информацию о температуре накопителей, но всё же обладает довольно мощными возможностями. Она позволяет также узнать данные о частоте вращения установленных в системе вентиляторов. При этом доступ возможен в том числе и к датчикам на периферийных устройствах. А не только на основной (материнской) плате.

Эта утилита обновляется разработчиками не так часто, но всё-таки ещё поддерживается. Далеко не всегда можно поспеть за самыми новыми веяниями в сфере компьютерного «железа», получить доступ к его спецификации, разработать и протестировать соответствующие обновления. Однако, даже в таких условиях Lm-sensors позволяет получить данные о температурах всех критически важных компонентах системы. Таких как CPU, GPU и основных параметрах чипсета.

Lm-sensors доступна практически в любом дистрибутиве Linux в стандартном репозитории. Обычно соответствующий пакет называется lm-sensors. Для его установки, например, в системах Ubuntu следует выполнить команду:

Сразу после установки Lm-sensors настоятельно рекомендуется выполнить начальную конфигурацию утилиты. Это необходимо для полного детектирования доступных в системе датчиков. Иначе информация, выдаваемая утилитой lm-sensors будет, скорее всего, неполной. Следующая команда поможет просканировать доступное оборудование, а также определить наиболее подходящий драйвер для считывания параметров датчиков:

В данном случае, как можно видеть, lm-sensors в качестве оптимального драйвера определила «nct7802». Также приведены инструкции для ручного добавления модуля этого драйвера в сценарий загрузки ядром. Вместе с тем также возможна автоматическая правка файла Что более предпочтительнее и рекомендуется поступать именно таким образом. Далее необходимо перезагрузить систему и далее, выполнив следующую команду, убедиться, что модуль «nct7802» загружен:

Данный вывод говорит о том, что модуль загружен. Теперь, для просмотра значений всех доступных для утилиты lm-sensors (тех, что она смогла обнаружить ранее при сканировании) достаточно выполнить команду:

Как видно, набор обнаруженных датчиков довольно внушительный. Есть даже показания температуры для модуля Wi-Fi. Не хватает, правда, значений оборотов охлаждающего вентилятора процессора и значений температур зон VRM. Но это уже издержки свободного ПО.

Для того, чтобы иметь возможность наблюдения за параметрами в непрерывном режиме, нужно выполнить команду sensors совместно с командой watch:

Здесь ключ -n задаёт периодичность обновления вывода, в данном случае это 3 секунды. Если он не задан, то по-умолчанию обновление будет происходить каждые 2 секунды. Для выхода из непрерывного режима нужно нажать сочетание клавиш <Ctrl + C>.

HDDTemp

Для мониторинга температур устройств хранения. Например жестких дисков и/или твердотельных накопителей удобно использовать утилиту hddtemp. Соответствующий пакет «hddtemp» также доступен для большинства Linux-дистрибутивов. Для доступа к показаниям температуры конкретного устройства нужно выполнить команду:

Здесь, как можно догадаться, в качестве параметра передаётся интересующее устройство. В данном случае это Для того, чтобы данные получаемые утилитой hddtemp могли использовать другие программы мониторинга (например psensor), необходимо запустить hddtemp в качестве демона:

Это команду необходимо выполнить для всех устройств, для которых необходимо мониторить значения температур.

Стресс тест процессора — для чего это нужно?

Часть пользователей конечно задумаются… — а зачем он вообще нужен, этот стресс тест процессора? Ответ прост — выяснить проблемы пока еще есть возможность исправить.

Практические самая распространенная причина поломок компьютеров или ноутбуков — это банальный перегрев (это особенно острая проблема ноутбуков). Забилась система охлаждения и при перегреве компьютер начинает медленно работать (проявляется троттлинг), зависать и делать другие непонятные вещи.

При длительной эксплуатации в таких условиях можно дождаться дорогостоящего ремонта (опять же — наиболее подвержены этому ноутбуки и ремонт их самый дорогой)

AIDA64 — Тест стабильности системы

Утилита AIDA 64 — это практически совершенство, когда нужно выполнить стресс тест процессора. Для работы сойдет и пробная версия, загрузить которую можно с официального сайта (нам нужна версия Extreme)

Запускаем приложение, вверху выбираем «Сервис» — «Тест стабильности системы». Перед вами откроется окно как на картинке ниже — жмите старт и наблюдайте за процессом. Внимательно следите за процессом и графиком температуры — если один из компонентов преодолел 70-80 градусов по Цельсию, то есть над чем задуматься… если температура за 90 — немедленно прекратите выполнение стресс теста процессора и ищите неисправность.

Вообще стресс тест процессора рекомендуется делать только по необходимости. Вот чувствуете что ноутбук перегревается — прогнали тестик, поняли что проблемы и почистили систему охлаждения. Прогнали второй раз — увидели что все в норме и можете и дальше работать спокойно… однако вы должны понимать, что желательно поглядывать за ходом выполнения теста, иначе возможен перегрев компонентов компьютера, а защита от перегрева не всегда срабатывает корректно.

Как правило проблемы с перегревом кроются в неисправности системы охлаждения или банально все забилось пылью… однако сильный перегрев может быть вызван неисправностью самого процессора

BurnInTest — тестирование надежности вашего процессора

Следующая утилита для теста процессора на надежность — BurnInTest. Ознакомиться с внешним видом приложения можно на картинке ниже (кстати, программа подойдет для определения характеристик компьютера). Как всегда, скачать можно с официального сайта… (нам нужна версия Standart)

Запускаем утилиту, выбираем в меню «Quick Test» — «CPU coverage» и жмем СТАРТ. Останется только наблюдать за процессом тестирования процессора. Я вам очень рекомендую параллельно запустить мониторинг температуры процессора, чтобы избежать неприятных ситуаций.

На скриншоте ниже можно увидеть, что BurnInTest отлично загружает все 4 ядра моего процессора и со своей задачей справляется отлично. (на 100% одно приложение никак не загрузит ЦП, так как он параллельно выполняет еще и другие задачи — это информация для тех, кто говорит что BurnInTest загружает только 97,3% системных ресурсов)

На самом деле BurnInTest может выполнить не только стресс тест процессора, но и других комплектующих — рекомендую ознакомиться с функционалом утилиты более подробно

OCCT — стресс тест процессора для техноманьяков

Почему я назвал OCCT вариантов для маньяков? — при нагрузкой ЦП данным тестом в среднем температура процессора была выше на 10-15 градусов в сравнении с той же AIDA64 или BurnInTest. Скачать можно с официального сайта, внизу страницы ZIP Version — не требует установки…

Нас интересует вкладка «CPU:OCCT» — это и есть тестирование процессора. Можно задать продолжительность выполнения теста или выполнять его постоянно пока вы сами его не остановите. Среди всех программ что я встречал для стресс тестирования CPU — OCCT единственная имеет такие гибкие настройки.

Во время теста в меню «Мониторинг» вы сможете наблюдать самые важные параметры, такие как температура процессора или скорость вращения вентиляторов системы охлаждения.

Данный тест отлично подойдет любителям покупать железо на авито и прочих сайтах — это лучший способ проверить процессор на наличие проблем. Если он стойко выдержал около часа в OCCT — можно смело брать. (тут существует еще и тест блока питания, вообще OCCT заслуживает отдельной обзорной заметки — функционал у утилиты большой)

Если вы не до конца понимаете для чего вам стресс тест процессора, то я не рекомендую вам использовать OCCT — с нагрузкой на процессор утилита справляется на все 100, а вот такая жесткая нагрузка может быть причиной неисправности вашего компьютера

Использование lm-sensors

Затем можно будет посмотреть показания датчиков командой (можно выполнять без root привелегий):

В ответ получите примерно следующее:

acpitz-virtual-0
Adapter: Virtual device
temp1: +40.0°C (crit = +75.0°C)coretemp-isa-0000
Adapter: ISA adapter
Core 0: +42.0°C (high = +76.0°C, crit = +100.0°C)
Core 1: +42.0°C (high = +76.0°C, crit = +100.0°C)
Core 2: +46.0°C (high = +76.0°C, crit = +100.0°C)
Core 3: +42.0°C (high = +76.0°C, crit = +100.0°C)

atk0110-acpi-0
Adapter: ACPI interface
Vcore Voltage: +1.14 V (min = +0.85 V, max = +1.60 V)
+12V Voltage: +12.03 V (min = +10.20 V, max = +13.80 V)
+5V Voltage: +5.27 V (min = +4.50 V, max = +5.50 V)
+3.3V Voltage: +3.30 V (min = +2.97 V, max = +3.63 V)
MEMORY: +2.11 V (min = +1.33 V, max = +2.47 V)
+1.2V HT: +1.23 V (min = +1.08 V, max = +1.32 V)
NB: +1.31 V (min = +1.08 V, max = +1.32 V)
SB: +1.50 V (min = +1.35 V, max = +1.65 V)
CPU VTT: +1.10 V (min = +1.08 V, max = +1.32 V)
DDR2 TERM.: +1.06 V (min = +0.63 V, max = +1.17 V)
CPU PLL: +1.52 V (min = +1.35 V, max = +1.65 V)
CPU_FAN FAN Speed: 981 RPM (min = 800 RPM, max = 7200 RPM)
CHA_FAN1 FAN Speed: 518 RPM (min = 800 RPM, max = 7200 RPM)
CHA_FAN2 FAN Speed: 666 RPM (min = 800 RPM, max = 7200 RPM)
CHA_FAN3 FAN Speed: 0 RPM (min = 800 RPM, max = 7200 RPM)
OPT1 FAN FAN Speed: 0 RPM (min = 800 RPM, max = 7200 RPM)
OPT2 FAN FAN Speed: 0 RPM (min = 800 RPM, max = 7200 RPM)
OPT3 FAN FAN Speed: 0 RPM (min = 800 RPM, max = 7200 RPM)
POWER FAN Speed: 0 RPM (min = 800 RPM, max = 7200 RPM)
CPU Temperature: +32.0°C (high = +60.0°C, crit = +95.0°C)
MB Temperature: +39.0°C (high = +45.0°C, crit = +95.0°C)
OPT1: +0.0°C (high = +45.0°C, crit = +95.0°C)
OPT2: +0.0°C (high = +45.0°C, crit = +95.0°C)
OPT3: +0.0°C (high = +45.0°C, crit = +95.0°C)

Test lm-sensors

Next, you should test that lm-sensors works correctly. Run the «sensors» command and check the output. Example output is below:

w83627dhg-isa-0290
Adapter: ISA adapter
VCore:       +1.13 V  (min =  +0.00 V, max =  +1.74 V)   
in1:        +11.30 V  (min =  +0.90 V, max =  +0.05 V)   ALARM
AVCC:        +3.28 V  (min =  +2.11 V, max =  +2.40 V)   ALARM
3VCC:        +3.28 V  (min =  +2.05 V, max =  +0.37 V)   ALARM
in4:         +1.41 V  (min =  +0.00 V, max =  +1.57 V)   
in5:         +1.65 V  (min =  +0.02 V, max =  +0.14 V)   ALARM
in6:         +4.45 V  (min =  +3.28 V, max =  +1.64 V)   ALARM
VSB:         +3.28 V  (min =  +0.14 V, max =  +3.07 V)   ALARM
VBAT:        +3.22 V  (min =  +2.06 V, max =  +1.02 V)   ALARM
Case Fan:      0 RPM  (min = 2636 RPM, div = 128)  ALARM
CPU Fan:    1117 RPM  (min = 1591 RPM, div = 8)  ALARM
Aux Fan:       0 RPM  (min = 1171 RPM, div = 128)  ALARM
fan5:          0 RPM  (min =  659 RPM, div = 128)  ALARM
Sys Temp:    +31.0°C  (high = +18.0°C, hyst = +96.0°C)  sensor = thermistor
CPU Temp:    +33.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = diode
AUX Temp:   +124.5°C  (high = +80.0°C, hyst = +75.0°C)  ALARM  sensor = thermistor
cpu0_vid:   +1.163 V

coretemp-isa-0000
Adapter: ISA adapter
Core 0:      +43.0°C  (high = +82.0°C, crit = +100.0°C)  

coretemp-isa-0001
Adapter: ISA adapter
Core 1:      +43.0°C  (high = +82.0°C, crit = +100.0°C)  

coretemp-isa-0002
Adapter: ISA adapter
Core 2:      +40.0°C  (high = +82.0°C, crit = +100.0°C)  

coretemp-isa-0003
Adapter: ISA adapter
Core 3:      +43.0°C  (high = +82.0°C, crit = +100.0°C)  

This sensors output shows four devices: w83627dhg-isa-0290 (motherboard sensors) and coretemp-isa-0000 through 0004 (Intel Core sensors). The motherboard sensor device has information on the voltages received from the power supply unit by the motherboard (in1-6), the fan speeds (entries with RPM), and various internal temperatures. As you can see, some sensors are obviously incorrect (e.g. AUX Temp and Case/Aux Fan); this tends to be the case with at least some of the sensors on most motherboards.

The sensor output may be tweaked by editing the «/etc/sensors.conf» file. It is possible to correct inaccurate scaling too. For details check «man sensors.conf».

item became not supported

Во время отладки работ я столкнулся с проблемами. Периодически Item отваливались и получали статус: Not Supported. При этом в логах сервера были следующие записи:

27614:20150702:065936.698 item "videoserver:Temperature.CPU" became not supported: Timeout while executing a shell script.
27625:20150702:070938.720 item "videoserver:Temperature.CPU" became supported

То есть данные то собирались, то переставали собираться. Иногда, чтобы данные снова пошли, приходилось удалять итем и создавать его заново. Некоторое время я повозился, пока не понял, в чем дело.

Я обратил внимание, что при запуске батника из командной строки, вывод данных происходит с приличной задержкой в 3-5 секунд. В Zabbix по-умолчанию стоит параметр, по которому агент ожидает ответа от скрипта 3 секунды и на сервере есть подобный параметр, по которому сервер ждет ответа от агента 3 секунды

Если за это время данные не поступают, то итем переходит в статус Not Supported и данные с него не собираются.

Чтобы избавиться от этой ошибки, необходимо увеличить таймаут до 15-ти секунд. Меняем параметр в конфиге на клиентах и на сервере. Он и там и там один и тот же:

Timeout=15

Потом перезапускаем сервер и агентов и ждем результатов. Больше ошибок быть не должно.

На этом, собственно настройка мониторинга температуры окончена. Можно дальше все оформить как полагается: настроить тригеры, оповещения, графики красивые нарисовать. Кому что нужно. Я себе вывел вот такую картинку для наглядности:

Отображение температуры процессора в командной строке

Мы успешно установили пакет lm-sensor и успешно обнаружили поддерживаемые датчики на нашем ноутбуке с Ubuntu Linux.

Теперь мы можем выполнить следующую команду, чтобы увидеть данные о температуре:

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

Вы также можете использовать команду watch для постоянного запуска команды датчиков, которая будет отображать изменения выходного сигнала датчика на экране:

Работа с утилитой TuxClocker для видеокарт amd/nvidia в Ubuntu

Для работы с видеокартами nvidia в ubuntu утилите Tuxclocker требуется наличие установленных пакетов nvidia-smi, nvidia-settings, libxnvctrl и headers qt5base, x11extras. Для видеокарт amd требуется наличие библиотек libdrm и headers. Обычно все эти пакеты уже стоят в системе с запущенным майнингом.

Для компиляции и установки утилиты Tuxclocker для мониторинга состояния видеокарт nvidia, в терминале по очереди выполняют команды:

git clone https://github.com/Lurkki14/tuxclocker

cd tuxclocker

qmake rojekti.pro
(возможно, нужно будет установить пакет qtchooser командой sudo apt install qtchooser)

make

sudo make install

Программа Tuxclocker установится в папку /opt/tuxclocker/bin.

При появлении ошибок вида:

qmake: could not find a Qt installation of '',

а также:

Project ERROR: Unknown module(s) in QT: x11extras

нужно установить пакеты qt5 и libqt5x11extras5-dev командой:

sudo apt-get install qt5-default libqt5x11extras5-dev

Для видеокарт AMD в терминале последовательно выполняют команды:

git clone https://github.com/Lurkki14/tuxclocker

cd tuxclocker

git checkout pstatetest

qmake rojekti.pro

make

sudo make install (программа установится в папку /opt/tuxclocker/bin)

Для полноценного использования, утилиту tuxclocker нужно запускать от имени root командой:

sudo /opt/tuxclocker/bin/tuxclocker

Окна работающей утилиты tuxclocker:

Для полноценной работы с видеокартами АМД нужно включить в драйвере утилиту Radeon OverDrive. Это делается путем добавления в загрузчик ядра (не ниже версии 4.17) опции amdgpu.ppfeaturemask=0xffffffff (или amdgpu.ppfeaturemask=0xfffd7fff).

Для этого корректируют файл /etc/default/grub, а именно:

строку GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

нужно привести к виду:

GRUB_CMDLINE_LINUX_DEFAULT="quiet amdgpu.vm_fragment_size=9 radeon.si_support=0 amdgpu.si_support=1 amdgpu.dpm=1 amdgpu.ppfeaturemask=0xffffffff"

Для корректировки /etc/default/grub используют:

sudo nano /etc/default/grub

изменяют содержимое файла /etc/default/grub и обновляют grub командой:

sudo update-grub

Для справки:

В данном случае при корректировке опций загрузки ubuntu используются следующие параметры работы ядра (kernel), отвечающие за видеорежим:

  1. amdgpu.vm_fragment_size=9 — включение поддержки больших страниц памяти (аналог compute mode);
  2. nomodeset — настройка видеокарт происходит в ядре ,а не драйверах. Драйвера видеокарт не запускаются до полного запуска системы. Для майнинга этот режим применять нет смысла;
  3. quiet — при загрузке не отображаются сообщения об активации драйверов и прочей служебной информации. Для более полного контроля над компьютером и изучения процесса загрузки можно вообще отключать эту опцию;
  4. splash — режим, при котором запускается экран загрузки «глаз» и основные компоненты системы загружаются в фоновом режиме.
  5. quiet splash — тихое отображение заставки.

Параметры radeon.si_support=0 amdgpu.si_support=1 включают поддержку драйвера amdgpu для видеокарт amd вместо устаревшего драйвера radeon.

Параметр amdgpu.dpm=1 добавляет поддержку режима DPM (dynamic power management) для видеокарт AMD.

Параметр amdgpu.ppfeaturemask=0xffffffff» используется для видеокарт AMD Polaris и Vega для включения OverDrive и разблокирования возможности полноценной работы с вольтажом, частотой ядра и памяти таких видеокарт. Для Gpu Navi (RX5700) можно попробовать использовать параметр amdgpu.ppfeaturemask=0xfffd7fff.

Для проверки корректности параметров загрузки применяют команду:

printf "0x%08x\n" $(cat /sys/module/amdgpu/parameters/ppfeaturemask)

Должно отображаться значение 0xffffffff.

Рассмотрим подробнее работу с утилитой WattmanGTK, которая лучше всего работает с видеокартами AMD.

Устанавливаем компоненты

Поскольку lm-sensors работает на основании информации, предоставляемой lm-sensors и hddtemp, то в первую очередь необходима установка именно этих компонентов. Для этого выполняем такую команду:

$ sudo apt install lm-sensors hddtemp psensor

Если вы нуждаетесь в самой актуальной версии этих компонентов, тогда в команду необходимо внести небольшие изменения:

$ sudo add-apt-repository ppa:jfi/ppa

sudo apt update

sudo apt install lm-sensors hddtemp psensor

То есть, необходимо добавить PPA от разработчиков в систему.

Установка psensor в Fedora и других дистрибутивах, основанных на Red Hat, выглядит примерно так же:

$ sudo yum install lm_sensors hddtemp psensor

Первоначальная настройка lm-sensors

После установки запускаем процесс сканирования датчиков в системе.

После выполнения этой команды, программа начнет спрашивать вас о необходимости сканирования разных сенсоров (как в примере ниже).

Some south bridges, CPUs or memory controllers contain embedded sensors.
Do you want to scan for them? This is totally safe. (YES/no):

Впринципе, во всех случаях достаточно просто нажимать Enter, это будет выбирать значения предложенные программой по умолчанию. Под самый конец программа спросит разрешения добавить в файл модулей необходимые изменения, на что рекоммендуется ответить YES (по умолчанию будет предложено NO).

To load everything that is needed, add this to /etc/modules:
#—-cut here—-
# Chip drivers
coretemp
it87
#—-cut here—-
If you have some drivers built into your kernel, the list above will
contain too many modules. Skip the appropriate ones!Do you want to add these lines automatically to /etc/modules? (yes/NO)

После этого для работы программы нужно перезагрузить компьютер.

Check CPU Temperature Using Psensor

Psensor is a GUI app that allows you to monitor the temperature of various system components. This utility also allows you to monitor CPU usage and fan speed.

Psensor includes an applet indicator for Ubuntu, allowing you to display the temperature in the top panel to notify you when the temperatures get too high.

Install Psensor

Before installing Psensor, you need to install and configure Lm-sensors.

1. Run this command to install the necessary packages:

2. Next, scan for sensors in your machine:

Answer YES to any scan requests until the scan is completed.

3. To make sure the packages are installed, execute the command.

4. Update the package repository with .

5. Install Psensor using the following command:

Answer YES and wait for the installation to finish.

Using Psensor

Search for Psensor in the app menu and open the utility. The app displays a graph of the selected values and shows the CPU temperature, CPU and memory usage, free RAM, GPU temperature, and HDD temperature.

To configure Psensor and set which stats you want to see, follow these steps:

1. Click Psensor in the menu bar, followed by Preferences.

2. Check off the boxes for the options you want – whether Psensor launches on system startup, the update interval, graph colors, etc.

3. To show CPU or HDD temperatures in the top panel, go to Sensor Preferences under the Application Indicator. Enable the Display sensor in the label option.

Running sensors

Example running :

$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +35.0°C  (crit = +105.0°C)
Core 1:       +32.0°C  (crit = +105.0°C)

w83l771-i2c-0-4c
Adapter: SMBus nForce2 adapter at 4d00
temp1:        +28.0°C  (low  = -40.0°C, high = +70.0°C)
                       (crit = +85.0°C, hyst = +75.0°C)
temp2:        +37.4°C  (low  = -40.0°C, high = +70.0°C)
                       (crit = +110.0°C, hyst = +100.0°C)

Adding DIMM Temperature sensors

This article or section needs language, wiki syntax or style improvements. See Help:Style for reference.

To find the temperature sensors of DIMMs, install the package. Once installed, load the kernel module.

modprobe i2c-dev

Than search buses with this command.

i2cdetect -l

This will show the SMBuses like:

i2c-1	smbus     	SMBus PIIX4 adapter port 2 at 0b00	SMBus adapter
i2c-2	smbus     	SMBus PIIX4 adapter port 1 at 0b20	SMBus adapter
i2c-0	smbus     	SMBus PIIX4 adapter port 0 at 0b00	SMBus adapter

In my system, RAM sticks connected to the bus is SMBus 0.
command will show the devices that connected to the bus. The «-y 0» argument means use i2c-0 smbus.
You can check other buses if needed.

i2cdetect -y 0

command will gives the table:

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- 0c -- -- -- 
10: 10 -- -- -- -- -- -- -- 18 19 -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- 36 -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 4f 
50: 50 51 -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- 77 

RAM SPD’s are start from address 0x50 and RAM temp sensors start from 0x18 at same bus. In my system, there are 2 DIMMs available. So address of 0x18 and 0x19 are DIMMs temp sensors.

After found this info, to read temperatures of RAM sticks, we need kernel module loaded. After that you need to tell to module that which addresses are need to used. Process is writing <module name> <address> to smbus <path>.

modprobe jc42
echo jc42 0x18 > /sys/bus/i2c/devices/i2c-0/new_device
echo jc42 0x19 > /sys/bus/i2c/devices/i2c-0/new_device

After that your ram sticks temperature will be visible on command

jc42-i2c-0-19
Adapter: SMBus PIIX4 adapter port 0 at 0b00
temp1:        +50.7°C  (low  =  +0.0°C)                  ALARM (HIGH, CRIT)
                       (high =  +0.0°C, hyst =  +0.0°C)
                       (crit =  +0.0°C, hyst =  +0.0°C)

jc42-i2c-0-18
Adapter: SMBus PIIX4 adapter port 0 at 0b00
temp1:        +51.8°C  (low  =  +0.0°C)                  ALARM (HIGH, CRIT)
                       (high =  +0.0°C, hyst =  +0.0°C)
                       (crit =  +0.0°C, hyst =  +0.0°C)

Reading SPD values from memory modules (optional)

To read the SPD timing values from memory modules, install the package. Once installed, load the kernel module.

# modprobe eeprom

Finally, view memory information with .

Here is partial output from one machine:

# decode-dimms
Memory Serial Presence Detect Decoder
By Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner,
Jean Delvare, Trent Piepho and others


Decoding EEPROM: /sys/bus/i2c/drivers/eeprom/0-0050
Guessing DIMM is in                             bank 1

---=== SPD EEPROM Information ===---
EEPROM CRC of bytes 0-116                       OK (0x583F)
# of bytes written to SDRAM EEPROM              176
Total number of bytes in EEPROM                 512
Fundamental Memory type                         DDR3 SDRAM
Module Type                                     UDIMM

---=== Memory Characteristics ===---
Fine time base                                  2.500 ps
Medium time base                                0.125 ns
Maximum module speed                            1066MHz (PC3-8533)
Size                                            2048 MB
Banks x Rows x Columns x Bits                   8 x 14 x 10 x 64
Ranks                                           2
SDRAM Device Width                              8 bits
tCL-tRCD-tRP-tRAS                               7-7-7-33
Supported CAS Latencies (tCL)                   8T, 7T, 6T, 5T

---=== Timing Parameters ===---
Minimum Write Recovery time (tWR)               15.000 ns
Minimum Row Active to Row Active Delay (tRRD)   7.500 ns
Minimum Active to Auto-Refresh Delay (tRC)      49.500 ns
Minimum Recovery Delay (tRFC)                   110.000 ns
Minimum Write to Read CMD Delay (tWTR)          7.500 ns
Minimum Read to Pre-charge CMD Delay (tRTP)     7.500 ns
Minimum Four Activate Window Delay (tFAW)       30.000 ns

---=== Optional Features ===---
Operable voltages                               1.5V
RZQ/6 supported?                                Yes
RZQ/7 supported?                                Yes
DLL-Off Mode supported?                         No
Operating temperature range                     0-85C
Refresh Rate in extended temp range             1X
Auto Self-Refresh?                              Yes
On-Die Thermal Sensor readout?                  No
Partial Array Self-Refresh?                     No
Thermal Sensor Accuracy                         Not implemented
SDRAM Device Type                               Standard Monolithic

---=== Physical Characteristics ===---
Module Height (mm)                              15
Module Thickness (mm)                           1 front, 1 back
Module Width (mm)                               133.5
Module Reference Card                           B

---=== Manufacturer Data ===---
Module Manufacturer                             Invalid
Manufacturing Location Code                     0x02
Part Number                                     OCZ3G1600LV2G     

...
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: