首页主机资讯Ubuntu中Java性能监控工具有哪些

Ubuntu中Java性能监控工具有哪些

时间2026-01-22 01:28:05发布访客分类主机资讯浏览721
导读:Ubuntu下的Java性能监控工具全景 一 系统层监控工具 top / htop:实时查看进程的CPU、内存占用,htop界面更友好,支持按键筛选。安装:sudo apt-get install htop。 vmstat:观察内存、sw...

Ubuntu下的Java性能监控工具全景

一 系统层监控工具

  • top / htop:实时查看进程的CPU、内存占用,htop界面更友好,支持按键筛选。安装:sudo apt-get install htop
  • vmstat:观察内存、swap、IO、CPU上下文切换等系统层面指标。
  • iostat:聚焦磁盘I/O(读写速率、await、util),定位I/O瓶颈。
  • sar(来自sysstat):收集与回放系统历史活动,便于趋势分析。
  • nmon:轻量级的CPU、内存、磁盘、网络资源监控,适合快速巡检;但不提供JVM内部细节。
  • Netdata:开箱即用的实时可视化监控,适合做主机与应用的基础大盘。
    以上工具适合先确认是否为系统资源(CPU/内存/IO/网络)导致的性能问题,再深入到JVM与应用层排查。

二 JDK自带JVM监控与诊断工具

  • jps:快速列出本机所有Java进程ID与启动类/JAR。
  • jstat:监控GC与内存统计,如:jstat -gc 1000(每1秒刷新)。
  • jmap:生成堆转储(heap dump),如:jmap -dump:format=b,file=heap.hprof ,配合MAT/VisualVM分析内存泄漏与大对象。
  • jstack:导出线程堆栈,定位阻塞、死锁、WAITING/BLOCKED等高CPU或“假死”问题;可先用**top -Hp 找出最忙线程,再用printf “%x\n” < 线程号> **转十六进制,在jstack输出中检索对应nid。
  • jconsole:JDK自带图形化监控,查看内存、线程、类加载、GC等MBean指标。
  • VisualVM:集成内存/线程/CPU采样与剖析、堆转储分析,支持插件扩展。
    这些工具覆盖从“进程在不在、忙不忙”到“哪里慢、为何卡”的逐层诊断路径。

三 生产级APM与分布式追踪

  • Prometheus + Grafana:以时间序列方式采集JVM与应用指标,Grafana做可视化与告警,适合长期观测与容量规划。
  • JProfiler:商业级深度性能剖析(CPU热点、内存分配、线程、JDBC、JPA等),本地/远程均可。
  • Arthas:在线诊断利器,无需重启,支持方法调用追踪、热修复、反编译、线程与内存诊断。
  • async-profiler低开销采样剖析器,适合生产环境定位CPU与内存热点。
  • Pinpoint:面向大规模分布式系统的APM,展示调用链与依赖关系,便于瓶颈定位。
  • Glowroot:轻量开源APM,突出慢请求与错误的捕获与展示。
  • Kamon:面向JVM应用的指标与追踪工具包,便于与多种后端集成。
  • Stagemonitor:Java代理,将指标写入Elasticsearch/Graphite/InfluxDB等,配合可视化平台使用。
    上述工具适合从“单实例深度剖析”到“多服务链路观测”的不同场景与深度需求。

四 基准测试与微基准

  • JMH(Java Microbenchmark Harness):OpenJDK官方微基准框架,控制预热、迭代、Fork等,减少JIT与噪声干扰,得到方法级可信性能数据。常与jstat/jmap/jstack配合,先找热点,再验证优化收益。

五 快速上手排查路径

  • 1)用top/htop确认目标Java进程的CPU/内存是否异常;必要时用nmon做系统层面巡检。
  • 2)用jps拿到PID,用jstat -gc 1000观察GC频率与内存使用是否异常。
  • 3)若疑似“假死/卡顿”,用top -Hp 定位最忙线程,转十六进制后在jstack中查对应nid,分析WAITING/BLOCKED堆栈。
  • 4)怀疑内存泄漏时,用jmap -dump导出heap.hprof,用MAT/VisualVM分析对象保留路径。
  • 5)需要长期观测与告警,接入Prometheus + Grafana;需要方法级热点与调用链,使用async-profiler/ArthasJProfiler/Pinpoint
  • 6)若涉及代码微优化,先用JMH建立基准,再对比优化前后差异。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu中Java性能监控工具有哪些
本文地址: https://pptw.com/jishu/789358.html
如何在Ubuntu上配置Java运行参数 Ubuntu主机名如何保存

游客 回复需填写必要信息