如何为所有用户启用nvidia-smi。我可以作为sudo用户运行它,但是作为一个普通用户,我得到:
Failed to initialize NVML: Insufficient Permissions
发布于 2019-07-04 15:31:14
我遇到了这个问题,下面是我的解决方案。也许这对你有帮助。
通过ll /dev/nvidia*
可以发现设备属于root
和vglusers
两个组。
如果你对我来说也一样,现在你应该将你的用户帐户添加到vglusers
组中。
按usermod -a -G vglusers username
(需要sudo)
或者编辑/etc/group
,并在vglusers:x:****:user1,user2,...
行的末尾添加您的用户名
然后注销bash并重新进入。
备注:
video
,而不是vglusers
;当您使用vncserver
时,您将看到使用的是哪个名称,您必须终止服务器并重新启动它,因为您在启动vncserver
.时没有权限
发布于 2021-12-17 10:28:57
如果您的问题是在尝试从停靠容器中运行命令时发生的,并且您已经激活了SELinux (例如,使用RHEL ),那么this可能会解决这个问题:
首先检查NVidia硬件的SELinux上下文:
$ ls -lZ /dev/nvidia*
crw-rw-rw-. 1 root root system_u:object_r:xserver_misc_device_t:s0 195, 0 Dec 17 09:44 /dev/nvidia0
crw-rw-rw-. 1 root root system_u:object_r:xserver_misc_device_t:s0 195, 255 Dec 17 09:44 /dev/nvidiactl
crw-rw-rw-. 1 root root system_u:object_r:xserver_misc_device_t:s0 243, 0 Dec 17 09:44 /dev/nvidia-fs0
crw-rw-rw-. 1 root root system_u:object_r:xserver_misc_device_t:s0 243, 1 Dec 17 09:44 /dev/nvidia-fs1
crw-rw-rw-. 1 root root system_u:object_r:xserver_misc_device_t:s0 243, 10 Dec 17 09:44 /dev/nvidia-fs10
...
如您所见,安全上下文不允许容器访问设备,因此请按照上面的文档更改安全上下文:
$ chcon -t container_file_t /dev/nvidia*
现在再次检查安全上下文:
$ ls -lZ /dev/nvidia*
crw-rw-rw-. 1 root root system_u:object_r:container_file_t:s0 195, 0 Dec 17 09:44 /dev/nvidia0
crw-rw-rw-. 1 root root system_u:object_r:container_file_t:s0 195, 255 Dec 17 09:44 /dev/nvidiactl
crw-rw-rw-. 1 root root system_u:object_r:container_file_t:s0 243, 0 Dec 17 09:44 /dev/nvidia-fs0
crw-rw-rw-. 1 root root system_u:object_r:container_file_t:s0 243, 1 Dec 17 09:44 /dev/nvidia-fs1
crw-rw-rw-. 1 root root system_u:object_r:container_file_t:s0 243, 10 Dec 17 09:44 /dev/nvidia-fs10
...
这应该允许您的容器访问硬件(至少对我们来说,它起到了作用)。
发布于 2019-04-03 10:00:35
你安装过VirtualGL吗?我也有同样的问题,但我安装了VirtualGL,这是一个问题。运行VirtualGL安装文件并选择"Unconfigure server for use with VirtualGL“。然后一切都会正常工作。
重要提示:您的系统使用modprobe.d来设置设备权限。要使新设备权限设置生效,必须在停止显示管理器的情况下执行rmmod nvidia。
https://stackoverflow.com/questions/52507744
复制相似问题