java gc的考察

参考http://www.cnblogs.com/mazj611/p/3481610.html

看了很多博客、书, 仍然有所不懂。很多看过即忘记。实在要不得。

我们可以通过jstat获取gc情况

jstat -gc 9080 250 4

jstat -gcutil 9080  1000  10

C:Program FilesJavajdk1.7.0_04in>jstat -gc 9080 250 4
S0C S1C S0U S1U EC EU OC OU PC PU YGC YGCT FGC FGCT GCT
1344.0 1344.0 0.0 8.5 10880.0 7200.8 162320.0 142341.9 28160.0 27955.4 1649 5.934 10 4.596 10.530
1344.0 1344.0 0.0 8.5 10880.0 7200.8 162320.0 142341.9 28160.0 27955.4 1649 5.934 10 4.596 10.530
1344.0 1344.0 0.0 8.5 10880.0 7200.8 162320.0 142341.9 28160.0 27955.4 1649 5.934 10 4.596 10.530
1344.0 1344.0 0.0 8.5 10880.0 7200.8 162320.0 142341.9 28160.0 27955.4 1649 5.934 10 4.596 10.530

进行,9080的一些操作,再次查看gc

C:Program FilesJavajdk1.7.0_04in>jstat -gc 9080 250 4
S0C S1C S0U S1U EC EU OC OU PC PU YGC YGCT FGC FGCT GCT
1344.0 1344.0 0.0 1319.2 10880.0 5419.7 162320.0 143911.3 28160.0 27960.2 1653 6.335 10 4.596 10.931
1344.0 1344.0 0.0 1319.2 10880.0 5419.7 162320.0 143911.3 28160.0 27960.2 1653 6.335 10 4.596 10.931
1344.0 1344.0 0.0 1319.2 10880.0 5419.7 162320.0 143911.3 28160.0 27960.2 1653 6.335 10 4.596 10.931
1344.0 1344.0 0.0 1319.2 10880.0 5419.7 162320.0 143911.3 28160.0 27960.2 1653 6.335 10 4.596 10.931

这些数据,如果不仔细观察,就是垃圾数据。

很重要的是

YGC/FGC的变化,数字虽然在那里,但是我就是不明白其含义,后面发觉了! 最后面的c表示count,是java程序启动以来的gc次数,这个总,很重要,因为我观察发现数字上,只会增不会减。

这表明我推断的正确。

YGC 一般不重要,但是FGC 的发生,往往意味深刻。。。!!

或者通过jconsole、jvisualvm也可以查看gc情况

原文地址:https://www.cnblogs.com/FlyAway2013/p/3829817.html