Как посмотреть температуру процессора и видеокарты в Linux: полное руководство с командами

Контроль температуры процессора и видеокарты в Linux — критически важная задача для предотвращения перегрева, особенно при разгоне, рендеринге или длительных нагрузках. В отличие от Windows, где достаточно установить HWMonitor или MSI Afterburner, в Linux мониторинг требует знания консольных команд или специализированных утилит. Проблема усложняется разнообразием дистрибутивов и архитектур: датчики могут называться по-разному в Ubuntu, Arch Linux или Fedora, а для видеокарт NVIDIA и AMD используются разные инструменты.

В этой статье вы найдёте актуальные способы проверки температуры для всех современных дистрибутивов, включая команды для терминала, графические программы и даже интеграцию с панелями GNOME или KDE. Мы разберём нюансы работы с датчиками lm-sensors, драйверами NVIDIA/AMD, а также покажем, как настроить автоматический мониторинг с оповещениями. Если вы столкнулись с внезапными выключениями ПК, артефактами на экране или замедлением системы — эта инструкция поможет выявить причину.

1. Подготовка системы: установка необходимых пакетов

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

Для процессоров Intel/AMD и материнских плат потребуется пакет lm-sensors (он же sensors), а для видеокарт — дополнительные инструменты в зависимости от производителя:

  • 🔧 Для Intel и AMD CPU: sudo apt install lm-sensors (Debian/Ubuntu) или sudo pacman -S lm_sensors (Arch).
  • 🎮 Для NVIDIA GPU: драйвер nvidia-driver + утилита nvidia-smi (входит в пакет драйвера).
  • 🔥 Для AMD GPU: пакет radeontop или rocm-smi (для профессиональных карт).

После установки lm-sensors необходимо обнаружить датчики в системе командой:

sudo sensors-detect

Отвечайте Yes на все вопросы скрипта — это позволит загрузить модули ядра для мониторинга. По завершении перезагрузите ПК или вручную загрузите модули:

sudo modprobe coretemp  # Для процессоров Intel

sudo modprobe k10temp # Для процессоров AMD

⚠️ Внимание: На некоторых ноутбуках (например, Lenovo ThinkPad или Dell XPS) датчики могут быть заблокированы BIOS. Если команда sensors не показывает данные, проверьте настройки Embedded Controller в BIOS или обновите прошивку.

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

Самый универсальный способ — использовать команду sensors из пакета lm-sensors. Она выводит данные со всех доступных датчиков:

sensors

Пример вывода для процессора Intel Core i7-12700K:

coretemp-isa-0000

Adapter: ISA adapter

Package id 0: +45.0°C (high = +100.0°C, crit = +100.0°C)

Core 0: +42.0°C (high = +100.0°C, crit = +100.0°C)

Core 1: +43.0°C

...

Ключевые параметры в выводе:

  • 🌡️ Package id 0 — общая температура процессора (самый важный показатель).
  • 🔥 Core X — температура отдельных ядер (может отличаться на 5–10°C).
  • ⚠️ crit — критическая температура, при которой срабатывает аварийное отключение.

Для AMD Ryzen вывод будет похожим, но вместо coretemp используется модуль k10temp. Если температура одного ядра значительно выше остальных (на 15°C+), это может указывать на проблемы с термопастой или системой охлаждения.

3. Мониторинг температуры видеокарты

Способ проверки температуры видеокарты зависит от её производителя. Рассмотрим варианты для NVIDIA, AMD и интегрированной графики Intel.

3.1. Видеокарты NVIDIA

Для карт NVIDIA (серии GTX, RTX, Quadro) используйте утилиту nvidia-smi, которая входит в состав проприетарного драйвера:

nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader

Команда выведет температуру GPU в градусах Цельсия. Для детальной информации (включая температуру памяти и мощность) используйте:

nvidia-smi -q | grep -i temperature

3.2. Видеокарты AMD

Для карт AMD Radeon (серии RX 5000, RX 6000, RDNA 3) подойдёт утилита radeontop:

sudo radeontop

В верхней части экрана отобразится температура GPU (поле temp). Альтернатива — пакет rocm-smi для профессиональных карт:

rocm-smi --showtemp

3.3. Интегрированная графика Intel

Для встроенной графики Intel UHD или Iris Xe температура мониторится через sensors (как для CPU) или утилиту intel_gpu_top:

