🔍
-
CPU 使用率

- 整体 CPU 占用
- 每个核心的占用情况
- 进程级 CPU 占用(如模型推理、数据预处理等)
-
内存使用
- 总内存占用
- 交换分区使用情况
- 进程内存细节(RSS、VMS)
-
GPU 资源(如使用)
- GPU 使用率
- GPU 显存占用
- GPU 温度与功耗
-
磁盘 I/O
- 读写速度
- 磁盘空间使用
- 模型文件、日志文件大小
-
网络
- 带宽使用
- 连接数(如 API 服务)
-
进程/服务状态
- 关键进程是否存活
- 服务响应时间
🛠 监控工具推荐
系统层面
- Prometheus + Grafana:通用监控方案,可自定义指标
- Node Exporter:收集主机指标
- cAdvisor:容器监控(如使用 Docker)
- NVIDIA DCGM:GPU 监控(NVIDIA 显卡)
进程/应用层面
- 自定义指标导出(如使用 Prometheus Client Library)
- 日志分析(如 ELK 栈)
- APM 工具(如 New Relic, Datadog)
轻量级方案
- psutil(Python 库) + 定时脚本 + 报警
- htop / glances 实时查看
📊 关键指标阈值建议
| 指标 | 警告阈值 | 严重阈值 |
|---|---|---|
| CPU 使用率 | 80% | 95% |
| 内存使用率 | 85% | 95% |
| GPU 显存 | 90% | 98% |
| 磁盘空间 | 85% | 95% |
| API 延迟 | 200ms | 500ms |
🚨 报警机制
- 邮件 / 钉钉 / 企业微信 通知
- 自动扩展(如 Kubernetes HPA)
- 自动重启服务(如进程崩溃)
📝 示例脚本(Python + psutil)
import psutil
import time
def monitor_resources():
while True:
# CPU
cpu_percent = psutil.cpu_percent(interval=1)
# 内存
memory = psutil.virtual_memory()
# 磁盘
disk = psutil.disk_usage('/')
# 网络
net_io = psutil.net_io_counters()
print(f"CPU: {cpu_percent}% | "
f"Memory: {memory.percent}% | "
f"Disk: {disk.percent}% | "
f"Net Sent: {net_io.bytes_sent / 1024:.2f} KB")
time.sleep(5)
if __name__ == "__main__":
monitor_resources()
📈 可视化看板(Grafana 示例)
- 实时 CPU/内存/GPU 曲线
- 历史资源趋势
- 服务健康状态
- 预警面板
🔗 集成建议
- 容器化部署 → 使用 cAdvisor + Prometheus
- 裸机/虚拟机 → Node Exporter + 自定义 exporter
- 云服务 → 阿里云/腾讯云监控 + 自定义指标
如果需要针对 特定部署环境(如 Kubernetes、Docker Compose、裸机)或 编程框架(如 TensorFlow、PyTorch)的详细监控配置,可以提供更多上下文,我可以进一步定制方案。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。