
Как исправить ошибку NVML cannot get fan speed
При майнинге на видеокартах Nvidia иногда возникают досадные ошибки вида:
NVML: cannot get fan speed, error 999 (an internal driver error occurred)
или
NVML: cannot get temperature, error 999 (an internal driver error occurred),
а также
NVML: cannot get current temperature, error 15.
Через несколько минут после появления таких ошибок обычно крашится майнер и зависает система.
При этом в логах майнера перед зависанием можно найти строки, похожие на следующие:
GPU 1, GpuMiner cu_k1 failed 30, unknown error GPU 1, GpuMiner kx failed 1 set global fail flag failed gpu1 GpuMiner cu_k01 failed 73, an illegal instruction was encountered
Рассмотрим подробнее причины появления ошибок NVML cannot get fan/temperature error 15 или 999 и чем их исправить.
Причины появления ошибки NVML error 999 (an internal driver error occurred)
Проблемы, связанные с появлением ошибок библиотеки NVIDIA Management Library (NVML) с разным кодом (обычно это 15, 17 или 999) приводят к потере контроля/управления температурой и вентиляторами видеокарты.
Они связаны с некорректной работой NVML API, входящего в состав драйверов NVidia. Согласно спецификации:
- ошибка с кодом 15 свидетельствует о том, что GPU теряет связь с шиной PCI-E и затем становиться недоступной для управления (NVML_ERROR_GPU_IS_LOST);
- ошибка с кодом 17 свидетельствует о том, что видеокарта заблокирована другим процессом (NVML_ERROR_OPERATING_SYSTEM = 17, GPU control device has been blocked by the operating system/cgroups);
- error 999 свидетельствует о неизвестном сбое в работе драйверов (NVML_ERROR_UNKNOWN = 999 -an internal driver error occurred).
Основной причиной появления этих ошибок является наличие проблем в прохождении данных по каналу видеокарта-материнская плата.
Прохождение сигнала по шине PCI-E происходит с ошибками из-за таких неисправностей:
- некорректная установка или повреждение файлов драйверов;
- неверная установка в BIOS скорости передачи данных для устройств PCI-Express;
- некорректная работа устройств PCI-E из-за включения энергосберегающего режима питания этой шины;
- перегрев южного моста и вызванные этим нарушения обмена данными по линии PCI-Express;
- перегрев видеокарты и появление, связанных с этим проблем в работе ее электронных компонентов;
- неисправности райзеров (обычно это плохие контакты по линиям передачи данных и по питанию);
- плохой контакт в разъемах кабелей питания/передачи данных;
- некачественные блоки питания, слишком большая нагрузка на них;
- наличие сильных электромагнитных помех, проникающих на риг из сети;
- слишком большой разгон/даунвольтинг GPU.
Что нужно сделать, чтобы устранить ошибку NVML error 999 (an internal driver error occurred)
Для устранения ошибки NVML: cannot get fan speed, error 999 необходимо произвести следующие действия:
- проверить/заменить райзера, кабеля питания, очистить контакты на разъемах видеокарты, райзерах и кабелях питания/USB-удлинителях;
- увеличить размер файла подкачки до суммарного объема видеопамяти установленных в риге видеокарт;
- уменьшить разгон по ядру и памяти, уменьшить даунвольтинг. В первую очередь нужно уменьшать разгон/даунвольтинг на карте, номер которой первым появляется в логах майнера перед зависанием. Если первой появляется строка GPU 1, GpuMiner cu_k1 failed 30, unknown error, то проблема, скорее всего, связана именно с первой видеокартой;
- отключить опцию PCIe Power Saving в параметрах электропитания системы (меню настройки схемы электропитания – изменить дополнительные параметры питания – PCI Express – Управление состоянием связи – Откл.);
- заново произвести установку драйверов с полной деинсталляцией предыдущей версии;
- обеспечить хорошее охлаждение южного моста путем установки радиатора или вентилятора;
- установить в BIOS скорость обмена по линии PCI-E в GEN 2 или 1;
- обеспечить достаточную мощность блока питания и проверить качество выдаваемых им напряжений с помощью вольтметра;
- поменять разъем PCI-E, в который включается видеокарта, попробовать включить ее в него без райзера.
При подозрении на неисправность разъема материнской платы нужно попробовать вставить в него другую видеокарту с заведомо исправным райзером. Если ошибка возникает снова, то, скорее всего неисправность возможно связана с материнской платой.
Небольшую помощь при запуске Claymore miner при наличии проблем, связанных с контролем вентиляторов видеокарт, может дать включение в батник параметров:
-tt 1 — отключение управления вентиляторами;
-tt 0 — отключение мониторинга температуры и вентиляторов;
-wd 0 – отключение программного watchdog, встроенного в майнер.
Отключение управления работой вентиляторов в майнере не будет проблемой при использовании MSI Afterburner или nvidiainspector по методике, описанной в статье «Оптимизация потребления видеокарт Nvidia при майнинге».
Использование такого «костыля» может увеличить время бесперебойной работы рига, но если в компьютере останется плохой контакт, то все равно работа рига будет нестабильной, и он будет периодически зависать.
В этом случае может помочь один из аппаратных сторожевых таймеров, некоторые из которых описаны в статье «Китайские сторожевые таймеры для майнинга».
О других ошибках, возникающих при майнинге и способах их устранения, можно почитать в статьях:

