如何查看Linux服务器GPU占用,什么命令能查GPU?

查看Linux服务器GPU使用情况,最直接、通用的方法是在终端执行nvidia-smi命令,它实时输出显存占用、GPU利用率、温度、功耗等核心指标。 理解这张“体检报告”的输出逻辑,再搭配gpustat等增强工具,就能应对从单卡状态确认到多卡训练调优的全部日常场景。

linux查看gpu使用情况命令:先学会读懂nvidia-smi原始输出

执行nvidia-smi后,屏幕上会出现两大部分:上方是GPU基本信息,下方是运行中的进程列表,刚开始接触的朋友常被满屏数字吓到,其实拆开看,每块GPU的信息就六个关键栏位。

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

GPU利用率与显存占用要分开看

  • GPU-Util:代表计算单元繁忙程度的百分比,100%表示计算核心被塞满,但要注意,这个数值反映的是采样瞬间的占用率,会频繁跳动。
  • Memory-Usage:显示为已用显存 / 总显存,比如5120MiB / 12288MiB,显存吃紧但利用率低,通常意味着数据加载或预处理环节存在瓶颈。

这两者没有必然的线性关系,模型推理服务常表现为GPU利用率低但显存占用高,这是正常的;而训练任务如果出现利用率高但显存长期不变,则需要进一步观察是否真在计算。

温度、功耗和风扇转速的联动判断

  • Temp:核心温度,通常以摄氏度显示,长期超过85°C需要关注机箱散热。
  • Pwr:Usage/Cap:当前实际功耗与最大功耗上限,若利用率已到99%但功耗只有上限的六成,大概率触发了功耗墙或频率限制。
  • 风扇转速:出现0%时不必紧张,部分型号在低温下风扇停转是正常策略。

进程列表部分会显示哪个用户、哪个PID的程序在占用GPU,排查显存泄露时,这里是最直观的证据反复训练多次后,若旧进程未释放显存,占用的PID会越积越多。

nvidia-smi命令为什么看不到gpu:驱动与权限的排障思路

执行nvidia-smi报错或找不到命令,排除硬件故障后,常见原因集中在三层:驱动未安装、内核模块未加载、用户权限不足。

  • 驱动检查:运行lsmod | grep nvidia,无输出则说明内核模块没加载,尝试modprobe nvidia,仍失败则需重装与当前内核版本匹配的驱动。
  • 权限问题:普通用户执行nvidia-smi提示Failed to initialize NVML,先用sudo nvidia-smi验证,若管理服务器有严格的sudo限制,需要管理员将用户加入

    如何查看Linux服务器GPU占用,什么命令能查GPU?

    video组。

  • 云服务器注意:部分云厂商的GPU实例需手动安装对应版本的驱动,且重启实例后驱动可能失效,需要配置开机自动加载。

进程级排查时,nvidia-smi --query-compute-apps=pid,used_memory --format=csv能列出每个进程的精确显存占用,比默认视图更适合脚本解析,怀疑有僵尸进程持有显存时,用fuser -v /dev/nvidia找出占用设备文件的进程号。

行业内一个经验判断是:大多数“看不到GPU”的案例,驱动与内核版本不匹配占七成以上,权限问题占两成,硬件故障极少(据NVIDIA开发者社区常见问题统计),所以先从内核版本查起,用uname -r确认版本号,再到NVIDIA官网下载对应驱动,比盲目重装系统省时得多。

交互式监控工具:gpustat和nvtop的实时对比

nvidia-smi适合快速截取瞬间状态,但做持续观察、或者手头有多台服务器要巡检时,交互式工具更顺手,其中gpustat和nvtop是社区里使用最广泛的两种。

gpustat:轻量级命令行仪表盘

安装简单,一条pip install gpustat就行,执行后输出效果类似nvidia-smi的简化彩色版,但信息密度更高:

  • 每块GPU一行,显存占用条带颜色区分
  • 运行用户和进程名直接显示,按住c可以排序,适合多用户共享服务器场景

它的核心优势是便于编写监控脚本,加--json参数输出结构化数据,配合cron定时采集,能将GPU状态落盘,用于事后分析利用率曲线,用它自查集群里哪些机器空闲、哪些排队任务在抢卡,比逐台登录执行nvidia-smi高效得多。

nvtop:类top的全屏交互界面

nvtop对标的体验是top命令,全屏刷新显示,支持按键排序、树状进程视图、历史曲线图,需要apt install nvtop或编译安装。

和gpustat相比,nvtop胜在单机深度分析:能查看每个GPU的实时电压、时钟频率、显存控制器负载,这些参数在做性能调优、判断是否撞功耗墙时很有用,如果只是想知道“现在卡不卡”,gpustat足够;如果要深入分析为什么某个算子跑得慢,nvtop的曲线图更能说明问题。

选型建议:根据使用场景决定

场景 推荐工具 理由
快速查看单卡状态 nvidia-smi 系统自带,零配置

如何查看Linux服务器GPU占用,什么命令能查GPU?

多卡利用率对比

gpustat一眼看全貌,支持颜色区分
排查性能瓶颈nvtop曲线和历史采样信息更丰富
脚本采集监控数据nvidia-smi --query-gpu输出格式稳定,易于解析

日常登录服务器习惯性敲一把nvidia-smi,看到显存和利用率正常就放心继续干活;需要长时间盯着训练日志时,开一个nvtop窗口挂在旁边,比反复输命令直观许多。

深度学习训练时怎么监控gpu:多卡利用率不均衡的排查

训练多卡并行任务时,最让人头疼的景象是:8张A100里,GPU 0利用率100%,其余7张只有30%-50%甚至为0,这多半不是GPU本身的问题,而是数据加载管线或通信策略拖了后腿。

数据加载瓶颈排查

先用nvtop观察每块GPU的显存读写曲线和其计算利用率的关系,多数情况下,数据加载线程成为瓶颈时,GPU利用率会呈现周期性锯齿波:一波计算结束,等下一批数据时利用率跌到零。

排查方法:

  • 在训练代码中打印dataloader的耗时占比
  • 测试pin_memory=True与num_workers增大后的利用率变化
  • 用nvidia-smi dmon -s pucvmet每100ms采样一次,观察显存控制器利用率的连续性

通信同步开销

分布式训练中,AllReduce通信需要所有GPU交换梯度,当各卡的计算速度参差不齐时,快的卡必须等慢的卡完成通信,表现为整体利用率下降但各卡功耗都偏高。

行业内通常先检查GPU间的拓扑连接(nvidia-smi topo -m),确认是否运行在PCIe而非NVLink模式下,后者会显著放大通信耗时,多数情况下,这是慢卡拖累快卡的最直接原因。

如果训练脚本使用torch.distributed,尝试调整NCCL_P2P_DISABLE和NCCL_SOCKET_IFNAME环境变量,有时能明显改善多机通信的等待时间,这些变量的具体取值依赖服务器网络架构,需要用nvtop观察调整前后的利用率曲线来验证效果。

无NVIDIA显卡环境的gpu监控方案

服务器搭载AMD或Intel显卡时,nvidia-smi完全失效,但这并不代表没有工具可用,AMD平台的核心命令是用rocm-smi,它和nvidia-smi的输出格式十分相似,同样展示利用率、温度和显存,安装ROCm套件后,运行rocm-smi --showuse --showtemp --showmeminfo vram可查询关键指标。

Intel数据中心GPU则主要依赖

如何查看Linux服务器GPU占用,什么命令能查GPU?

xpu-smi,命令风格也延续了这一生态。对于云服务器用户,云厂商控制台自带的监控告警通常比自建工具更稳定,因为底层虚拟化层的监控指标不受虚拟机内部驱动状态影响,比如国内主流云平台的GPU云服务器监控页,已经支持查看过去24小时利用率曲线、自动触发告警通知,并且按小时粒度的历史数据回溯在排查问题时非常实用。

