如何查看服务器GPU当前被谁占用,服务器GPU使用情况怎么看

想看服务器GPU当前有谁在用,最快是SSH登录后执行 nvidia-smi,把最下方 Processes 表里的每个 PID 用 ps -o user= -p PID 转成用户名;没有完整权限时,可以让管理员开一个 gpustat 或 nvitop 只读面板,直接看 USER 列。

服务器GPU当前有谁在用?先用一条命令看个大概

在大多数 Linux 服务器上,NVIDIA 驱动自带 nvidia-smi,登录后直接敲:

ubuntu22.04查看显卡使用情况,实时显存显卡使用率?
加载中
ubuntu22.04查看显卡使用情况,实时显存显卡使用率?
nvidia-smi

输出会分上下几块:显卡型号、驱动版本、风扇、温度、功耗、显存和 GPU 利用率。真正回答“有谁在用”的部分,不是顶部的大数字,而是最下方 Processes 表格,这张表会按 GPU 序号列出正在占用显存的进程,包含 PID、类型(C 表示计算,G 表示图形)、进程名和显存占用。

很多运维新手只盯住 GPU 利用率,看到 90% 就以为有人在训练模型,但顶部利用率只是硬件状态,看不到人,真正要查使用者,必须看 PID,以一台 8 卡服务器为例,输出可能长这样:

|   0   N/A  N/A    12345   C   python3   18500MiB |
|   0   N/A  N/A    12367   C   python3   10240MiB |
|   3   N/A  N/A    12400   C   python3   22000MiB |

每个 PID 就是一个进程。PID 对应哪个系统账号,那个账号就是当前占用 GPU 的人,如果同一张卡上出现多个 PID,说明这张卡被多个任务同时分占显存。

用 watch 持续观察谁在上下卡

单次 nvidia-smi 是快照,多人共用时进程会不断变化,建议执行:

watch -n 1 nvidia-smi

每一秒刷新一次,能看到谁刚启动任务、谁释放了显存,按 Ctrl+C 退出,如果只是想观察变化,不要设置太短间隔,0.5 秒刷新一次对 GPU 状态读取影响不大,但人眼也看不过来,还容易漏掉关键变化。

怎么查gpu被谁占用?把PID变成用户名的两条命令

nvidia-smi 有个小坑:它默认不一定显示用户名,多数发行版和驱动版本中,Processes 表只有 PID、类型、进程名和显存,没有 USER 列,这时就需要把 PID 转成系统用户,这就是服务器运维日常常说的“gpu 被谁占用了怎么查”。

ps 单查某个 PID

拿刚才的 12345 举例:

ps -o user= -p 12345

输出会干净地返回一个用户名,wangfei,如果还想在同一行显示完整进程和启动时长,可以执行:

如何查看服务器GPU当前被谁占用,服务器GPU使用情况怎么看

ps -o user,pid,etime,cmd -p 12345

批量把GPU上的PID全部转成用户名

一张卡可能被多个进程同时吃显存,一行一条命令太慢,直接执行:

nvidia-smi --query-compute-apps=pid --format=csv,noheader | xargs -I{} ps -o user= -p {}

如果担心重名,再加个 sort -u 去重:

nvidia-smi --query-compute-apps=pid --format=csv,noheader | xargs -I{} ps -o user= -p {} | sort -u

运行完得到的,就是当前真正占用 GPU 的所有用户名。这是最接近“服务器GPU当前有谁在用”的标准答案。

gpustat 一行直接带用户

如果服务器已经装了 gpustat,会更省事,执行:

gpustat -i 1

输出里天然包含 USER 列,显存、利用率、温度都排好,不需要再做 PID 反查。

下面把常用查看方式做一个简单对比:

| 工具 | 是否直接显示用户名 | 适合场景 |
| nvidia-smi | 部分驱动版本不显示 | 基础查卡、看显存 |
| ps -o user= -p PID | 按 PID 单查 | 确认单个进程归属 |
| gpustat | 是 | 快速监控多人共用 |
| nvitop | 是 | 交互式管理、实时排序 |

linux查gpu占用用户时容易忽略的3个细节

