Ubuntu 上的 Java 监控实践指南
一 快速上手 系统层与 JVM 基础监控
二 线程与内存问题的定位流程
三 生产级监控与告警方案
四 稳定性保障 自动重启与健康检查
五 常用命令与工具速查表
| 目标 | 工具/命令 | 关键要点 |
|---|---|---|
| 查看进程 | ps -ef | grep java、top/htop |
| JVM 进程列表 | jps -l | 显示 主类/JAR 与 PID |
| GC 与内存 | jstat -gc |
关注 YGC/YGCT、FGC/FGCT |
| 线程栈 | jstack |
结合 printf ‘%x\n’ 定位高 CPU 线程 |
| 堆信息 | jmap -heap |
查看 堆配置/使用 |
| 堆转储 | jmap -dump:format=b,file=heap.hprof |
用 VisualVM/MAT 分析泄漏 |
| 图形化监控 | jconsole、VisualVM | 内存/线程/类/GC 与 抽样分析 |
| 终端监控 | jtop | CPU、内存、线程数 实时查看 |
| 系统监控 | vmstat、iostat、sar | 内存、I/O、CPU 趋势 |
| 生产监控 | Prometheus + Grafana | 指标采集、可视化、告警 |
| APM/链路 | Jaeger/Zipkin、DDTrace/OTel | 慢请求、错误、调用链 |
| 日志平台 | 观测云 DataKit | 日志/链路/指标/Profiling 一体化 |