转载请注明出处:小锋学长生活大爆炸[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。