9.1女生泳装:不止于夏日,更是自信与美的宣言

核心内容摘要

《老人船上弄雨荷》第十一集:风雨飘摇中的温情与抉择
九九热精品国产剧情推荐:挖掘那些藏在光影里的烟火气与极致浪漫

1.8811.7蓝莓:解锁味蕾的奢华秘境,品鉴那一抹醉人紫

MGeo模型部署资源消耗监控nvidia-smi命令使用实战教程

为什么需要实时监控MGeo的GPU资源使用你刚在4090D单卡上成功部署了MGeo——这个专为中文地址相似度匹配设计的开源模型。

它能精准识别“北京市朝阳区建国路8号”和“北京朝阳建国路8号”是否指向同一实体对地址清洗、数据融合、物流信息对齐等场景非常实用。

但很快你会发现推理脚本跑起来后终端没报错结果却迟迟不返回或者连续处理100条地址对时第37条开始明显变慢又或者Jupyter里执行python /root/推理.py后整个界面卡住几秒才响应。

这些都不是代码bug而是GPU资源在“悄悄喘气”。

MGeo虽是轻量级地址模型但加载BERT类编码器双塔匹配结构后显存占用并不低。

4090D有24GB显存看似充裕可一旦Jupyter内核、系统服务、后台进程再分走一部分留给MGeo的就可能只剩16~18GB。

更关键的是它的推理过程涉及大量向量化计算对GPU计算单元CUDA Core和显存带宽持续施压——而这些压力不会在Python日志里打印出来只会体现在延迟升高、显存溢出或内核崩溃上。

所以与其等报错再排查不如从部署

钟起就掌握一套“看得见、测得准、调得稳”的GPU监控方法。

本文不讲理论只带你用最常用的nvidia-smi命令真实监控MGeo在4090D上的运行状态看懂每一行输出代表什么知道什么时候该优化、什么时候可放心。

nvidia-smi基础命令三步看懂GPU实时状态nvidia-smiNVIDIA System Management Interface是NVIDIA官方提供的轻量级系统管理工具无需安装额外包只要驱动正常就能用。

它不像gpustat或nvtop那样需要pip安装也不依赖Python环境——这意味着即使Jupyter内核挂了、conda环境崩了只要系统还在跑你就能SSH连上去查GPU。

我们从最简命令开始逐步深入

1 基础快照nvidia-smi直接输入nvidia-smi你会看到类似这样的输出已简化关键字段----------------------------------------------------------------------------- | NVIDIA-SMI

535.

1

03 Driver Version:

535.

1

03 CUDA Version:

1

2 | |--------------------------------------------------------------------------- | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | || | 0 NVIDIA RTX 4090D Off | 00000000:01:

0

0 On | N/A | | 30% 42C P8 32W / 350W | 2150MiB / 24564MiB | 0% Default | ---------------------------------------------------------------------------重点盯这三行Memory-Usage2150MiB / 24564MiB→ 当前已用

15GB显存总显存

2

56GB。

这是MGeo启动后最需关注的数字——如果它在你执行推理脚本前是200MB执行后跳到18GB且不再回落说明模型加载正常但如果执行中突然飙到24GB并报CUDA out of memory那就是显存不足的明确信号。

GPU-Util0%→ GPU计算单元利用率。

注意这个值不是越高越好。

MGeo是CPU-GPU协同型任务地址预处理分词、标准化主要耗CPU向量计算才压GPU。

理想状态下你应看到GPU-Util在“0% → 85% → 0%”之间脉冲式跳动——每次处理一批地址对时冲高处理完立刻回落。

如果它长期卡在95%以上说明GPU成了瓶颈如果始终低于5%那可能是数据没送进去或代码里漏了.cuda()调用。

Pwr:Usage/Cap32W / 350W→ 当前功耗仅32瓦远低于4090D的350W上限。

这说明此刻GPU负载极轻完全有余力处理更大批量。

小技巧加-l 1参数让nvidia-smi每秒刷新一次变成动态监控屏nvidia-smi -l 1按CtrlC可随时退出。

这是观察MGeo推理过程波动最直观的方式。

