【解决】多卡服务器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

有问题请留言交流~

相关推荐
我头发多我先学9 小时前
linux系统编程:初识进程
linux·运维·服务器
Freak嵌入式9 小时前
版本混乱 / 依赖缺失?uPyPi:MicroPython 版 PyPI,彻底解决库管理混乱
linux·服务器·数据库·单片机·嵌入式硬件·性能优化·依赖倒置原则
云飞云共享云桌面9 小时前
SolidWorks—天津智能装备工厂1台高配主机共享给10个研发用
运维·服务器·自动化·汽车·制造
苍狗T9 小时前
LVS相关知识总结
linux·运维·服务器·lvs
lightqjx10 小时前
【Linux系统】基础 IO
linux·c语言·重定向·缓冲区·文件io·文件的系统调用
我星期八休息10 小时前
扩展— TCP 全连接队列与 tcpdump 抓包
linux·服务器·开发语言·前端·网络·tcp/ip·tcpdump
各类产品分享10 小时前
什么是AR智慧运维系统,主要能解决什么问题
运维·ar·ar智慧运维解决方案
RisunJan11 小时前
Linux命令-skill(发送信号给进程)
linux·运维·服务器
潘正翔11 小时前
k8s基础_kubeadm搭建k8s集群
linux·运维·docker·云原生·容器·kubernetes
changjiahong11 小时前
lvs总结
服务器·数据库·lvs