【解决】多卡服务器GPU不能多用户同时使用的问题

一台多卡服务器,为提高利用效率,通常有多个用户使用。

假设有一台服务器A ,分别有0,1,2,3四张卡,我们有两个用户:甲和乙。

当甲启动卡0时,乙想用卡1,2,3。但是乙的进程一直卡住了,等甲进程完全结束后也未曾启动。白白浪费了其他3倍的GPU hours,人神共愤。但是Debug的时候又不知道问题出在哪里。


那么这篇文章提供一个可能的解决方案:

大概率是因为nvidia-mps进程导致多用户不能同时使用GPU
解决办法如下

先查看mps进程号:

sh 复制代码
ps -ef | grep nvidia

看到:

复制代码
root 1234 xxx /usr/bin/nvidia-cuda-mps-server

第二列就是进程号,直接用root权限kill掉这个进程:

sh 复制代码
sudo kill -9 1234

这种情况,几乎就解决了多用户用卡冲突的问题~

另外,如果还想掰细一点,即同一张卡也被多个用户使用,实现最大程度地共享使用,那就设置:

sh 复制代码
nvidia-smi -i 0 -c DEFAULT
nvidia-smi -i 1 -c DEFAULT
nvidia-smi -i 2 -c DEFAULT
nvidia-smi -i 3 -c DEFAULT

分别将4张卡都设置为DEFAULT模式。如果想独享某张卡,可以设置为EXCLUSIVE_PROCESS,假如我想让卡2被独享,则:

sh 复制代码
nvidia-smi -i 2 -c EXCLUSIVE_PROCESS

有问题请留言交流~

相关推荐
fo安方6 分钟前
运维的利器–监控–zabbix–第三步:配置zabbix–中间件–Tomcat–步骤+验证
运维·中间件·zabbix
爱奥尼欧17 分钟前
【Linux 系统】基础IO——Linux中对文件的理解
linux·服务器·microsoft
戒不掉的伤怀44 分钟前
【Navicat 连接MySQL时出现错误1251:客户端不支持服务器请求的身份验证协议;请考虑升级MySQL客户端】
服务器·数据库·mysql
超喜欢下雨天1 小时前
服务器安装 ros2时遇到底层库依赖冲突的问题
linux·运维·服务器·ros2
搬码临时工1 小时前
小企业如何搭建本地私有云服务器,并设置内部网络地址提供互联网访问
运维·服务器
old-six-programmer1 小时前
NAT 类型及 P2P 穿透
服务器·网络协议·webrtc·p2p·nat
tan77º1 小时前
【Linux网络编程】网络基础
linux·服务器·网络
风口上的吱吱鼠1 小时前
Armbian 25.5.1 Noble Gnome 开启远程桌面功能
服务器·ubuntu·armbian
18你磊哥2 小时前
Windows 本地安装部署 Apache Druid
运维·debian
笑衬人心。2 小时前
Ubuntu 22.04 + MySQL 8 无密码登录问题与 root 密码重置指南
linux·mysql·ubuntu