Ubuntu下PyTorch内存不足的排查与优化

一、先快速定位是GPU显存还是系统内存
二、GPU显存不足时的高效做法
三、系统内存不足时的处理
四、可直接套用的代码片段
import torch, gcfrom torch.cuda.amp import autocast, GradScalermodel.train()optimizer.zero_grad()scaler = GradScaler()for data, target in train_loader:with autocast():output = model(data)loss = criterion(output, target)scaler.scale(loss).backward()scaler.step(optimizer)scaler.update()# 释放本轮临时张量del output, loss, data, targetgc.collect()torch.cuda.empty_cache()import torch, psutil, numpy as npdef find_max_batch(dataset, start=4, max_attempts=5):bs = startfor _ in range(max_attempts):try:_ = torch.stack([dataset[i][0] for i in range(bs)])# 仅测试张量分配bs *= 2except RuntimeError:bs = max(1, bs // 2)return bsdef monitor(interval=1):while True:m = psutil.virtual_memory()print(f"Mem: {m.total/1e9:.1f}GB used: {m.percent}% avail: {m.available/1e9:.1f}GB")time.sleep(interval)上述模板覆盖了AMP、显存清理与动态批大小,配合系统监控更易定位瓶颈。
五、实用命令清单
WSL2+Docker+Ollama本地部署大模型思路和实践指南(Qwen1.8b)实用指南
DeepSeek Harness热门插件盘点:10个实用插件,覆盖多Agent、上下文和多模态实用指南
grep文本搜索与正则表达式完整代码示例实用指南
AI漫剧伪装直男1‑24集无雾版夸克网盘资源免费分享
AI漫剧玉僧入尘1-68集无雾无删版夸克网盘资源免费分享
AI漫剧拿握疯太子32集正片+4分钟专属小剧场夸克网盘资源分享