容器进程的“真身”不一定是容器内用户

现在相当一部分训练任务跑在 Docker 里,宿主机上看到的 PID 属于容器进程,执行 ps -o user= -p PID 可能返回 root,但容器内实际是某个普通用户,如果直接判断为 root 在跑任务,很容易找错人,更准确的方式是同时看容器名:

ps -o user,pid,cmd -p PID

再结合 docker ps 找对应容器,行业共识认为,共享GPU服务器必须提前规划容器 UID 映射,否则时间一长连管理员都分不清责任进程。

同一块卡上的显示异常

一台机器多张卡时,有时 GPU 0 显存已快满,但 Processes 表里只剩一个 PID,可能是残留进程、僵尸进程,或是驱动层缓存未释放,优先用:

nvidia-smi --query-compute-apps=pid,used_memory --format=csv

确认存在,再去 /proc/PID/status 看进程状态,状态为 Z 的僵尸进程需要管理员清理,普通用户直接杀不掉。

不要频繁全量轮询

一个运维脚本如果每 0.2 秒调用一次 nvidia-smi --query,会消耗可观的 CPU 和 GPU 管理开销,多数情况下 1 秒刷新足够,对于几十卡的集群,建议使用 Prometheus + DCGM exporter 统一采集,而不是每台机器手动敲命令。

如何查看服务器GPU当前被谁占用,服务器GPU使用情况怎么看

服务器GPU多人使用怎么管理?从“看见谁在用”到“管住谁能用”

只靠 nvidia-smi 看谁在用,是事后追责,如果服务器GPU多人使用怎么管理都靠吼,很快会乱套,更合适的做法是给每张卡建立可见性和使用边界。

用 nvitop 做只读监控

nvitop 类似 htop,但面向 GPU,输入:

nvitop

屏幕上每行是一个 GPU 进程,USER、GPU利用率、显存、运行时长、命令行都在,管理者可以直接看到某位同事在 3 号卡跑 PyTorch 训练,这个工具也适合给非管理员开只读权限,不需要 sudo。

设置 CUDA_VISIBLE_DEVICES 限定卡

在启动任务前设置:

CUDA_VISIBLE_DEVICES=2,3 python train.py

这样该任务只能看到物理 2、3 号卡,用户之间不容易互相干扰。如果不设这个环境变量,程序通常默认只用 0 号卡,这也是为什么很多服务器 0 号卡爆满、其余卡空闲。

用 Slurm 或 Kubernetes 做排队

超过 6 人共用的 GPU 服务器,最好上调度系统,Slurm 提交任务时指定 --gres=gpu:1,系统自动分配空闲卡;Kubernetes 配合 device plugin 也能按显存配额调度,这样“谁在用”不再靠查命令,而是有任务队列可看,业内专家指出,这种调度方式能显著减少同卡争抢。

GPU服务器租用价格和成都机房:对查看占用有什么影响

如果你用的不是自建服务器,而是租用 GPU 云主机或共享 GPU 资源池,情况会稍有不同。GPU服务器租用价格按卡时或包月结算时,很多平台会提供控制台页面直接显示GPU当前有谁在用,不需要你 SSH 登录敲 nvidia-smi,但共享型资源池一般不会给你完整驱动权限,只能看到自己任务的占用。

成都GPU服务器共享环境怎么查占用

以成都GPU服务器为例,部分西南机房会提供 web 监控面板,登录后能看到集群卡型、显存占用和账号任务,如果你通过 SSH 登录宿主机发现 nvidia-smi 被限制,只能返回自己的进程,这可能是平台用 cgroups 或 MIG 做了隔离,此时不要反复提权查看别人的任务,直接看控制台配额和账单更合适。

价格计费下更需要会看占用

按量付费的 GPU 资源,任务跑完如果显存不释放,钱包会一直扣费。

如何查看服务器GPU当前被谁占用,服务器GPU使用情况怎么看

学会在租用机器上执行 nvidia-smi 确认进程退出、显存归零,再关机或释放实例,本身就是一个省钱动作,不同地域的 GPU 租用价格差异较大,西部机房常以托管成本优势参与竞争,但查看占用的命令全国通用,不会因为你在成都或上海而有本质区别。