sudo intel_gpu_top
⚠️ Внимание: На видеокартах AMD старше архитектуры GCN 1.0 (например, Radeon HD 7000) датчики температуры могут отсутствовать. В этом случае мониторинг возможен только через BIOS или внешние устройства (например, USB-термометр).
Производитель Команда Пример вывода Примечания
NVIDIA nvidia-smi -q | grep Temp GPU Current Temp: 55 °C Требует проприетарный драйвер nvidia-driver.
AMD radeontop temp: 62.0°C Работает только с открытым драйвером amdgpu.
Intel sensors Package id 0: +48.0°C Температура GPU совпадает с температурой процессора.

4. Графические утилиты для мониторинга

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

  • 📊 Psensor — простая утилита для отображения температуры CPU/GPU и скорости вентиляторов. Установка:
    sudo apt install psensor  # Debian/Ubuntu
    

    sudo pacman -S psensor # Arch

    После запуска (psensor) добавьте виджет на панель GNOME или KDE.

  • 🖥️ Hardinfo — аналог CPU-Z для Linux. Показывает температуру в разделе Sensors:
    sudo apt install hardinfo
  • 🎛️ GKrellM — продвинутый монитор системы с поддержкой плагинов для GPU. Установите плагин gkrellm-nvidia для карт NVIDIA.

Для пользователей KDE Plasma есть встроенный апплет Thermal Monitor, который можно добавить на панель через Добавить виджеты → Системный монитор.

📊 Какую утилиту для мониторинга вы используете чаще?
Терминал (sensors/nvidia-smi)
Psensor
Hardinfo
GKrellM
Другую

5. Автоматический мониторинг и оповещения

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

5.1. Логирование температуры в файл

Создайте скрипт, который будет записывать температуру в файл каждые 5 минут:

#!/bin/bash

while true; do

echo "$(date) — CPU: $(sensors | grep 'Package id 0' | awk '{print $4}') — GPU: $(nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader)" >> /tmp/temp_log.txt

sleep 300

done

Сохраните его как temp_monitor.sh, сделайте исполняемым (chmod +x temp_monitor.sh) и запустите в фоновом режиме:

nohup ./temp_monitor.sh &

5.2. Оповещения через уведомления

Для отправки уведомлений при перегреве используйте notify-send (требуется пакет libnotify-bin):

#!/bin/bash

TEMP=$(sensors | grep 'Package id 0' | awk '{print $4}' | tr -d '+°C')

if [ "$TEMP" -gt 80 ]; then

notify-send "⚠️ Перегрев CPU!" "Температура: ${TEMP}°C"

fi

Для NVIDIA GPU замените строку получения температуры на:

TEMP=$(nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader)

Установить пакет libnotify-bin|Создать скрипт для логирования|Добавить скрипт в автозагрузку (crontab -e)|Проверить права на выполнение (chmod +x)-->

6. Проблемы с датчиками и их решение

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

6.1. Датчики не обнаружены

Если команда sensors выводит No sensors found!, выполните следующие шаги:

  1. Проверьте загрузку модулей ядра:
    lsmod | grep -E 'coretemp|k10temp|nvidia'

    Если модули отсутствуют, загрузите их вручную (см. раздел 1).

  2. Обновите пакет lm-sensors и повторите sensors-detect.
  3. Проверьте наличие датчиков в /sys/class/thermal/:
    ls /sys/class/thermal/

    Если папки thermal_zoneX есть, но sensors их не видит, проблема в правах доступа. Добавьте пользователя в группу video:

    sudo usermod -aG video $USER

6.2. Неправильные показания

Если температура процессора показывается как +127.0°C или отрицательная, это указывает на сбой датчика. Возможные причины:

  • 🔌 Неисправный контакт датчика с процессором (часто встречается после замены термопасты).
  • 🛠️ Повреждение материнской платы (например, после разгона или скачка напряжения).
  • 🖥️ Устаревшая версия BIOS/UEFI (обновите прошивку через утилиту производителя).

Для видеокарт NVIDIA ошибки типа NVIDIA-SMI has failed обычно связаны с некорректной установкой драйвера. Переустановите его:

sudo apt purge nvidia*  # Удаление старых драйверов

sudo ubuntu-drivers autoinstall # Автоматическая установка (Ubuntu)

