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

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

Процедура проверки зависит от производителя графического адаптера, так как драйверы NVIDIA и AMD используют разные механизмы экспорта данных в ядро Linux. Пользователю потребуется либо установить специализированный софт, либо использовать встроенные консольные команды, чтобы получить актуальную картину теплового состояния системы.

Быстрая проверка через терминал для карт AMD

Для владельцев видеокарт серии Radeon процесс мониторинга максимально упрощен благодаря открытой архитектуре драйверов. Достаточно открыть терминал и ввести команду cat /sys/class/drm/card0/device/hwmon/hwmon*/temp1_input, чтобы получить текущее значение в милликельвинах. Это самый быстрый способ, не требующий установки дополнительного программного обеспечения.

Однако, если вы хотите видеть не только текущее значение, но и динамику, лучше использовать утилиту watch. Введите watch -n 2 cat /sys/class/drm/card0/device/hwmon/hwmon*/temp1_input, чтобы обновлять показания каждые две секунды. Это позволит отследить, как быстро нагревается чип под нагрузкой.

Иногда система может не определить путь к датчикам автоматически, особенно если у вас несколько видеокарт или гибридная графика. В таком случае необходимо проверить список устройств, введя команду ls /sys/class/drm/. Если вы видите несколько карточек, попробуйте изменить номер (например, card1) в пути к файлу температуры.

Внимание ⚠️: Значения, полученные через temp1_input, часто возвращаются в милликельвинах. Для перевода в градусы Цельсия необходимо разделить число на 1000. Например, значение 72000 означает 72 градуса.

Инструментарий для видеокарт NVIDIA

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

В выводе команды вы увидите строку с надписью GPU Temp или просто значение температуры в градусах Цельсия. Это стандартный метод, который работает стабильно на всех дистрибутивах, поддерживающих драйверы NVIDIA. Если команда не найдена, драйвер либо не установлен, либо используется открытый драйвер Nouveau, который имеет ограниченный функционал мониторинга.

Для более детального вывода только температуры можно использовать флаг --query-gpu=temperature.gpu. Команда nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader выдаст только числовое значение, что удобно для скриптов или автоматизации. Это избавляет от необходимости искать нужную цифру в громоздком выводе.

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

Установка графических утилит мониторинга

Работа исключительно в терминале подходит не всем пользователям, поэтому установка графических приложений значительно упрощает задачу. Одной из лучших утилит является Psensor, которая поддерживает мониторинг большинства сенсоров, включая видеокарты. Для установки введите sudo apt install psensor и запустите приложение из меню.

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

Альтернативой служит GKrellM или Conky, которые позволяют создать виджет прямо на рабочем столе. Эти инструменты требуют немного больше времени на настройку конфигурационных файлов, но предоставляют максимально гибкую визуализацию. Вы сможете вынести показания температуры в любой угол экрана.

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

Настройка Conky для NVIDIA

В файле ~/.conkyrc добавьте строку ${nvidia temp} для отображения температуры. Не забудьте добавить ${nvidia tempcolor} для цветовой индикации перегрева.

Внимание ⚠️: При использовании сторонних утилит убедитесь, что репозитории обновлены. Старые версии пакетов могут конфликтовать с новыми версиями драйверов Linux, вызывая зависания интерфейса.
📊 Какая у вас видеокарта?
NVIDIA (проприетарный драйвер)
AMD Radeon (открытый драйвер)
Intel Integrated
Другое решение

Мониторинг в реальном времени через утилиту nvtop

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

Установить nvtop можно через стандартный менеджер пакетов: sudo apt install nvtop. После запуска вы увидите интерактивный график, где температурные показатели выделены цветом. Это позволяет мгновенно оценить тепловую нагрузку без лишних кликов и настроек.

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

Если утилита не видит карту, проверьте, установлен ли пакет nvidia-settings для карт NVIDIA. Для AMD убедитесь, что модуль kfd загружен. Иногда требуется перезагрузка системы после установки драйверов для корректной работы мониторинга.

☑️ Проверка готовности к мониторингу

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

Сравнение методов и их ограничения

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

Метод Тип доступа Требует установки Поддержка NVIDIA
cat /sys/class/drm Терминал Нет Частично (через Nouveau)
nvidia-smi Терминал Нет (с драйвером) Полная
Psensor Графический интерфейс Да Полная
nvtop Терминал (Интерактивный) Да Полная

Стоит отметить, что метод через /sys/class/drm может не работать для карт NVIDIA с проприетарными драйверами, так как они не пишут данные в этот каталог по умолчанию. В таких случаях единственным надежным способом остается nvidia-smi или nvtop.

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

Для автоматизации уведомлений в скриптах лучше всего подходит команда nvidia-smi --query-gpu=temperature.gpu, так как она возвращает чистый текст без лишних заголовков и форматирования, что упрощает парсинг.

Частые проблемы и способы их решения

Иногда пользователи сталкиваются с тем, что температура отображается как 0°C или "N/A". Это часто свидетельствует о том, что драйвер не загружен или не имеет доступа к аппаратным датчикам. Проверьте статус службы драйверов командой systemctl status nvidia.service или аналогичной для вашей модели.

Другая распространенная проблема — отсутствие прав доступа к файлам датчиков. Если вы получаете ошибку "Permission denied", попробуйте добавить текущего пользователя в группу video или запустите команду с правами суперпользователя sudo. Однако постоянный запуск с правами root не рекомендуется из соображений безопасности.

Если вы используете ноутбук с гибридной графикой, система может отображать температуру только встроенного графического процессора. Для проверки дискретной карты (например, NVIDIA) необходимо принудительно активировать её через утилиту nvidia-settings или переключить профиль в BIOS.

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

Внимание ⚠️: Никогда не отключайте мониторинг температуры, если вы планируете разгонять видеокарту. Отсутствие контроля за перегревом может привести к мгновенной поломке оборудования.

Оптимизация работы при высоких температурах

Если вы обнаружили, что температура постоянно превышает допустимые нормы (выше 80-85°C), стоит предпринять меры по оптимизации. В первую очередь проверьте настройки вентиляторов в Psensor или nvidia-settings. Увеличение оборотов куллера может снизить температуру на 5-10 градусов.

Для адаптеров AMD можно использовать утилиту amdgpu для настройки кривой вентиляторов. Введите sudo amdgpu-util или используйте графические интерфейсы, такие как CoreCtrl, чтобы задать более агрессивный профиль охлаждения.

Также стоит проверить физическую чистоту системы охлаждения. Засорение пылью радиаторов — самая частая причина перегрева. Если программные методы не помогают, возможно, потребуется чистка ноутбука или ПК от пыли.

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

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

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

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

Введите команду sudo apt install intel-gpu-tools, затем используйте intel_gpu_top для мониторинга температуры и нагрузки в реальном времени.

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

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

Что делать, если датчики показывают нереалистично высокие значения?

Возможно, драйвер работает некорректно. Попробуйте обновить ядро Linux или использовать официальную версию драйвера с сайта производителя видеокарты.