Считывание температуры процессора в CentOS
Содержание
Установка
Утилита называется sensors, она показывает температуру по каждому ядру процессора. Входит в пакет lm_sensors.
yum install lm_sensors
Для её работы потребуется установить модуль ядра, который может считывать информацию с температурных датчиков ядер. Его потребуется установить из репозитория elrepo.
Устанавливаем репозиторий:
rpm --import http://elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://elrepo.org/elrepo-release-6-4.el6.elrepo.noarch.rpm
Устанавливаем модуль coretemp:
yum --enablerepo=elrepo install kmod-coretemp modprobe coretemp
Запуск
Запускаем утилиту обнаружения сенсоров, на все задаваемые вопросы жмём enter:
sensors-detect
Запускаем утилиту sensors:
sensors coretemp-isa-0000 Adapter: ISA adapter Core 0: +27.0°C (high = +74.0°C, crit = +94.0°C) coretemp-isa-0001 Adapter: ISA adapter Core 1: +29.0°C (high = +74.0°C, crit = +94.0°C) coretemp-isa-0002 Adapter: ISA adapter Core 2: +31.0°C (high = +74.0°C, crit = +94.0°C) coretemp-isa-0003 Adapter: ISA adapter Core 3: +29.0°C (high = +74.0°C, crit = +94.0°C)
Утилита вывела температуру по каждому ядру процессора. Вывод можно упростить, используя команду grep Core:
sensors | grep Core
Пример
Четырёхъядерный Xeon E3-1230 оказался весьма холодным без нагрузки. Теперь надо посмотреть, насколько он нагреется под нагрузочным тестом. Я использовал утилиту stress, которая есть в репозитории DAG.
rpm -ivh http://download.fedora.redhat.com/pub/epel/6/x86_64/stress-1.0.4-4.el6.x86_64.rpm
Запустим например с такими параметрами:
stress --cpu 8 --vm 2 --vm-bytes 128M
Здесь создаётся 8 процессов, нагружающих процессор и 2 процесса непрерывно создающих и удаляющих блоки по 128МБ в оперативной памяти.
Откроем вторую консоль и проследим за динамикой роста температуры:
watch 'sensors | grep Core'
Спустя час после запуска утилиты нагрузочного тестирования сенсоры показывают такой результат:
Every 2.0s: sensors | grep Core Mon Dec 4 04:27:01 2011 Core 0: +61.0°C (high = +74.0°C, crit = +94.0°C) Core 1: +63.0°C (high = +74.0°C, crit = +94.0°C) Core 2: +66.0°C (high = +74.0°C, crit = +94.0°C) Core 3: +60.0°C (high = +74.0°C, crit = +94.0°C)