⚠️ Внимание: На некоторых серверных процессорах Intel Xeon или AMD EPYC датчики температуры могут быть отключены в BIOS по умолчанию. Включите их в разделе Advanced → CPU Configuration → Thermal Monitoring.
Что делать, если температура GPU не отображается в nvidia-smi?

Это типичная проблема для ноутбуков с гибридной графикой (NVIDIA Optimus). Решения:

1. Переключитесь на дискретную графику через prime-select nvidia (Ubuntu).

2. Используйте __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia nvidia-smi.

3. Установите пакет nvidia-prime и перезагрузитесь.

7. Нормальные значения температуры и когда бить тревогу

Нормальные температуры зависят от модели процессора/видеокарты, системы охлаждения и нагрузки. Ниже приведены ориентировочные значения:

Компонент Без нагрузки Под нагрузкой Критическая
Intel Core i5/i7/i9 (десктоп) 30–45°C 60–85°C 100°C (автоотключение)
AMD Ryzen 5/7/9 (десктоп) 35–50°C 70–90°C 95°C
NVIDIA RTX 30/40 30–50°C 65–85°C 95–105°C
AMD RX 6000/7000 35–55°C 70–90°C 100–110°C
Ноутбуки (CPU/GPU) 40–60°C 75–95°C 100–105°C

Превышение критических значений ведёт к thermal throttling (автоматическому снижению частот) или аварийному отключению. Если температура под нагрузкой приближается к максимуму:

  • 🧹 Очистите систему охлаждения от пыли (особенно актуально для ноутбуков).
  • 🔄 Замените термопасту (для десктопов — каждые 2–3 года).
  • 🌀 Проверьте работу вентиляторов: sensors должен показывать обороты (поле fanX).
  • 🔧 Откатите разгон (если применялся) или снизьте напряжение (undervolting).

Для видеокарт NVIDIA температуру памяти можно проверить командой:

nvidia-smi --query-gpu=temperature.memory --format=csv,noheader

Нормальные значения — до 90–95°C. Превышение ведёт к ошибкам в играх или рендере.

FAQ: Частые вопросы по мониторингу температуры в Linux

Можно ли проверить температуру без установки дополнительных пакетов?

Да, в большинстве дистрибутивов данные датчиков доступны в папке /sys/class/thermal/. Например, температура CPU:

cat /sys/class/thermal/thermal_zone0/temp

Значение выводится в миллиградусах Цельсия (разделите на 1000). Однако этот метод не показывает температуру GPU и требует ручного поиска нужного датчика.

Почему температура GPU в nvidia-smi отличается от показаний в Windows?

Разница в 5–10°C — нормальна из-за разных алгоритмов сглаживания показаний. В Linux nvidia-smi обновляет данные реже (раз в 1–2 секунды), тогда как в Windows утилиты вроде GPU-Z опрашивают датчики чаще. Для точного сравнения используйте одинаковую нагрузку (например, тест glxgears или furmark).

Как проверить температуру на сервере без графического интерфейса?

На серверах (например, с Ubuntu Server) устанавливайте только консольные утилиты:

sudo apt install lm-sensors hddtemp

Для удалённого мониторинга настройте отправку логов по SSH или email:

echo "Температура CPU: $(sensors | grep 'Package id 0')" | mail -s "Алерт: перегрев" admin@example.com
Какие утилиты поддерживают мониторинг температуры для ARM-процессоров (Raspberry Pi, Orange Pi)?

Для ARM-устройств (например, Raspberry Pi 4/5) используйте:

vcgencmd measure_temp  # Для Raspberry Pi

cat /sys/class/thermal/thermal_zone0/temp # Универсальный метод

Утилита lm-sensors на ARM работает ограничено — поддерживаются не все датчики.

Можно ли ограничить максимальную температуру для процессора?

Да, для Intel и AMD CPU можно настроить thermal throttling через BIOS или утилиты:

  • Для Intel: intel_pstate (драйвер управления частотой). Ограничьте максимальную частоту:
    echo 3000000 | sudo tee /sys/devices/system/cpu/cpufreq/policy*/scaling_max_freq
  • Для AMD: используйте ryzenadj (для Ryzen):
    ryzenadj --stapm-limit=20000 --fast-limit=20000

Для видеокарт NVIDIA ограничение температуры настраивается через nvidia-settings (вкладка Thermal Settings).