visualvm远程监控jvm_Java性能调优:JVM性能监控常用方法

一、前言

本小节会介绍JVM性能监控,掌握几种常用的监控工具辅助我们更好的了解JVM的性能状态。生产环境中监控JVM性能,分析监控数据,可以知道何时需要JVM调优,可见监控是非常重要的。

JVM的监控范围包括垃圾收集、JIT编译以及类加载。那其中具体都包含哪些?如何监控呢?我们开始探索下吧

二、垃圾收集

监控JVM的垃圾收集非常的重要,因为它对应用的吞吐量和延迟有着深刻的影响。

重要的垃圾收集数据包括:

当前使用的垃圾收集器

Java堆的大小

新生代和老年代的大小

永久代的大小

Minor GC的持续时间

Minor GC的频率

Minor GC的空间回收量

Full GC的持续时间

Full GC的频率

每个并发垃圾收集周期的空间回收量

是否老年代或者永久代的占用触发了Full GC

应用是否显式调用了System.gc()

三、图形/命令工具

除了用命令行选项生成垃圾收集统计数据,我们还可以用图形化工具监控垃圾收集,用这类工具识别变化趋势或者模式要比文本容易很多。下列图形化工具可用于监控HotSpot VM:JConsole、JProfile(收费)、VisualGC(插件)以及VisualVM

3.1 VisualVM介绍

在进行多线程编程以及线程池编程时候,是无法用肉眼确认程序性能的,也不会知道当前jvm上面有多少个线程,线程池用的对不对。这时候就要用 visual vm 这些jdk自带的性能监测工具了。

简单介绍:

请打开你的jdk的bin目录找到以下图标,双击打

689f056ef118c2d5aa9fb8fd1edfc52d.png

然后你会看到

803e1e2eb1d90a968184866fe4a13f5d.png

点击左侧是用到jvm的程序intellij platform–就是用这的idea java编辑器:

600df547701be496d9e1fea065cda03f.png

总共有四个标签,重点介绍以下“监视”以及“线程”

c4a67eaa18d83f881b4b09f21db9bc68.png

监视里面的线程一栏看看,活动是指目前活动活跃的线程数量,已经启动的总数是指,程序运行以来一共创建或启动的线程数量,无论线程状态是不是完成了,或者已经被销毁了,还是说正在活动中,抑或在阻塞,全部都统计在这个数字中

线程标签页如下:

9e9c56d2a511dd47f7e133eead63488a.png

线程标签页可以选择所有线程列表,活动的线程或者是已经完成的线程,这些信息也对于判断程序的性能很重要

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值