Linux Java 性能监控实操指南
一 快速定位流程
二 常用工具与典型命令
| 工具 | 作用 | 典型命令 |
|---|---|---|
| jps | 列出本机所有 Java 进程 | jps -l |
| top / htop | 实时查看进程 CPU、内存 | top -c -p |
| jstat | JVM 内存与 GC 统计 | jstat -gc |
| jstack | 线程快照,定位死锁/阻塞 | jstack |
| jmap | 堆内存与对象统计、导出堆转储 | jmap -heap |
| jcmd | 一站式诊断(线程、堆、GC、系统属性) | jcmd |
| jconsole / VisualVM | 可视化监控与采样 | jvisualvm(远程需 JMX) |
| VisualVM 远程 JMX | 远程连接监控 | -Dcom.sun.management.jmxremote.port=8777 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false |
| GC 日志 | GC 细粒度分析与可视化 | -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:/path/gc.log |
| MAT | 堆转储分析,定位泄漏根因 | 打开 heap.hprof 进行分析 |
三 关键场景与命令组合
四 长期监控与可视化
五 生产实践与安全建议