快速落地:一套检查流程

到一台共享 GPU 服务器上,想快速知道当前谁在用,按下面顺序做:

  • 登录后执行 nvidia-smi
  • 看最下方 Processes 表,记录所有 PID
  • 执行 nvidia-smi --query-compute-apps=pid --format=csv,noheader | xargs -I{} ps -o user= -p {} | sort -u
  • 得到当前占用 GPU 的用户列表
  • 如果发现某卡显存占满但 PID 很短,可能是容器或异常进程
  • 需要持续观察就执行 watch -n 1 nvidia-smi 或 gpustat -i 1

服务器 GPU 当前有谁在用,核心不是看利用率,而是看进程 PID 和对应的系统用户。nvidia-smi 提供 PID,ps -o user= -p PID 提供人名,gpustat 和 nvitop 把这两步合成一行,对于多人共用、容器任务和租用资源池,还需要结合容器映射、调度系统和控制台面板,才能准确判断每一张卡的当前主人。

Q&A:服务器GPU当前有谁在用的几个常见问题

服务器GPU当前有谁在用,最简单的一条命令是什么?

登录后在终端执行 nvidia-smi,查看最下方 Processes 表的 PID;然后执行 ps -o user= -p PID 得到用户名,若想一步到位,使用 gpustat -i 1 可直接看到 USER 列。

nvidia-smi不显示用户名怎么办?

默认很多驱动版本的 nvidia-smi 进程表不显示 USER 列,可以执行 nvidia-smi --query-compute-apps=pid --format=csv,noheader | xargs -I{} ps -o user= -p {},用 PID 反查用户名,容器任务可能会出现 root,需要结合 docker ps 和容器 UID 映射判断。

多人共用GPU服务器怎么防止别人占满显存?

不要直接依赖口头协商,启动任务前设置 CUDA_VISIBLE_DEVICES 限定物理卡,CUDA_VISIBLE_DEVICES=0 python train.py;对超过 6 人的团队,使用 Slurm 或 Kubernetes 做 GPU 排队和配额;日常用 nvitop 查看空闲卡和占用用户,避免同时抢一张卡。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/%e5%a6%82%e4%bd%95%e6%9f%a5%e7%9c%8b%e6%9c%8d%e5%8a%a1%e5%99%a8gpu%e5%bd%93%e5%89%8d%e8%a2%ab%e8%b0%81%e5%8d%a0%e7%94%a8%ef%bc%8c%e6%9c%8d%e5%8a%a1%e5%99%a8gpu%e4%bd%bf%e7%94%a8%e6%83%85%e5%86%b5/

赞 (0)
贝腾服务器一个要多少钱,租用一个月需要多少钱?
上一篇 2026年9月11日 13:42
Win10启动服务器失败怎么解决,服务器启动失败的原因?
下一篇 2026年9月11日 13:51

