轉載請注明出處:小鋒學長生活大爆炸[xfxuezhagn.cn]
如果本文幫助到了你,歡迎[點贊、收藏、關注]哦~
目錄
背景說明
設置方法
管理腳本
進階限制
恢復默認組
注意事項
背景說明
????????比較簡單的方式是使用group來管理權限,這種方式能限制哪些用戶能用 GPU。微調后能限制哪些用戶能用哪些GPU。
設置方法
1、確認 GPU 設備屬于哪個組
一般 NVIDIA 驅動會把 GPU 設備文件放在 /dev
下,比如:
ls -l /dev/nvidia*
可以看到設備默認屬于組 root
。
2、新增自定義組
- 創建一個新組:
sudo groupadd gpuusers
- 修改
/dev/nvidia*
的所屬組 (比如gpuusers):
for dev in /dev/nvidia*; do [[ "$dev" != /dev/nvidia-caps* ]] && sudo chgrp gpuusers "$dev" && sudo chmod 660 "$dev"; done
- 檢查GPU所屬組:
ls -l /dev/nvidia*
3、測試使用權限
nvidia-smi
4、添加授權用戶到gpuusers組
sudo usermod -aG gpuusers <用戶名>
- 該用戶需要注銷登錄后再重新登錄,才能刷新groups信息。
- 再次執行nvidia-smi可以看到能正常訪問GPU了:
5、從gpuusers組里刪除用戶
sudo gpasswd -d <用戶名> gpuusers
管理腳本
https://github.com/songxf1024/manager
git clone https://github.com/songxf1024/manager.gitcd manager
sudo apt install dialog -y
sudo bash gum.sh
進階限制
為每一個/dev/nvidia設置一個group,這樣的話就可以實現每個用戶具體能使用哪些GPU。
比如:
sudo chgrp gpu0 /dev/nvidia0 sudo chgrp gpu1 /dev/nvidia1 ...
恢復默認組
sudo /sbin/ub-device-create
注意事項
重啟服務器后,由于會執行/sbin/ub-device-create,所以可能需要重新設置gpu的groups。