博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JVM之GC监控
阅读量:6195 次
发布时间:2019-06-21

本文共 1511 字,大约阅读时间需要 5 分钟。

hot3.png

https://mp.weixin.qq.com/s/EwAmMR3SrLl_Fbx487WRVg

GUI GC监控由一个单独的图形化应用来完成,其中三个最常用的应用是”jconsole”, “jvisualvm” 和 “Visual GC”。

jstat 是HotSpot JVM提供的一个监控工具。其他监控工具还有jps 和jstatd。有些时候,你可能需要同时使用三种工具来监控你的应用。jstat 不仅提供GC操作的信息,还提供类装载操作的信息以及运行时编译器操作的信息。本文将只涉及jstat能够提供的信息中与监控GC操作信息相关的功能。

-verbosegc

 

-verbosegc 是在启动一个Java应用时可以指定的JVM参数之一。而jstat 可以监控任何JVM应用,即便它没有制定任何参数。 -verbosegc 需要在启动的时候指定,因此你可能会认为它没有必要(因为jstat可以替代之)。但是, -verbosegc 会以更浅显易懂的方式展现GC发生的结果,因此他对于监控监控GC信息十分有用。

下面是-verbosegc 的可用参数

 

  •  -XX:+PrintGCDetails

  •  -XX:+PrintGCTimeStamps

  •  -XX:+PrintHeapAtGC

  •  -XX:+PrintGCDateStamps (from JDK 6 update 4)

 

如果只是用了 -verbosegc 。那么默认会加上 -XX:+PrintGCDetails。 –verbosgc 的附加参数并不是独立的。而是经常组合起来使用。

使用 –verbosegc后,每次GC发生你都会看到如下格式的结果。

[GC [<collector>: <starting occupancy1> -> <ending occupancy1>, <pause time1> secs] <starting occupancy3> -> <ending occupancy3>, <pause time3> secs]

 

这是-verbosegc 输出的minor GC的例子。

 

S0    S1     E      O      P        YGC    YGCT    FGC    FGCT     GCT

0.00  66.44  54.12  10.58  86.63    217    0.928     2    0.067    0.995

0.00  66.44  54.12  10.58  86.63    217    0.928     2    0.067    0.995

0.00  66.44  54.12  10.58  86.63    217    0.928     2    0.067    0.995

 

这是 Full GC发生时的例子

 

[Full GC [Tenured: 3485K->4095K(4096K), 0.1745373 secs] 61244K->7418K(63104K), [Perm : 10756K->10756K(12288K)], 0.1762129 secs] [Times: user=0.19 sys=0.00, real=0.19 secs]

 

如果使用了 CMS collector,那么如下CMS信息也会被输出。

由于 –verbosegc 参数在每次GC事件发生的时候都会输出日志,我们可以很轻易地观察到GC操作对于堆空间的影响。

推荐使用jstat 来监控GC操作,如果你感觉到GC操作的执行时间过长,那就可以使用verbosegc 参数来分析GC。GC优化的大体步骤就是在添加verbosegc 参数后,调整GC参数,分析修改后的结果

转载于:https://my.oschina.net/zhaolin/blog/1942100

你可能感兴趣的文章
我的友情链接
查看>>
路由过滤与策略路由的设计
查看>>
Tomcat下Solr安装配置
查看>>
Cisco 交换机恢复母盘
查看>>
Linux的系统调用
查看>>
Oracle中ORA-01653解决方法
查看>>
企业监控利器nagios应用终结篇
查看>>
MySQL源码:MYSQL存储过程/函数的分析原理及缓存机制
查看>>
统计学习方法概论---标注问题
查看>>
开源中国和Cloud Foundry-红薯
查看>>
20170713R710服务器独立远程控制卡配置实战演示
查看>>
windows Vista / 7 不能安裝SQL Server 2008 R2解決方法
查看>>
详解PE和CE的连通性--不使用OSPF区域0
查看>>
MPLS TE基本配置-OSPF
查看>>
CentOS Linux解决Device eth0 does not seem to be present
查看>>
我的友情链接
查看>>
ThinkPHP IF标签用法笔记
查看>>
CA证书
查看>>
【wifi智能家居】ESP8266 WIFI模块和mini Rboard实现手机wifi控制
查看>>
WPF外包团队 更新WPF案例展示
查看>>