Я использую Ubuntu 20.04.3 LTS на двух машинах (мой персональный компьютер и небольшой рабочий сервер), обе оснащены картами Nvidia. Персональная машина имеет RTX2080 Super, а сервер работает с двумя RTX3090.
Мы проводим исследования глубокого обучения на работе, поэтому я использую машины в основном для запуска TensorFlow или связанных с ним инструментов, использующих GPU.
Я был тем, кто настраивал обе машины с нуля, поэтому я сделал новую установку Ubuntu 20.04.3 LTS на обеих машинах, обновил, обновил, установил основные инструменты, установил драйвер Nvidia + CUDA. Для этого на обеих машинах я использовал установщик runfile с официальной страницы Nvidia здесь для CUDA, который содержит драйвер Nvidia. Перед запуском этого установщика я всегда добавляю драйвер Noveau в черный список, как показано ниже. здесь Например.
Я не считаю себя очень опытным администратором для таких систем, поскольку у меня есть исследовательский опыт, я научился использовать и понимать Linux за последние месяцы, и до сих пор все, что нам нужно для нашей небольшой команды, работало как шарм. За исключением небольшой проблемы, с которой я сталкиваюсь как на своей личной машине, так и на исследовательском сервере. Кажется, что мои установки драйверов регулярно ломаются, и я не могу понять, почему и когда именно.
Зачем упоминать обе машины? Потому что я думаю, что это одна и та же проблема, выраженная двумя разными способами:
(1) Моя личная машина — та, которую я также использую для работы и кодирования. К нему подключен дисплей, и через регулярные промежутки времени (я бы сказал, каждые 3-5 недель) он не загружается на экран входа в систему, а показывает мне одну строку, говорящую:
/dev/nvme0n1p1: очистить
Точную строчку не помню, но в ней точно указано расположение моего SSD и работа "чистая". А дальше с этого момента ничего не происходит. Я обычно решаю проблему, войдя в систему через Ctrl+Alt+F2 и просто перезапустив установщик cuda/driver с помощью:
судо ш cuda_11.5.0_495.29.05_linux.run
а затем перезагрузиться. После перезагрузки мой экран входа возвращается, и все снова работает.Я делаю это уже около года на своей личной машине, и меня никогда не беспокоило, где проблема, потому что после переустановки работает CUDA, работает TF-GPU, работает мой пользовательский интерфейс и т.д. Это все, что мне нужно.
(2) Теперь идет сервер без дисплея. Работает без перезагрузки без остановки. Но через равные промежутки времени (те же 3-5 недель) все, что связано с GPU, просто перестает работать. Скрипты Python, использующие TensorFlow-GPU, больше не найдут GPU.
nvidia-smi
показывает сообщение:
Сбой NVIDIA-SMI, поскольку ему не удалось установить связь с драйвером NVIDIA. Убедитесь, что последняя версия драйвера NVIDIA установлена и работает.
В один прекрасный день все будет там и будет работать, и без каких-либо ручных манипуляций в системе (например, обновлений и т. д.) она перестанет работать и покажет это сообщение. Как и в случае с моей личной машиной, проблема решается простой переустановкой драйвера. Но поскольку речь идет о сервере, за который я несу ответственность и которым пользуются многие люди, я хочу убедиться, что у меня есть решение для него, и подробно понять проблему, чтобы избежать ее в будущем.
я заглянул в /var/журнал/dpkg.log
чтобы увидеть, могу ли я найти какое-либо сообщение об автоматически обновленном драйвере. Я также просматривал Xorg, загрузочные и системные журналы, но мне не хватает знаний, чтобы найти намеки на то, что идет не так в этих журналах. Одна вещь, которую я узнал, это то, что работает:
dpkg --список | grep нвидиа
на самом деле вообще ничего не возвращает на сервер.nvidia-smi
напечатает вышеупомянутое сообщение.
Как ни странно, nvcc --версия
все еще работает и дает:
nvcc: драйвер компилятора NVIDIA (R) Cuda
Авторское право (c) 2005-2021 Корпорация NVIDIA
Построено Mon_Sep_13_19:13:29_PDT_2021
Инструменты компиляции Cuda, выпуск 11.5, V11.5.50
Сборка cuda_11.5.r11.5/compiler.30411180_0
так что кажется, что CUDA все еще там, но драйвера nvidia нет.
Как на личной машине, так и на сервере, я предполагаю, что это одна и та же проблема.При попытке запустить nvidia-smi в терминале, когда мой персональный компьютер сломан, он покажет мне то же сообщение об ошибке, и я уверен, что если бы я подключил дисплей к серверу, он не показал бы мне вход в систему Ubuntu. экран тоже.
На данный момент я не стал повторно запускать установку на сервере, так как хотел оставить его в «сломанном» состоянии, на случай, если у вас есть совет, где искать проблему.
В любом случае заранее спасибо за помощь!