2024-01-29|閱讀時間 ‧ 約 24 分鐘

解決 NVIDIA GPU 驅動 libnvidia-ml.so 錯誤訊息

在這篇文章中,將分享最近遇到 NVIDIA GPU driver 的問題,這可能對面臨類似問題的人有所幫助~話不多說,直接開始正文!

raw-image

問題描述

當我嘗試使用 nvidia-smi 工具來檢查我的 NVIDIA GPU 狀態時,我遇到了一個錯誤訊息:NVIDIA-SMI couldn't find libnvidia-ml.so library in your system。這意味著系統無法找到 libnvidia-ml.so,這是 NVIDIA 驅動的一個關鍵庫文件,用於監控和管理 NVIDIA GPU。

這個問題通常指向 NVIDIA 驅動未正確安裝,或者系統無法正確定位到驅動的庫文件。

解決步驟

為了解決這個問題,我採取了以下步驟:

  1. 定位到庫文件目錄: 首先,我切換到包含 NVIDIA 驅動庫文件的目錄:如果不確定路徑在哪,可以先移動到根目錄,再用 find 指令去找
    cd /usr/lib/x86_64-linux-gnu
  2. 備份並替換 libcuda.so: 接著備份了 libcuda.so 文件,然後創建了一個指向 libcuda.so.1 的符號鏈接:
    cp libcuda.so libcuda.so.backup
    rm libcuda.so
    ln -s libcuda.so.1 libcuda.so
  3. 處理 libcuda.so.1: 我也備份並替換了 libcuda.so.1,以指向特定版本的庫文件:這裡的 libcuda.so.535.54.03 版本號碼,需配合硬體
    cp libcuda.so.1 libcuda.so.1.backup
    rm libcuda.so.1
    cp libcuda.so.535.54.03 libcuda.so.1
  4. 處理 libnvidia-ml.so.1: 最後,我對 libnvidia-ml.so.1 進行了類似的操作:
    cp libnvidia-ml.so.1 libnvidia-ml.so.1.backup
    rm libnvidia-ml.so.1
    ln -s libnvidia-ml.so.535.54.03 libnvidia-ml.so.1
  5. 測試更改: 完成這些操作後,我再次執行 nvidia-smi 來確認問題是否得到解決。出現這個畫面,表示有呼叫成功,就可以使用 GPU 繼續進行模型訓練。

nvidia-smi

結論

通過這些步驟,成功解決了 nvidia-smi 無法找到 libnvidia-ml.so 的問題。面對驅動相關問題時,有時候需要手動去管理 package 的連接與指向,不過這可能是暫時的解決方法,未來更新驅動可能都還要再次調整,最好的方式還是確保驅動正確安裝。

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.