另一个务实的选择是使用Prometheus生态:nvidia-dcgm-exporter暴露GPU指标给Prometheus抓取,再配Grafana看板,但要注意,当服务器上有多张物理GPU被透传给不同容器时,容器内部看到的监控数据可能是不完整的,这种情况下需要回退到宿主机层面采集。

Q&A:linux服务器gpu使用情况排查常见问题

  • 问:nvidia-smi输出显示GPU利用率波动很大,这是故障吗?
    答:不一定,多数情况下,利用率波动源自实际负载的变化:推理服务的请求到达是瞬时性的,动态图模型的算子调度也存在天然间隙,建议先用nvidia-smi dmon做持续采样,观察10分钟以上稳定期的平均利用率,如果同时出现显存位宽错误(错误计数器增加)或GPU温度异常,才需要考虑硬件隐患。

  • 问:为什么GPU显存明明很空,但新任务报错CUDA out of memory?
    答:核心原因是CUDA上下文占用和进程残留,执行fuser -v /dev/nvidia检查是否有已退出但未释放句柄的进程,或者使用nvidia-smi --query-compute-apps=pid --format=csv查看残留PID后按需终止,另一种常见原因是其他进程(比如临时运行的Jupyter内核)尚未释放缓存,用nvidia-smi看到的空闲显存并非整块连续内存。

  • 问:有没有查看历史GPU使用情况的办法?
    答:nvidia-smi本身不提供历史数据,默认只能看当前时刻,常见的做法是借助nvidia-smi --query-gpu=utilization.gpu --format=csv -l 60持续输出,并配合tee写入日志文件,积累一段时间后用awk或gnuplot做统计分析,服务器上配置了Prometheus和Grafana的情况,则可以直接查询DCGM_EXPORTER采集的历史序列。

GPU状态的持续观察,本质上就是把自己变成一枚“采样探针”,理解工具输出中的每一个字段,远比重启或更换设备更能解决问题,从一条nvidia-smi命令开始,逐步构建一套适合自己服务器组合的监控习惯对于Linux系统管理员来说,这才是稳住算力基础设施真正可靠的那道防线。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/%e5%a6%82%e4%bd%95%e6%9f%a5%e7%9c%8blinux%e6%9c%8d%e5%8a%a1%e5%99%a8gpu%e5%8d%a0%e7%94%a8%ef%bc%8c%e4%bb%80%e4%b9%88%e5%91%bd%e4%bb%a4%e8%83%bd%e6%9f%a5gpu%ef%bc%9f/

赞 (0)
电脑显示未连接网络如何连接到服务器IP?,是什么原因?
上一篇 2026年10月16日 22:15
云服务器最多能买几年?,云服务器购买年限怎么选
下一篇 2026年10月16日 22:16

