当前位置: 首页 > news >正文

监控运行大模型的显存占用率的方式

监控运行大模型的显存占用率的方式:“临时观察 → 终端可视化 → 生产级监控报警”

1)最轻量:nvidia-smi 实时观察(无需安装)
• 连续采样关键信息(适合临时看是否“打满”)

nvidia-smi --query-gpu=index,utilization.gpu,utilization.memory,memory.used,memory.total,power.draw,temperature.gpu \--format=csv,noheader -l 1
•	面向时序的监控模式:
# 每秒输出功耗/利用率/显存等,-i 指定要看的卡
nvidia-smi dmon -s pucmT -i 0,1,2,3
# 逐进程维度看利用率(谁在吃GPU)
nvidia-smi pmon -s umt -i 0,1,2,3

2)终端 TUI/CLI 工具(更好看、易排查)
• nvtop(TUI)

apt-get install -y nvtop
nvtop
•	nvitop(Python 版 TUI,支持进程/显存/显卡拓扑)
pip install nvitop
nvitop
•	gpustat(极简列表 + 进程)
pip install gpustat
gpustat --watch -i 1

3)一键“满载告警”脚本(本机阈值判断)

判定规则(可改):GPU 利用率 ≥95% 且显存使用 ≥90% 连续 30 秒即判“满载”。

#!/usr/bin/env bash
# gpu-fullcheck.sh
CARDS="0,1,2,3"   # 要监控的卡
THRESH_UTIL=95
THRESH_MEM=90
WINDOW=30         # 连续 N 秒ok=0
while true; doline=$(nvidia-smi --query-gpu=utilization.gpu,memory.used,memory.total --format=csv,noheader -i ${CARDS})# 如果任一GPU未达标就重置计数all_full=1echo "$line" | while IFS=',' read -r util mem_used mem_total; dou=$(echo $util | tr -dc '0-9')mu=$(echo $mem_used | tr -dc '0-9')mt=$(echo $mem_total | tr -dc '0-9')memp=$(( 100 * mu / mt ))if [ "$u" -lt "$THRESH_UTIL" ] || [ "$memp" -lt "$THRESH_MEM" ]; thenall_full=0breakfidoneif [ "${all_full}" -eq 1 ]; thenok=$((ok+1))elseok=0fiif [ "$ok" -ge "$WINDOW" ]; thenecho "[FULL] GPUs saturated (util>=${THRESH_UTIL}% and mem>=${THRESH_MEM}% for ${WINDOW}s)."exit 0fisleep 1
done

用法:bash gpu-fullcheck.sh
想更严格就把 THRESH_UTIL/THRESH_MEM/WINDOW 调高。

4)生产级:Prometheus + Grafana + DCGM Exporter(强烈推荐)
• DCGM(NVIDIA Data Center GPU Manager)能暴露完整 GPU 指标给 Prometheus,做看板 + 告警。
• 启动 Exporter(Docker):

docker run -d --gpus all --restart=always --name dcgm-exporter -p 9400:9400 \nvcr.io/nvidia/k8s/dcgm-exporter:latest
•	Prometheus 抓取(示例 prometheus.yml 片段):
scrape_configs:- job_name: 'dcgm'static_configs:- targets: ['localhost:9400']
•	告警规则(示例):
groups:
- name: gpurules:- alert: GPUHighUtilizationexpr: DCGM_FI_DEV_GPU_UTIL > 95for: 5mlabels: { severity: warning }annotations:description: "GPU util >95% for 5m on {{ $labels.hostname }} (gpu {{ $labels.uuid }})"- alert: GPUMemoryHighexpr: (DCGM_FI_DEV_FB_USED / DCGM_FI_DEV_FB_TOTAL) > 0.90for: 5mlabels: { severity: warning }annotations:description: "GPU memory >90% for 5m on {{ $labels.hostname }} (gpu {{ $labels.uuid }})"
•	Grafana 直接导入社区 DCGM 仪表盘(含利用率、显存、功耗、温度、PCIe 带宽、Xid 错误等),就有时序图 + P95/P99叠加分析。

5)性能归因/压测辅助
• Nsight Systems/Compute:深入到内核层面看 SM 占用、内存带宽、瓶颈类型(是否真的“算力打满”而不是被内存/PCIe 卡住)。
• gpu-burn / stress 工具:用于基准“打满”验证(别在生产上跑,容易把温度/功耗拉满)。

给你的小结
• 临时:nvidia-smi dmon / pmon + 我上面的满载脚本就够用了。
• 常态化:上 DCGM Exporter + Prometheus + Grafana,再加告警阈值(>95% 利用率、>90% 显存、功耗/温度叠加)= 可视化+报警闭环。
• 结合你跑 vLLM 的场景,建议把 GPU 指标与 vLLM 的 Prometheus 指标(如请求队列、prefill/decoding 直方图)一起进 Grafana,才能判断“排队导致的高延迟”还是“算力真打满”。

http://www.dtcms.com/a/496728.html

相关文章:

  • NumPy 快速入门
  • python-time和datetime
  • 东莞网站建设_东莞网页设计】最好看免费观看高清大全
  • vs 2017c 怎么建设网站WordPress图片加密
  • 力扣-删除重复的电子邮箱
  • Avalonia DataGrid 控件的LostFocus事件会多次触发
  • python做网站的优势wordpress 类似的
  • 58同城网站建设的不足网站建设顾问站建
  • CRMEB-PHP批量发货技术详解
  • 高扩展集群的实现方式:硬件与软件视角
  • 美妆企业网站模板企业购物网站开发
  • 行业网站解决方案营销网站制作公司
  • 常州网站推关键词排名规则
  • Prism框架下MVVM模式中命令实现
  • 外国人的做视频网站吗主流的网站开发框架
  • 微信网站什么做盐城网站优化工作室
  • 游戏设计网站深圳网络建设公司
  • 常德网站建设制作网站设计公司有用吗
  • 肘部法找k
  • 自助建站是什么意思邯郸网站建设优化
  • 优秀的网站通过什么提供信息合肥市门户网站
  • YooAsset运行机制
  • CC12-拆分词句
  • 室内设计网站参考手机能建设网站吗
  • 做网站宁波有什么的网络公司网页设计与制作公告栏
  • 直播美颜SDK功能开发实录:自然妆感算法、人脸跟踪与AI美颜技术
  • 建设网站怎么查明细想开广告公司怎么起步
  • Monkey 综合运用参考
  • 如何做网站内页制作一个视频网站
  • seo网站首页推广跨境电商要投资多少钱