2 进程级监控谁在占显存MGeo部署后你可能同时开着Jupyter Lab、VS Code Server、甚至一个后台TensorBoard。

nvidia-smi默认只显示GPU整体状态要定位具体进程加-qquery参数nvidia-smi -q -d MEMORY,COMPUTE但更实用的是这个组合nvidia-smi pmon -i 0 -s um其中-i 0指定监控第0号GPU你的4090D-s um表示显示UtilizationGPU计算和Memory显存两项输出是表格形式每行一个进程# gpu pid type sm mem enc dec command # Idx PID Process type SM Mem ENC DEC Command 0 12345 C 0 0 0 0 python /root/推理.py 0 18762 C 12 15 0 0 jupyter-lab 0 20001 C 0 0 0 0 /usr/bin/Xorg这里sm列Shader Model就是GPU计算利用率百分比mem列是该进程独占的显存MB数。

你会发现/root/推理.py进程的sm值在你调用model.predict()时会瞬间跳到70而mem稳定在1800左右——这说明MGeo模型本身占约

8GB显存其余显存被Jupyter等基础服务占用。

注意如果pmon命令提示command not found说明你的驱动版本较旧515请改用nvidia-smi --query-compute-appspid,used_memory,utilization.gpu --formatcsv

3 显存泄漏检测对比启动前后MGeo是静态推理模型理论上加载一次后显存占用应稳定。

但如果你在Jupyter里反复import、torch.load、model.eval()就可能因Python引用未释放导致显存缓慢增长。

检测方法很简单启动前记录基准echo 启动前显存 nvidia-smi --query-gpumemory.used --formatcsv,noheader,nounits执行MGeo推理比如跑10次地址对python /root/推理.py立即再查echo 推理后显存 nvidia-smi --query-gpumemory.used --formatcsv,noheader,nounits如果两次结果相差超过50MB例如从2150→2230就要检查代码中是否有多余的.to(cuda)调用或是否在循环里重复创建了tensor对象。

MGeo实战监控从部署到推理的完整流程现在把命令用起来。

我们按你提供的快速开始步骤一步步嵌入监控点让每一步都“看得见”。

1 部署镜像后确认GPU可见性镜像启动完成先不急着进Jupyter。

SSH登录后第一件事nvidia-smi -L输出应为GPU 0: NVIDIA GeForce RTX 4090D (UUID: GPU-xxxxxx)如果报错NVIDIA-SMI has failed...说明驱动未加载或容器未启用GPU支持——此时需检查Docker启动参数是否含--gpus all或宿主机驱动是否安装正确。

通过后再执行nvidia-smi --query-gpuname,temperature.gpu,utilization.gpu,memory.total --formatcsv确认温度60℃、GPU-Util≈0%、显存总量24564 MiB。

一切正常才能继续。

2 激活环境时监控Conda环境加载开销执行conda activate py37testmaas后立即运行watch -n

5 nvidia-smi --query-gpumemory.used --formatcsv,noheader,nounitswatch命令会每

5秒刷新一次显存使用。

你将看到激活前约1800 MiBJupyter等基础服务激活瞬间可能短暂跳到2000 MiBConda加载Python库时的临时开销稳定后回落至1850 MiB左右如果激活后显存持续上涨不回落说明环境里有自动加载GPU模块的包如某些版本的tensorflow建议改用纯PyTorch环境。

3 执行推理脚本捕捉真实负载曲线这才是核心。

不要直接python /root/推理.py而是用带时间戳的日志记录全过程# 先清空旧日志 /root/inference.log # 执行推理同时后台启动监控 nvidia-smi -l 1 /root/gpu_monitor.log 21 MONITOR_PID$! # 运行MGeo推理 python /root/推理.py /root/inference.log 21 # 推理结束停止监控 kill $MONITOR_PID wait $MONITOR_PID 2/dev/null # 提取关键时段推理开始前10秒到结束后10秒 sed -n /^Mon [A-Za-z]\{2\} [

]\{1,2\} [

]\{2\}:[

]\{2\}:[

]\{2\} [

]\{4\}/,$p /root/gpu_monitor.log | head -n 50 /root/gpu_peak.log打开/root/gpu_peak.log你会看到类似Mon Oct 28 14:22:10 2024 | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | || | 0 NVIDIA RTX 4090D Off | 00000000:01:

0

0 On | N/A | | 30% 45C P8 35W / 350W | 2150MiB / 24564MiB | 0% Default | Mon Oct 28 14:22:11 2024 | 0 NVIDIA RTX 4090D Off | 00000000:01:

0

0 On | N/A | | 30% 46C P8 82W / 350W | 3200MiB / 24564MiB | 42% Default | Mon Oct 28 14:22:12 2024 | 0 NVIDIA RTX 4090D Off | 00000000:01:

0

0 On | N/A | | 30% 47C P8 145W / 350W | 18200MiB / 24564MiB | 87% Default |关键发现显存从2150MiB → 18200MiB模型权重中间特征图共占约16GB符合预期GPU-Util从0% → 87%计算密集型匹配层正在全力运行功耗从35W → 145W4090D已进入高性能状态但远未撞限350W。

这说明MGeo在4090D上运行健康无资源瓶颈。

4 复制脚本到工作区避免编辑引发意外加载你执行cp /root/推理.py /root/workspace时看似只是复制文件但若/root/workspace被Jupyter设为工作目录且你之前打开了同名notebookJupyter可能自动重载模块——这会触发二次模型加载导致显存翻倍。

安全做法是复制后先查显存nvidia-smi --query-gpumemory.used --formatcsv,noheader,nounits如果数值比复制前高出1500MB以上立刻重启Jupyter内核Kernel → Restart再确认显存回落。

4.

常见问题与针对性解决方案监控不是目的解决问题才是。

以下是MGeo部署中nvidia-smi帮你定位的典型问题及解法

1 问题执行python /root/推理.py后GPU-Util始终为0%显存也不涨可能原因模型未真正调用GPU仍在CPU上运行。

诊断命令nvidia-smi pmon -i 0 -s u | grep python如果输出为空或sm列为0说明Python进程根本没用GPU。

解决方案检查推理.py中是否漏了.cuda()或.to(cuda)。

MGeo通常需在加载后添加model model.cuda() # 或 model.to(cuda) input_ids input_ids.to(cuda)确认PyTorch版本支持CUDA在Python中运行import torch print(torch.cuda.is_available()) # 必须输出True print(torch.version.cuda) # 应显示

x

2 问题显存占用达24500MiBCUDA out of memory报错直接原因批量过大或模型未启用FP16。

快速缓解# 临时降低batch_size假设原为32 sed -i s/batch_size32/batch_size8/ /root/推理.py长期优化在推理.py中加入混合精度推理节省近一半显存from torch.cuda.amp import autocast with autocast(): outputs model(input_ids, attention_mask)

3 问题GPU温度持续85℃风扇狂转风险高温降频导致GPU-Util虚高、实际吞吐下降。

检查命令nvidia-smi --query-gputemperature.gpu,performance.state --formatcsv若performance.state显示P3或更低P0为满性能说明已因高温降频。

解决清理4090D散热器灰尘检查机箱风道确保进风通畅临时限制功耗治标sudo nvidia-smi -pl 250 # 将功耗上限设为250W

5.

总结把nvidia-smi变成你的MGeo运维习惯部署MGeo不是“一键启动就完事”。

在4090D这样的高端卡上资源浪费比性能不足更隐蔽——你可能明明有24GB显存却因Jupyter后台进程占了3GB、模型加载策略不当多占2GB最终只能跑小批量白白浪费硬件能力。

本文带你用nvidia-smi完成了四件事看懂基础指标显存用量、GPU利用率、功耗不再被数字吓住定位具体进程明确是MGeo本身、Jupyter还是其他服务在消耗资源建立监控闭环从部署、激活、推理到编辑每一步都有对应命令验证解决真实问题0%利用率、显存溢出、高温降频都有可执行的排查路径。

记住最好的监控不是出问题后翻文档而是把nvidia-smi当成和ls、cat一样随手敲的命令。

下次部署新模型时先敲一遍nvidia-smi -l 1看着数字跳动你就真正掌控了GPU。

获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

http//:192.168.X.X伪dm鈪皀-http//:192.168.X.X伪dm鈪皀应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123