相关推荐

  • CS2社区服务器地图怎么下载?,下载失败怎么办

    CS2社区服务器下载地图最核心的答案:进入自定义服务器后,地图通常由服务器端自动推送,玩家无需手动操作;若需主动下载,可通过控制台输入指令、订阅Steam创意工坊或通过社区服内置的换图菜单实现,先搞清CS2社区服务器地图的来源机制CS2的社区服务器与官方匹配不同,地图资源并非全存在玩家本地,绝大多数社区服运行自……

    程序编程 2026年10月22日
    000
  • Linux怎么远程登录另一台服务器?,linux远程连接工具有哪些

    Linux远程连接另一台服务器,最标准可靠的方式就是使用SSH(Secure Shell)协议,通过命令行执行ssh 用户名@IP地址即可完成连接,如果你面对的是没有图形界面的Linux系统,掌握SSH就相当于拿到了远程操作的钥匙,这篇文章会把从基础连接到进阶优化的完整路径拆开讲透,全程使用可复制的命令,你照着……

    2026年10月6日
    000
  • AIoT时代安全如何防护?物联网安全漏洞有哪些

    在AIoT时代,安全防护的核心已从单一的设备隔离转向“云-边-端”协同的动态防御体系,唯有通过零信任架构与自动化响应机制,才能有效应对日益复杂的物联网攻击面,当你的智能门锁被黑客远程解锁,或者工厂里的机械臂突然失控时,这不再是科幻电影的情节,而是正在发生的现实,AIoT(人工智能物联网)将万物互联,但也让万物皆……

    2026年6月12日
    3710
  • AIoT智能化设计是什么?AIoT智能化设计如何提升产品竞争力

    AIoT智能化设计的核心价值在于通过人工智能与物联网的深度融合,实现设备自主决策与场景化智能服务,最终提升用户体验与运营效率,其成功关键在于数据闭环、算法优化与场景适配的协同作用,核心结论:AIoT智能化设计需以用户需求为导向,构建“感知-决策-执行”闭环系统AIoT智能化设计并非简单叠加AI与IoT技术,而是……

    2026年3月19日
    14100
  • 连云港移动DNS怎么设置?,移动宽带DNS地址是多少?

    连云港移动宽带的DNS服务器地址,常用的主用是 221.131.143.69,备用是 112.4.0.55,这两个属于江苏移动的递归解析节点,连云港地区多数宽带账号自动下发的就是这一组,如果说换了DNS之后网页打开变慢或者干脆上不了网,最省事的验证方法是在电脑上执行 ipconfig /all,看自动获取到的是……

    程序编程 2026年11月5日
    000
  • 奥特曼OL服务器维护中该如何应对,游戏进不去怎么办?

    奥特曼系列ol服务器维护中时,你不需要反复刷新和焦虑,先确认官方公告里的维护时间、补偿内容和预计开启时间,再根据本文的应对策略安排游戏内外的事,通常几小时内就能恢复,维护公告里藏着最关键的答案很多玩家遇到“服务器维护中”第一反应是猛点登录按钮,其实页面上的提示和官方渠道早就给出了答案,奥特曼系列ol的维护分为计……

    程序编程 2026年10月19日
    200
  • SoftShellWeb美国、英国VPS测评,原生IP、高防实测数据与性能表现,SoftShellWeb VPS好用吗

    SoftShellWeb在美英VPS测评中表现稳健,其原生IP资源在抗D能力与网络延迟上具备显著优势,适合对SEO排名稳定性及跨境业务低延迟有硬性要求的企业用户,但性价比略低于新兴竞品,核心性能与网络架构深度解析在2026年的跨境云服务市场中,SoftShellWeb凭借其对底层硬件的精细化管控,依然保持着第一……

    2026年5月25日
    7500
  • 更新调试流用哪个api?调试流接口调用方法

    更新调试流通常使用 stream.update() 或 stream.patch() API,具体取决于你是需要全量替换还是增量修改,且必须携带有效的身份验证令牌,在2026年的开发环境中,流式处理(Streaming)已经成为实时数据交互的标准配置,无论是构建即时通讯应用、实时协作工具,还是物联网数据监控面板……

    程序编程 2026年5月27日
    3900
  • r730服务器怎么做raid5?,raid5阵列配置步骤

    Dell R730服务器做RAID5的核心操作是:开机看到PERC控制器提示时按Ctrl+R进入阵列卡配置界面,在H730或H330阵列卡中创建虚拟磁盘,选择RAID-5级别,至少勾选3块物理硬盘,设置写策略后初始化即可,Dell R730服务器怎么做RAID5?先确认阵列卡型号和硬盘数量Dell R730常见……

    2026年9月20日
    100
  • 广州靠谱的负载均衡价格是多少?负载均衡费用一般多少钱

    2026年广州地区靠谱的负载均衡服务,企业级四七层实例均价约为每月800元至3500元,具体价格受并发量、带宽及调度算法影响,选择具备本地BGP网络与等保合规资质的云厂商性价比最高,2026广州负载均衡市场定价透视核心计费模型拆解当前广州云计算市场已高度成熟,负载均衡(SLB/ELB)计费逻辑趋于透明,根据中国……

    2026年4月27日
    4700

发表回复

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