服務器上的nvidia顯卡驅動用的好好的,突然有一天,服務器斷電了,然后恢復之后發現常用的nvidia-smi命令無法使用了,具體顯示什么無法建立和驅動器的通信之類的,上網查了一堆,發現問題的核心:linux服務器重啟之后有時候內核更新了,這時候系統會自動更新內核,那么原來的nvidia驅動器的版本就跟不上內核的版本了。自己設置啟動內核是一種解決方法,另一種解決辦法是更新nvidia驅動,如果原來是用.run文件安裝的(推薦這種安裝方式),那么解決方法:
首先卸載原來安裝的驅動: sh NVIDIA-Linux-x86_64-410.73.run --uninstall
然后到nvidia顯卡驅動官網查詢自己顯卡型號對應的驅動.run文件,官網上的是最新的。
然后給新的文件賦予權限:chmod u+x NVIDIA-Linux-x86_64-410.73.run
然后安裝 sh NVIDIA-Linux-x86_64-430.26.run --kernel-source-path=/usr/src/kernels/3.10.0-957.12.1.el7.x86_64
這個kernel-source-path根據自己的內核來,查看就是uname -r能查看到現在的內核。
安裝過程中基本上按照默認就行,就有一個地方提示之前的依賴文件存在一部分(可能是卸載的時候沒有卸載干凈),選擇安裝新的並覆蓋原來的就行了。