Проверка видеокарты NVIDIA в Linux: диагностика и мониторинг

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

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

Иногда система может использовать встроенный драйвер Nouveau вместо проприетарного, что значительно снижает производительность. Аппаратная диагностика позволяет быстро выявить эту проблему и переключиться на правильный стек драйверов. В этой статье мы разберем основные методы проверки состояния вашей видеокарты, включая команды для мониторинга температуры и использования памяти.

Идентификация оборудования и базовые команды

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

Выполните команду

lspci | grep -i nvidia
в терминале. Если вывод содержит строку с названием вашей видеокарты (например, GeForce RTX 3060 или Quadro P2000), это означает, что оборудование обнаружено аппаратно. Отсутствие вывода часто указывает на физическую неисправность, плохой контакт в слоте или проблему с питанием модуля.

Важно отличать наличие устройства от наличия рабочего драйвера. Карта может быть видна в списке lspci, но если драйвер не загружен, система будет использовать базовые возможности для вывода изображения. Статус загрузки ядра драйвера проверяется командой

lsmod | grep nvidia
. Если после выполнения команды вы видите список модулей, начинающихся с nvidia_uvm, nvidia_drm или nvidia_modeset, значит, драйвер активен.

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

⚠️ Внимание: Если вы видите устройство в lspci, но нет модулей в lsmod, не пытайтесь перезагружать систему многократно. Это может указывать на блокировку драйвера модулями безопасности или неправильную подпись ядра в режиме Secure Boot.
📊 Какой метод проверки вы используете чаще всего?
Команды терминала
Графические утилиты
Файлы логов
Не проверяю, если работает

Использование утилиты nvidia-smi для мониторинга

Самый мощный и информативный инструмент для проверки состояния видеокарты — это утилита nvidia-smi (NVIDIA System Management Interface). Она входит в состав проприетарного драйвера и предоставляет детальную информацию о загрузке, памяти, температуре и потреблении энергии. Запуск этой команды без параметров выводит сводную таблицу по всем доступным GPU.

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

Поле в выводе Описание Нормальное состояние
Driver Version Версия установленного драйвера Актуальная версия с сайта NVIDIA
CUDA Version Версия поддерживаемой платформы CUDA Соответствует версии драйвера
Memory-Usage Использование видеопамяти Варьируется в зависимости от задач
Temp / Perf Температура и уровень производительности Перед P2 (Performance)
Processes Список процессов, использующих GPU Список активных приложений

Если команда nvidia-smi выдает ошибку "command not found", это означает, что проприетарный драйвер не установлен или не настроен корректно. В этом случае система, скорее всего, использует открытый драйвер Nouveau, который не поддерживает этот интерфейс управления. Отсутствие утилиты — главный индикатор того, что вы не используете полную мощность железа.

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

nvidia-smi -l 5
, чтобы получать обновления статистики каждые 5 секунд. Это позволяет наблюдать за скачками температуры при запуске тяжелых приложений или рендеринге.

☑️ Этапы проверки через nvidia-smi

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

Диагностика через графический интерфейс

Не всем пользователям удобно работать в терминале. В дистрибутивах с графической оболочкой существуют альтернативные способы проверки статуса NVIDIA. В настройках вашей системы часто можно найти отдельный пункт меню, например, Параметры NVIDIA (NVIDIA X Server Settings) или раздел в диспетчере оборудования.

Утилита NVIDIA Settings предоставляет наглядный интерфейс для просмотра информации о GPU, включая детализацию по каждому ядру, частоты и полосу пропускания памяти. Если этот пункт отсутствует в меню приложений, драйвер либо не установлен, либо его графический компонент поврежден. Наличие меню является косвенным подтверждением работоспособности проприетарного стека.

Также можно использовать сторонние утилиты мониторинга, такие как GreenWithEnvy или стандартный системный монитор htop (с соответствующими плагинами). Они позволяют отслеживать нагрузку в реальном времени, но часто требуют дополнительных прав доступа. Графический мониторинг удобен для визуализации пиковых нагрузок, которые трудно отследить в текстовом режиме.

Что такое GreenWithEnvy?Это популярная открытая утилита для Linux, позволяющая не только мониторить нагрузку на GPU, но и разгонять карту, регулировать вентиляторы и контролировать напряжение. Однако использование разгона на Linux требует особой осторожности, так как драйверы могут вести себя иначе, чем в Windows.-->

Анализ логов ядра и ошибок подключения

