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

有问题请留言交流~

相关推荐
任风雨1 小时前
附录L Docker命令大全
运维·docker
matrixlzp1 小时前
Jenkins 实战2:pipeline 编写一个自动化部署
运维·jenkins
fpcc2 小时前
C++编程实践——eventFD
linux·c++
虚伪的空想家2 小时前
ip网段扫描机器shell脚本
android·linux·网络协议·tcp/ip·shell·脚本·network
Shingmc32 小时前
【Linux】进程概念(二)
linux
阿巴~阿巴~2 小时前
死锁防范:四大条件与破解之道
linux·服务器·线程·线程安全·死锁
王道长服务器 | 亚马逊云2 小时前
AWS + 飞天CMS:高性能内容站的云端搭建方案
服务器·搜索引擎·aws
云资源服务商2 小时前
深度解析阿里云通用算力型U1与U2i实例性能差异:架构、算力、场景选型全对比
服务器·阿里云·云计算
曾经的三心草5 小时前
最新版本组件的docker下载-Seata
运维·docker·容器
阿巴~阿巴~8 小时前
Linux同步机制:POSIX 信号量 与 SystemV信号量 的 对比
linux·服务器·线程·信号量·线程同步·posix·system v