跑大語言模型的時候,你是不是一邊盯著終端機、一邊祈禱顯存不要爆掉?
本篇聚焦 安裝步驟 與 動態顯示 VRAM 的實戰做法,讓你即時看見顯存水位,避免 OOM。
工具 | 特色 | 什麼時候用 |
---|---|---|
nvidia-smi |
內建於驅動、零安裝,查詢最穩 | 快速看整體 VRAM、GPU 利用率 |
watch + nvidia-smi |
0.5s ~ 1s 更新,輕量 | 動態顯示 VRAM、水位變化 |
nvidia-smi dmon |
類似 top 的流式輸出 | 觀察功耗、溫度、利用率趨勢 |
nvtop |
圖形化 TUI、像 htop 的 GPU 版 |
長時間監看、同機多 GPU |
gpustat |
Python 工具,乾淨易讀 | 想要簡潔列表、支援 --watch |
系統環境示例:Ubuntu 22.04 + NVIDIA Driver/CUDA 已正確安裝
nvidia-smi
(免安裝)nvidia-smi
看到 GPU 型號、VRAM 使用、GPU-Util% 就代表驅動 OK。
watch + nvidia-smi
最輕量、最不會「干擾測試」的做法。
watch -n 0.5 "nvidia-smi --query-gpu=memory.used,memory.total --format=csv,noheader,nounits"
輸出像:6182, 10019
(已用 / 總量,單位 MiB)
watch -n 0.5 "nvidia-smi --query-gpu=index,name,utilization.gpu,memory.used,memory.total --format=csv,noheader,nounits"
watch -n 1 "nvidia-smi --query-gpu=memory.used,memory.total,utilization.gpu --format=csv,noheader,nounits"
小撇步:推理瞬間 VRAM 水位會抖動,建議更新間隔 0.5~1 秒,夠看又不太占 CPU。
nvidia-smi dmon
sudo nvidia-smi dmon -s pucvmet
p
=功耗、u
=利用率、c
=時脈、v
=顯存利用、m
=記憶體、e
=編碼/解碼、t
=溫度
更像「資料流」;適合抓趨勢與尖峰。
nvtop
sudo apt update
sudo apt install -y nvtop
nvtop
htop
的互動介面:溫度、功耗、使用率、VRAM 一目了然h
看快捷鍵gpustat
pip install --upgrade gpustat
gpustat --watch -i 1
輸出每張卡的 VRAM / 利用率,非常清爽。-i 1
表示每秒更新一次。
watch -n 0.5 "nvidia-smi --query-gpu=memory.used,memory.total --format=csv,noheader,nounits"
watch -n 1 "nvidia-smi --query-gpu=utilization.gpu,memory.used,memory.total --format=csv,noheader,nounits"
nvtop
# 每 0.5 秒記錄一次,附時間戳
while true; do
date +"%F %T" >> vram_log.csv
nvidia-smi --query-gpu=memory.used,memory.total,utilization.gpu --format=csv,noheader,nounits >> vram_log.csv
sleep 0.5
done
之後可用 Python / Excel 畫出 VRAM 時序曲線,重現尖峰點。
Memory-Usage(VRAM):
模型載入(load)時會跳一大段;預留 0.5~1GB 給系統與框架,避免貼近滿載崩潰。
GPU-Util:
推理時 70%~100% 屬常見;若長期 <20%,多半是 CPU 或 I/O 限制(資料前處理太慢)。
溫度/功耗:
長時間 80°C 以上建議改善散熱;桌機可增壓殼風、筆電調高風扇曲線。
以下示例用 Ollama 發一段推理,同時看 VRAM 水位變化:
# 1) 開兩個終端機:A 做監控、B 做推理
# A 窗口(監控)
watch -n 0.5 "nvidia-smi --query-gpu=memory.used,memory.total,utilization.gpu --format=csv,noheader,nounits"
# B 窗口(推理)
ollama run gemma3:4b "用 100 字介紹 Transformer 的自注意力機制"
觀察點: