伍伍义乌回收网 - 收购热线:13355891119

伍伍义乌|义乌家电回收|义乌家具收购|义乌家电收购|义乌家具回收|义乌废品收购|义乌废品回收|义乌废品收购网|义乌废品回收网|义乌废品收购站|义乌废品回收站|义乌废品旧货网|义乌物资回收网|义乌金属回收网|义乌废旧电子回收网|义乌再生资源回收网|义乌二手电脑回收网|义乌废品网|义乌废品收购网|义乌废品回收中心|义乌废品回收|义乌废品回收公司|义乌物资回收|义乌物资回收公司|义乌金属回收|义乌金属回收公司|义乌废旧电子回收|义乌废旧电子回收公司|义乌电脑回收|义乌电脑回收公司|义乌空调回收|义乌空调回收公司|义乌变压器回收|义乌变压器回收公司|义乌电子垃圾回收|义乌电子垃圾回收公司|义乌办公家具回收|义乌办公家具回收公司|义乌配电柜回收|义乌配电柜回收公司|义乌芯片回收|义乌芯片回收公司|义乌稀有金属回收|义乌稀有金属回收公司|义乌废纸回收|义乌废纸回收公司

怎样监控Java垃圾接纳机制

时间:2018-12-17 12:07来源:义乌二手收购网络整理 作者:义乌家电回收,义乌家具回收,义乌旧货收购,义乌二手收购点击:
本文是成为Java GC专家系列文章的第二篇。在第一篇《深入浅出Java垃圾接纳机制》中我们进修了差异GC算法的执行进程,GC是怎样事变的,什么是新生代和晚年月,你

本文是成为Java GC专家系列文章的第二篇。在第一篇《深入浅出Java垃圾接纳机制》中我们进修了差异GC算法的执行进程,GC是怎样事变的,什么是新生代和晚年月,你应该相识的JDK7中的5种GC范例,以及这5种范例对付应用机能的影响。

在本文中,我将表明JVM到底是怎样执行垃圾接纳处理赏罚的

什么是GC监控?

垃圾接纳网络监控指的是搞清晰JVM怎样执行GC的进程,譬喻,我们可以查明:

1. 何时一个新生代中的工具被移动到晚年月时,所耗费的时刻。

2. Stop-the-world 何时产生的,一连了多长时刻。

GC监控是为了辨别JVM是否在高效地执行GC,以及是否有须要举办特另外机能调优。基于以上信息,我们可以修改应用措施可能调解GC算法(GC优化)。

怎样监控GC

有许多种要领可以监控GC,但其不同仅仅是GC操纵通过何种方法揭示罢了。GC操纵是由JVM来完成,而GC监控器材只是将JVM提供的GC信息揭示给你,因此,岂论你行使何种方法监控GC都将获得沟通的功效。以是你也就不必去进修全部的监控GC的要领。可是由于进修每种监控要领不会占用太多时刻,相识多一点可以辅佐你按照差异的场景选择最为吻合的方法。

下面所列的器材以及JVM参数并不合用于全部的HVM供给商。这是由于并没有关于GC信息的逼迫尺度。本文我们将行使HotSpot JVM (Oracle JVM)。由于NHN 一向在行使Oracle (Sun) JVM,以是用它作为示例来表明我们提到的器材和JVM参数更轻易些。
起首,GC监控要领按照会见的接口差异,可以分成CUI 和GUI 两大类。CUI GC监控要领行使一个独立的叫做”jstat”的CUI应用,可能在启动JVM的时辰选择JVM参数”verbosegc”。
GUI GC监控由一个单独的图形化应用来完成,个中三个最常用的应用是”jconsole”, “jvisualvm” 和 “Visual GC”。
下面我们来具体进修每种要领。

jstat

jstat 是HotSpot JVM提供的一个监控器材。其他监控器材尚有jps 和jstatd。有些时辰,你也许必要同时行使三种器材来监控你的应用。jstat 不只提供GC操纵的信息,还提供类装载操纵的信息以及运行时编译器操纵的信息。本文将只涉及jstat可以或许提供的信息中与监控GC操纵信息相干的成果。
jstat 被安排在$JDK_HOME/bin。因此只要java 和 javac能执行,jstat 同样可以执行。
你可以在呼吁行情形下执行如下语句。

$> jstat –gc $<vmid$> 1000 S0C S1C S0U S1U EC EU OC OU PC PU YGC YGCT FGC FGCT GCT 3008.0 3072.0 0.0 1511.1 343360.0 46383.0 699072.0 283690.2 75392.0 41064.3 2540 18.454 4 1.133 19.588 3008.0 3072.0 0.0 1511.1 343360.0 47530.9 699072.0 283690.2 75392.0 41064.3 2540 18.454 4 1.133 19.588 3008.0 3072.0 0.0 1511.1 343360.0 47793.0 699072.0 283690.2 75392.0 41064.3 2540 18.454 4 1.133 19.588 $>

在上图的例子中,现实的数据会凭证如下列输出:

S0C S1C S0U S1U EC EU OC OU PC

vmid (假造机 ID),正如其名字描写的,它是假造机的ID,Java应用岂论运行在当地照旧长途的呆板城市拥有本身独立的vmid。运行在当地呆板上的vmid称之为lvmid (当地vmid),凡是是PID。假如想获得PID的值你可以行使ps呼吁可能windows使命打点器,但我们保举行使jps来获取,由于PID和lvmid偶然会纷歧致。jps 通过Java PS实现,jps呼吁会返回vmids和main要领的信息,正如ps呼吁揭示PIDS和历程名字那样。
起首通过jps呼吁找到你要监控的Java应用的vmid,并把它作为jstat的参数。当几个WAS实例运行在统一台装备上时,假如你只行使jps呼吁,将只能看到启动(bootstrap)信息。我们提议在这种环境下行使ps -ef | grep java与jps共同行使。
想要获得GC机能相干的数据必要一连不绝地监控,因此在执行jstat时,要法则地输出GC监控的信息。
譬喻,执行”jstat –gc 1000″ (或 1s)会每隔一秒展示GC监控数据。”jstat –gc 1000 10″会每隔1秒揭示一次,且一共10次。

参数名称

描写

gc

输出每个堆地区的当前可用空间以及已用空间(伊甸园,幸存者等等),GC执行的总次数,GC操纵累计所耗费的时刻。

gccapactiy

输出每个堆地区的最小空间限定(ms)/最大空间限定(mx),当前巨细,每个地区之上执行GC的次数。(不输出当前已用空间以及GC执行时刻)。

gccause

输出-gcutil提供的信息以及最后一次执行GC的产生缘故起因和当前所执行的GC的产生缘故起因

gcnew

输出新生代空间的GC机能数据

gcnewcapacity

输出新生代空间的巨细的统计数据。

gcold

输出晚年月空间的GC机能数据。

gcoldcapacity

输出晚年月空间的巨细的统计数据。

gcpermcapacity

输出耐久带空间的巨细的统计数据。

gcutil

输出每个堆地区行使占比,以及GC执行的总次数和GC操纵所耗费的变乱。

你可以只体谅那些最常用的呼吁,你会常常用到 -gcutil (或-gccause), -gc and –gccapacity。

· -gcutil 被用于搜查堆间的行使环境,GC执行的次数以及GC操纵所耗费的时刻。

· -gccapacity以及其他的参数可以用于搜查现实分派内存的巨细。

行使-gc 参数你可以看到如下输出:

S0C S1C … GCT 1248.0 896.0 … 1.246 1248.0 896.0 … 1.246 … … … …

差异的jstat参数输出差异范例的列,如下表所示,按照你行使的”jstat option”会输出差异列的信息。

列 声名 Jstat参数

S0C 输出Survivor0空间的巨细。单元KB。 -gc
-gccapacity
-gcnew
-gcnewcapacity

S1C 输出Survivor1空间的巨细。单元KB。 -gc
-gccapacity
-gcnew
-gcnewcapacity

S0U 输出Survivor0已用空间的巨细。单元KB。 -gc
-gcnew

S1U 输出Survivor1已用空间的巨细。单元KB。 -gc
-gcnew

EC 输出Eden空间的巨细。单元KB。 -gc
-gccapacity
-gcnew
-gcnewcapacity

EU 输出Eden已用空间的巨细。单元KB。 -gc
-gcnew

OC 输出晚年月空间的巨细。单元KB。 -gc
-gccapacity
-gcold
-gcoldcapacity

OU 输出晚年月已用空间的巨细。单元KB。 -gc
-gcold

PC 输出耐久代空间的巨细。单元KB。 -gc
-gccapacity
-gcold
-gcoldcapacity
-gcpermcapacity

PU 输出耐久代已用空间的巨细。单元KB。 -gc
-gcold

YGC 新生代空间GC时刻产生的次数。 -gc
-gccapacity
-gcnew
-gcnewcapacity
-gcold
-gcoldcapacity
-gcpermcapacity
-gcutil
-gccause

YGCT 新生代GC处理赏罚耗费的时刻。 -gc
-gcnew
-gcutil
-gccause

FGC full GC产生的次数。 -gc
-gccapacity
-gcnew
-gcnewcapacity
-gcold
-gcoldcapacity
-gcpermcapacity
-gcutil
-gccause

FGCT full GC操纵耗费的时刻 -gc
-gcold
-gcoldcapacity
-gcpermcapacity
-gcutil
-gccause

GCT GC操纵耗费的总时刻。 -gc
-gcold
-gcoldcapacity
-gcpermcapacity
-gcutil
-gccause

NGCMN 新生代最小空间容量,单元KB。 -gccapacity
-gcnewcapacity

NGCMX 新生代最大空间容量,单元KB。 -gccapacity
-gcnewcapacity

NGC 新生代当前空间容量,单元KB。 -gccapacity
-gcnewcapacity

OGCMN 晚年月最小空间容量,单元KB。 -gccapacity
-gcoldcapacity

OGCMX 晚年月最大空间容量,单元KB。 -gccapacity
-gcoldcapacity

OGC 晚年月当前空间容量制,单元KB。 -gccapacity
-gcoldcapacity

PGCMN 耐久代最小空间容量,单元KB。 -gccapacity
-gcpermcapacity

PGCMX 耐久代最大空间容量,单元KB。 -gccapacity
-gcpermcapacity

PGC 耐久代当前空间容量,单元KB。 -gccapacity
-gcpermcapacity

PC 耐久代当前空间巨细,单元KB -gccapacity
-gcpermcapacity

PU 耐久代当前已用空间巨细,单元KB -gc
-gcold

LGCC 最后一次GC产生的缘故起因 -gccause

GCC 当前GC产生的缘故起因 -gccause

TT 晚年化阈值。被移动到晚年月之前,在新生代空存活的次数。 -gcnew

MTT 最大晚年化阈值。被移动到晚年月之前,在新生代空存活的次数。 -gcnew

DSS 幸存者区所需空间巨细,单元KB。 -gcnew

(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
栏目列表
推荐内容
l