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

Введение в мониторинг GPU в Linux

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

Своевременная диагностика перегрева позволяет предотвратить троттлинг, снижение производительности в играх или рендеринге, а также продлить срок службы дорогостоящего оборудования. Система мониторинга не только показывает текущие градусы, но и помогает выявить проблемы с вентиляторами или системой охлаждения GPU на ранних этапах.

Выбор конкретного метода зависит от производителя вашей видеокарты: NVIDIA, AMD или Intel. Для каждой из этих платформ существуют свои специализированные утилиты и драйверы, которые по-разному предоставляют доступ к датчикам температуры. Давайте разберем наиболее эффективные способы получения этой информации.

Мониторинг карт NVIDIA через nvtop и nvidia-smi

Для владельцев графических ускорителей от NVIDIA стандартом де-факто является утилита nvidia-smi, которая идет в комплекте с проприетарными драйверами. Эта команда выводит детальную информацию о загрузке, памяти и температуре в текстовом виде прямо в терминале. Она особенно удобна для быстрой проверки без установки дополнительного софта.

Однако, если вам нужен более наглядный мониторинг с графиками и историей температур, лучше установить утилиту nvtop. Это интерактивный менеджер процессов, аналогичный htop, но специально адаптированный для видеокарт. Он отображает загрузку GPU, температуру, частоты и память в реальном времени в удобном цветовом интерфейсе.

Установка nvtop в различных дистрибутивах выполняется одной командой. Например, на Ubuntu или Debian это делается через менеджер пакетов:

sudo apt install nvtop

После установки запуск происходит простым вводом команды nvtop в терминале. Интерфейс автоматически определяет тип GPU и показывает температуру в верхнем правом углу. Обратите внимание, что для корректной работы NVIDIA драйверов в Linux часто требуется активация режима Persistence Mode, чтобы ядро не выгружалось при простое.

⚠️ Внимание: Утилита nvidia-smi может показывать температуру только при наличии установленных проприетарных драйверов NVIDIA. Открытые драйверы Nouveau часто не предоставляют доступ к полным данным о сенсорах температуры.

Проверка температуры карт AMD и Intel

Для пользователей видеокарт AMD и Intel ситуация кардинально отличается от NVIDIA. Эти производители используют открытый драйвер amdgpu и i915 соответственно, которые интегрированы в ядро Linux. Это позволяет получать данные о температуре через стандартные системные утилиты, такие как lm-sensors.

Первым шагом является установка пакета lm-sensors и запуск утилиты конфигурации sensors-detect. После сканирования системы она предложит загрузить необходимые модули ядра для доступа к сенсорам. Если вы используете современную карту Radeon или Intel Arc, данные должны появиться автоматически после настройки.

sudo sensors-detect

sensors

Команда sensors выведет список всех датчиков в системе. Вам нужно найти блок, соответствующий GPU. Обычно он помечен как amdgpu-pci-xxxx или coretemp для некоторых интегрированных решений. Температура указывается в градусах Цельсия и часто сопровождается статусом (например, "ok" или "ALARM", если превышен порог).

Альтернативным и более современным способом для карт AMD является утилита radeontop или corectrl с графическим интерфейсом. Эти инструменты позволяют не только смотреть температуру, но и управлять вентиляторами, если драйвер поддерживает такую функцию через интерфейс DRM.

Как узнать ID видеокарты

В терминале введите команду lspci | grep -i vga, чтобы увидеть точную модель вашего GPU и идентификатор PCI, который используется в выводе команд мониторинга.

⚠️ Внимание: Данные от lm-sensors могут быть неточными на старых картах AMD, если ядро Linux устарело. Для корректного чтения сенсоров требуется обновление ядра до версии 5.x или новее.
📊 Какая у вас видеокарта?
NVIDIA (GeForce)
AMD (Radeon)
Intel (Arc/Iris)
Мне всё равно, просто проверить

Детальный анализ через vdpauinfo и clinfo

Иногда стандартные команды могут не показывать температуру напрямую, но выдают информацию о загрузке и поддержке кодеков. В таких случаях стоит воспользоваться утилитами vdpauinfo и clinfo. Команда vdpauinfo проверяет поддержку аппаратного декодирования видео и часто выводит состояние драйвера, что косвенно подтверждает его работоспособность.

Для более глубокой диагностики, особенно если вы используете OpenCL для рендеринга, подойдет clinfo. Она выводит обширную информацию о вычислительных возможностях GPU, включая названия устройств и их характеристики. Хотя это не прямой термометр, отсутствие вывода здесь может указывать на проблемы с драйвером, которые мешают считыванию температур.