相关推荐

  • 服务器ddr3内存能用在台式机上吗,台式机可用服务器ddr3内存吗

    服务器DDR3内存能用在台式机上吗?答案是:部分可以,但存在严格限制,需综合考虑物理接口、电气特性、时序参数与主板兼容性,盲目混用可能导致无法开机、系统不稳定甚至硬件损伤,兼容性取决于三大关键因素物理接口一致:DDR3内存金手指均为240针,插槽外观相同,但服务器DDR3多为RDIMM(Registered D……

    程序编程 2026年4月16日
    7900
  • Excel如何判断单元格是否为日期?excel判断是否日期公式

    在 Excel 中判断一个单元格的内容是否为日期,通常有几种方法,具体取决于你的需求(是判断格式、判断值、还是判断字符串),以下是几种常用且有效的方法:使用 ISNUMBER 函数(最推荐)在 Excel 中,日期本质上是数字(序列号),2023年1月1日在 Excel 内部存储为 44927,判断一个单元格是……

    2026年7月9日
    3700
  • 跨境业务选择节点区域的评估维度

    跨境节点区域的选择,本质上是在时效、成本、合规与弹性之间做权衡,没有绝对最优解,只有最适合你业务形态的组合,跨境电商走到今天这个阶段,比的已经不是谁胆子大、铺得开,而是谁在关键节点上踩得准,你选择在哪设仓、从哪里发货、走哪条线路,直接决定了客户打开包裹那一刻的心情,也决定了你的利润表上还剩下几个点,跨境节点区域……

    2026年9月5日
    000
  • AIoT生态圈参与者有哪些?AIoT生态圈主要参与者盘点

    AIoT产业的爆发式增长,本质上是技术、场景与数据在生态层面的深度融合,单一企业已无法独立承载万物智联的宏大愿景,核心结论在于:AIoT生态圈参与者必须从单纯的硬件制造商或软件开发商,向“端边云网智”全栈能力整合者转型,构建开放协同的价值网络,才能在万亿级市场中占据核心生态位, 这一生态体系并非简单的供应链叠加……

    2026年3月14日
    10900
  • 服务器上如何部署H5项目?,部署H5项目需要什么环境

    在服务器上部署H5项目,核心路径就两条:一是用Nginx托管静态文件,二是用Node.js启动服务并做反向代理;前者适合纯前端项目,后者适合带接口或服务端渲染的场景,新手首选宝塔面板加Nginx,熟悉Linux命令的可以直接操作,前后两种方式都能在两小时内跑通上线流程,下面直接拆解每一步怎么做,部署前先想清楚……

    2026年8月26日
    800
  • 泰拉瑞亚pe版如何自己开服务器?需要什么配置?

    泰拉猎鹰pe版自己开服务器,本质是让一台设备持续运行官方服务器程序,然后把IP地址和端口告诉朋友就能加入, 别被“服务器”三个字吓住,实际操作点几下鼠标、改一行配置就能跑起来,下面按步骤拆开讲,从准备到联机全走一遍,开服务器前先搞定设备和网络开服务器不是光有游戏就行,手机、平板、电脑都能当服务器,但稳定性和体验……

    2026年10月19日
    100
  • csgo提示已被禁止使用此服务器怎么办,csgo被禁止进服务器如何解决

    遇到“csgo已被禁止使用此服务器”的提示时,先别急着重装游戏,多数情况下你的账号或网络IP被服务器端标记了限制,第一时间查VAC状态判断封禁类型,再按对应途径处理,csgo服务器封禁和vac封禁区别在哪里很多玩家头回看到这个弹窗时心里一沉,觉得自己和职业选手的辛酸史沾边了,实际拆开看,这句话背后藏着两种完全不……

    2026年10月9日
    200
  • 阴阳师端游B站服务器如何登录,阴阳师B服登录入口在哪?

    要登录阴阳师端游的B站服务器,核心是使用B站渠道的客户端并授权B站账号,而不是用网易官方账号,如果你下载了官网客户端,那无论怎么尝试都进不了B站服务器,阴阳师b服pc端登录入口在哪?先搞清渠道包很多玩家在电脑上玩阴阳师,却找不到B站服务器的入口,原因很简单:你用了错误的客户端,B站服务器不是阴阳师官服,它是Bi……

    2026年9月27日
    100
  • 打印机共享服务器怎么安装设置?,共享打印机连接不上怎么办

    选一台常开主机或独立打印服务器,固定IP并开启共享,客户端按系统添加网络打印机,小团队用Windows共享足够,追求稳定就上独立打印服务器或NAS/CUPS,打印机共享服务器怎么安装设置?先选对方案打印机共享服务器和普通打印服务器区别很多人把两个概念混在一起,简单说,共享服务器通常是一台电脑通过Windows或……

    2026年10月12日
    000
  • 深圳游戏出海服务器到底怎么选才合适?,有哪些便宜稳定的?

    深圳游戏出海服务器怎么选才合适?核心答案:先圈定目标玩家所在地域,再按“云厂商大区节点 + 游戏类型 + 网络线路质量”三个维度交叉筛选,优先选支持全球加速且能随时升级带宽的云服务器方案,避免贪便宜选错机房导致延迟飙升,选服务器之前,先明确你的玩家在哪个时区很多深圳的出海团队犯的第一个错误,是凭感觉选机房,比如……

    2026年10月8日
    000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注