nvidia 驅動重灌踩坑之路

2021-08-09 21:37:57 字數 3423 閱讀 9360

本來用gpu用的好好的,有一天系統軟體自動更新手賤點了確定,裡面包含nvidia字眼,當時看到就感覺有點不妥,仍然點了確定。

恩,直覺真準,但是手快啊!!於是開啟了踩坑之路。

使用gpu版本的tensorflow,執行session時會出現如下問題:

於是乎gpu就不能用了,nvidia-smi也報錯說類似版本不匹配的意思。

檢視當天的系統更新內容:

可以發現驅動被更新了,但是由錯誤可以看出來,是和cuda的kernel版本不匹配(看英文是這樣猜的,不確定)。

於是決定重灌驅動回退到之前的版本。

這裡有參考這個部落格,有類似的問題:參考部落格1

首先,刪除掉之前的驅動相關

sudo apt-get remove --purge nvidia*
最開始採用的是ppa源安裝驅動的方式,但是ppa源一直連線不上,放棄這種方法,

這種方法參考部落格:參考部落格2

該部落格寫的很詳細,很讚。

這裡再復現一下步驟:

首先,解除安裝掉之前驅動相關

sudo apt-get remove --purge nvidia*
禁用nouveau

開啟如下編輯配置檔案

/etc/modprobe.d/blacklist.conf
在末尾新增

blacklist nouveau
參考部落格說之後也不需要改過來。

執行

sudo update-initramfs

-u

使其生效?

重啟電腦,輸入

lsmod | grep nouveau
若沒有任何輸出表示遮蔽好了

禁用x服務

sudo /etc/init.d/lightdm stop
感覺就是關掉圖形處理器

這個時候就要黑屏了,don』t worry

安裝驅動

進入命令列介面

ctrl+alt f1
給待安裝runfile加許可權:名字根據自己驅動table一下

sudo chmod a+x nvidia-linux

-x86_64

-375.20

.run

安裝,注意引數設定,超重要

sudo ./nvidia-linux

-x86_64

-375.20

.run –no-opengl

-files

根據提示安裝完畢之後:

開啟x服務:

sudo /etc/init.d/lightdm restart
這樣安裝就結束了,

nvidia-smi測試有沒有驅動即可,

我是ubuntu14.04,根據上述流程親測有效。

驅動安裝好了,本來以為可以試一下能不能用,但是發現還是不能用,跟cuda有關,在usr/local下面的cuda資料夾裡發現少了很多東西,感覺刪除nvidia相關的時候,把很多cuda的東西刪了,可能跟我最開始使用的這個命令有關:sudo apt-get autoremove –purge nvidia-*(不確定,猜測,因為後面會說到,第二次安裝驅動的時候,cuda的東西沒有被破壞)

由於沒有cuda runfile檔案,我使用的是deb安裝方式

值得注意的是,實際上參考部落格3裡面提到了一些禁忌和注意事項,安裝cuda要選擇runfile方式,因為這樣就可以選擇不安裝cuda自帶的nvidia驅動,然而我沒有注意到,並且我手上也只有deb的安裝包!!!!

安裝deb格式的檔案,按照官網教程來的:

很簡單,如下三句,但是安裝前需要驗證一些東西,具體見網上教程,很多的。

sudo dpkg -i cuda-repo

-__.deb

sudo apt-get update

sudo apt-get install cuda

但是這裡遇到乙個:一直提示我unable to locate package cuda,一直提示找不到包,但是我已經update了呀!

後來發現原因是:因為我修改了軟體源,並且在設定-軟體更新-其他軟體下面,我把很多選型都取消掉勾選了,而乙個跟cuda有關的一定要勾選上,所以revert一下還原之前的勾選情況,重新來跑那三句哈,就安裝好了,這個時候update可能要等一下,等待是值得的,不要急!!!!這裡是參考乙個解決方案的,找不到了。sad。

但是在安裝cuda的過程中,自動又更新了我的顯示卡驅動,又到了380幾,感覺一秒回到解放前。心累。。

於是再次解除安裝驅動,準備下次繼續用runfile的方式試一下,這一次解除安裝完驅動之後發現cuda還在還能使用:nvcc -v測試

這個時候靈機一動,此時我的電腦cuda也在,但是我把驅動解除安裝了,我再裝我要的驅動不就行了嗎,所以在安裝了deb格式驅動的情況下,我解除安裝了驅動,再裝了一次驅動,居然可以使用gpu了,超級開心,沒有按照網上說的用runfile也成功了!!!!!

可以考慮的解決方案:

(cuda等已經安裝的情況下)

若要重灌驅動,理論上解除安裝了驅動,再裝一次就行了(如果cuda沒有神奇的被破壞)。

(cuda要重灌,deb方式)

可採取:deb方式安裝cuda–解除安裝驅動–安裝自己需要的驅動(如果cuda和自動安裝的驅動不匹配);

或者:網上說的runfile方式。這種方式在安裝cuda的時候可選是否安裝驅動,注意事項見參考部落格3,但我沒試過。

在解決過程中,參考了很多部落格,感謝!!!

但是之後會出什麼問題就不知道了,都是坑,心累,記錄一下!

重要的事情說三遍!!!

ubuntu 也要關掉系統自動更新,或者不要點!!!

重灌NVIDIA顯示卡驅動

由於tensorflow的版本需要較高cuda版本,cuda版本又需要高的驅動版本,需要重灌顯示卡驅動,版本需要410以上。1080ti 步驟 安裝驅動 先刪除舊的驅動 sudo apt get purge nvidia 禁用自帶的 nouveau nvidia驅動 sudo chmod 777 e...

unbuntu重灌nvidia驅動的步驟記錄

最近ubnuntu上的驅動屢屢崩潰,只能重灌,再次記錄一下步驟 1.ctrl alt f1 進入指令介面 2.刪除原來nvidia驅動 sudo apt get remove purge nvidia 3.關閉lightdm sudo service lightdm stop 4.執行驅動檔案 su...

Docker踩坑之路

這是由於在啟動容器時沒有給docker容器配置足夠的記憶體,預設64m,因此讀入資料集會超出記憶體,所以要在run容器時給容器配置記憶體,解決方案位址 shm size 8g 表示分配給容器8g的記憶體 nvidia docker run it name yangxiaoli5 shm size 8...