发布于2026-07-12 阅读(0)
扫一扫,手机访问
CentOS 环境下,Ja va 应用的监控到底该怎么搞?这个问题其实拆开来看,无非三个层面:JVM 本身、应用层、还有底层的操作系统。下面就把市面上常用的工具和典型用法梳理一遍,方便大家按需选型,落地时少走弯路。

先说工具的分类。不同的工具,干的活不一样,有的适合应急诊断,有的适合长期观测。下面这个表格基本覆盖了从 JVM 诊断到系统监控的完整链路,可以组合使用。
| 工具 | 类型 | 主要用途 | 典型场景 |
|---|---|---|---|
| jps | JVM 自带 | 列出本机所有 Ja va 进程 PID | 快速定位目标进程 |
| jstat | JVM 自带 | 监控 GC、内存、类加载、JIT 等统计 | 观察 GC 频率与内存各区使用 |
| jinfo | JVM 自带 | 查看/动态修改 JVM 参数 | 核对与调整运行时参数 |
| jstack | JVM 自带 | 打印线程栈,定位死锁/阻塞 | 线程争用、卡死排查 |
| jmap | JVM 自带 | 生成堆转储,分析内存泄漏 | 内存泄漏定位、对象分布 |
| JConsole | 可视化 | 图形化查看内存、线程、类、CPU | 本地/远程连接诊断 |
| VisualVM | 可视化 | 性能监测、线程分析、内存泄漏检查 | 深度排查与采样 |
| JMX | 管理与监控 | 远程采集 MBean 指标与操作 | 对接监控平台、脚本化采集 |
| Prometheus + JMX Exporter | 指标平台 | 将 JVM/JMX 指标转为 Prometheus 格式 | 长期存储与告警 |
| Grafana | 可视化 | 构建监控大盘与告警面板 | 可视化展示与运维看板 |
| Micrometer + Spring Boot Actuator | 应用指标 | 暴露 /actuator/prometheus 端点 | Spring Boot 应用快速接入 |
| SkyWalking | APM/分布式追踪 | 调用链追踪、性能剖析 | 微服务链路与性能瓶颈 |
| MyPerf4J | APM | 高性能、低开销的 Ja va 性能监控 | 生产环境低侵入监控 |
| New Relic / AppDynamics | 商业 APM | 响应时间、吞吐量、错误率等全链路 | 企业级可观测性 |
| dstat / nmon | 系统监控 | CPU、内存、磁盘、网络资源监控 | 关联瓶颈定位(系统层) |
| crontab + 脚本 | 运维自动化 | 存活检测、异常重启/告警 | 稳定性保障与自愈 |
说实话,工具再多,关键还在于怎么用。下面这几步,基本覆盖了从快速诊断到长期观测的常用路径,适合大多数 CentOS + Ja va 的场景。
jps -l 拿到目标 PID,后续所有操作都靠它。jstat -gcutil 1000 10 (每 1 秒一次,共 10 次),重点关注 S0U、S1U、EC、EU、OC、OU、MC、MU 这些列,以及 YGC、YGCT、FGC、FGCT、GCT。jstack 抓线程栈,找出 BLOCKED 或 WAITING 状态的线程,分析锁竞争。jmap -dump:live,format=b,file=heap.hprof 生成堆转储,再用 Eclipse MAT 分析。/actuator/prometheus 端点,由 Prometheus 采集、Grafana 展示。配置这块,直接给几个常用的例子,拿过去就能用。
在启动参数中加入:
ja va -Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=9010 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-jar yourapp.jar
注意:生产环境务必开启认证与 SSL,并限制来源 IP。
在 prometheus.yml 中添加作业:
scrape_configs:
- job_name: 'ja va-app'
metrics_path: '/actuator/prometheus'
static_configs:
- targets: ['localhost:8080']
应用侧需要引入 Micrometer 依赖并启用 Actuator 的 prometheus 端点。
jstat -gcutil ,每 1 秒采样一次,共 10 次。这一步最常用,用来观察 GC 与内存分区的使用变化。
工具链搭起来了,接下来就是怎么用好它。下面这套实践可以形成从指标到链路再到系统的闭环观测与告警体系。
dstat 或 nmon 观察 CPU steal、磁盘 await、网络丢包等系统指标。很多时候性能问题并不在 JVM 内部,而是系统层资源不足导致的。crontab + 脚本 做进程存活检测与异常重启/告警,作为平台告警的补充防线。关键时刻,靠它兜底。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8