Если базовые проверки не дают ясной картины, необходимо обратиться к системным логам. Файл /var/log/Xorg.0.log содержит информацию о том, как графический сервер X.Org или Wayland инициализировал видеокарту. Поиск по строке "(EE)" (Error) или "(WW)" (Warning) часто выявляет проблемы с загрузкой модулей.

В логах вы можете увидеть сообщения о конфликте версий модулей или неудачной попытке инициализации DRM (Direct Rendering Manager). Конфликт DRM часто возникает, если модуль nvidia-drm не был загружен с нужными параметрами. Проверьте наличие строки "modeset=1" в загрузочных параметрах ядра.

Иногда система успешно загружает драйвер, но не может выводить изображение из-за проблем с разрешением или частотой обновления. Логи помогут определить, пытается ли система использовать PCIe Gen 3, когда карта поддерживает только Gen 4, или наоборот. Анализ логов — это единственный способ понять причину глубоких сбоев графической подсистемы.

⚠️ Внимание

При анализе логов Xorg.0.log обращайте внимание на строки, начинающиеся с "NVRM". Они содержат специфические сообщения от драйвера NVIDIA, которые часто указывают на критические ошибки версий или совместимости.

Проверка совместимости и версий CUDA

Для разработчиков и любителей игр критически важна поддержка версий CUDA. Библиотеки для машинного обучения (TensorFlow, PyTorch) требуют конкретных версий драйверов и CUDA Toolkit. Утилита nvidia-smi показывает максимальную версию CUDA, поддерживаемую драйвером, но не гарантирует наличие всех необходимых компонентов в системе.

Чтобы проверить установленный Toolkit, выполните команду

nvcc --version
. Если она не найдена, значит, компилятор CUDA не установлен или его путь не добавлен в переменную окружения PATH. Различие версий между тем, что показывает nvidia-smi, и тем, что показывает nvcc, является частой причиной ошибок компиляции.

Важно учитывать, что драйвер обратно совместим с более старыми версиями CUDA, но не наоборот. Если ваша карта поддерживает только определенную архитектуру (например, Ampere или Turing), старые версии CUDA могут не работать корректно. Архитектура GPU определяет, какие вычислительные возможности доступны для программиста.

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

Частой проблемой является ситуация, когда драйвер не загружается после обновления ядра. В таком случае модули nvidia перестают быть совместимыми с новым ядром. Решение заключается в переустановке драйвера или пересборке модулей DKMS. Механизм DKMS автоматически пересобирает модули ядра при обновлении, если он настроен корректно.

Другая проблема — "черный экран" после загрузки. Это часто происходит из-за конфликта между проприетарным драйвером и режимом Secure Boot в BIOS. Вам нужно либо отключить Secure Boot, либо подписать модули драйвера собственным ключом. Безопасная загрузка блокирует любые неподписанные модули, что делает драйверы NVIDIA невидимыми для системы.

Иногда помогает добавление параметра nvidia-drm.modeset=1 в загрузочную конфигурацию. Это активирует прямой рендеринг и улучшает совместимость с Wayland и современными композиторами. Без этого параметра могут не работать функции захвата экрана или многомониторные конфигурации. Параметры загрузки должны быть добавлены в /etc/default/grub и обновлены через update-grub.

Как проверить совместимость с Wayland?Если вы используете Wayland вместо X11, убедитесь, что драйвер поддерживает режим PRIME Offloading. Команда ______ позволяет проверить, видит ли система GPU для рендеринга в среде Wayland.-->

Инструменты для углубленной диагностики

Для профессиональной диагностики существуют специализированные утилиты, такие как nvidia-debugdump или утилиты для стресс-тестирования glmark2 и Unigine Superposition (через Wine). Они нагружают GPU по полной программе, выявляя скрытые дефекты или проблемы с охлаждением. Стресс-тесты показывают реальный предел стабильности системы.

Также полезно использовать команду

nvidia-settings -q all
для получения полного дампа всех доступных параметров конфигурации. Это позволяет увидеть текущие настройки частот ядра, вентиляторов и температурных порогов. Детальная конфигурация может быть полезна для тонкой настройки разгона или балансировки шума и температуры.

Не забывайте о проверке целостности файлов драйвера. В дистрибутивах на базе Debian или Ubuntu можно использовать команду dpkg -V nvidia-utils (или аналогичную для вашей версии пакета) для проверки, не были ли изменены системные файлы. Целостность файлов гарантирует, что злонамеренный код или ошибки обновлений не повредили драйвер.