Если вы видите, что nvidia-smi не работает, а sensors показывает нули или пустые строки, проблема может быть в том, что драйвер не загрузился корректно. В этом случае стоит проверить загрузку модулей ядра с помощью команды lsmod | grep nvidia или аналогичной для AMD.

Примечание:
Для карт Intel иногда требуется установка пакета intel-gpu-tools для получения детальной статистики через команду intel_gpu_top.

Графический мониторинг с помощью PSensor и GKrellM

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

Установка psensor может потребовать настройки плагинов для чтения данных о GPU. Утилита отлично интегрируется с lm-sensors. Для карт NVIDIA может потребоваться дополнительная настройка, так как psensor изначально ориентирован на датчики материнской платы.

Для пользователей, предпочитающих модульные системы мониторинга, подойдет GKrellM. Это старый, но надежный инструмент, который позволяет собирать данные из различных источников и выводить их в виде компактных виджетов на рабочем столе. Он поддерживает плагины для чтения температур GPU.

Утилита Тип интерфейса Поддержка NVIDIA Поддержка AMD/Intel Сложность настройки
nvtop TUI (Терминал) Отличная Хорошая Низкая
nvidia-smi CLI (Командная строка) Исключительная Нет Нулевая
lm-sensors CLI (Командная строка) Частичная Отличная Средняя
psensor GUI (Графика) Средняя Хорошая Высокая
⚠️ Внимание: Графические утилиты мониторинга потребляют дополнительные ресурсы системы. Если вы проводите стресс-тесты, лучше использовать консольные инструменты, чтобы не влиять на результаты.

☑️ Быстрая диагностика GPU

Выполнено: 0 / 4

Автоматизация и создание скриптов мониторинга

Для опытных пользователей, желающих отслеживать температуру в фоновом режиме или получать уведомления при перегреве, можно написать простой скрипт на Bash или Python. Скрипт будет периодически опрашивать датчики и записывать логи в файл. Это полезно для анализа тепловых режимов под нагрузкой в течение длительного времени.

Пример простейшего скрипта для проверки температуры через nvidia-smi может выглядеть так: он запускает команду, парсит вывод и сравнивает значение с заданным порогом. Если температура превышает, например, 85°C, скрипт может выводить предупреждение в консоль или запускать скрипт охлаждения.

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

Такой подход позволяет интегрировать мониторинг в более сложные системы управления сервером или рабочим столом. Вы можете настроить systemd таймеры для запуска проверок каждые несколько минут.

Также стоит упомянуть возможность использования inxi — мощной утилиты для сбора информации о системе. Команда inxi -G покажет базовые данные о видеокарте, включая использование драйверов, но не всегда температуру. Для температуры часто требуется использование флага -F вместе с lm-sensors.

Типичные проблемы и способы их решения

Иногда пользователи сталкиваются с тем, что команды показывают "N/A" или "0°C". Самая частая причина для карт NVIDIA — отсутствие проприетарных драйверов или некорректная конфигурация ядра. В этом случае необходимо проверить, загружен ли модуль nvidia и работает ли сервис.

Для карт AMD проблема может заключаться в устаревшем ядре Linux. Новые датчики часто требуют поддержки со стороны ядра, которой нет в старых релизах дистрибутивов. Обновление до более свежей версии ядра или использование дистрибутива с актуальным ядром (например, Arch Linux или Fedora) решает эту проблему.

В редких случаях, если карта не определяется вообще, стоит проверить подключение и работоспособность слота PCIe. Также убедитесь, что в BIOS/UEFI настройки безопасности (например, Secure Boot) не блокируют загрузку сторонних драйверов.

FAQ: Часто задаваемые вопросы

Почему nvidia-smi показывает 0 градусов?

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

Можно ли контролировать вентиляторы через Linux?

Да, для карт NVIDIA это можно сделать утилитами nvidia-settings или скриптами. Для AMD настройка вентиляторов через софт часто ограничена, и карты полагаются на встроенные алгоритмы BIOS.

Какая температура считается нормальной для Linux?

Нормальная температура в простое составляет 30-50°C. Под нагрузкой допустимым считается диапазон 60-80°C, в зависимости от модели и режима работы системы охлаждения.

Нужно ли устанавливать драйверы для мониторинга Intel GPU?

Обычно нет. Драйверы i915 встроены в ядро Linux. Достаточно установить утилиты intel-gpu-tools или lm-sensors для чтения данных.