我正在运行一个JBOSS服务器,并且以下输出属于-gcutil工具。我很好奇这是什么缩写。
/usr/java/jdk1.7.0_25/bin/jstat -gcutil 47929 S0 S1 E O P YGC YGCT FGC FGCT GCT 0.00 0.00 68.46 100.00 57.08 44539 5829.704 303497 241552.104 247381.808
谢谢
s0 = survivor Space 0用途占空间当前容量的百分比。
s1 =幸存者空间1利用率占空间当前容量的百分比。
e = Eden空间利用率是该空间当前容量的百分比。
o =旧空间利用率是该空间当前容量的百分比。
p =永久空间利用率是该空间当前容量的百分比。
ygc =年轻一代GC事件的数量。
ygct =年轻一代垃圾收集时间。
fgc =完整GC事件的数量。
fgct =完整的垃圾收集时间。
gct =总计垃圾收集时间。
在https://docs.oracle.com/javase/7/docs/technotes/tools/share/share/jstat.html#gcutil_option
此外,您可以参考http://www.cs.lafayette.edu/docs/java/java/tooldocs/share/jstat.html。
在 @burtelcuk的答案上有所扩展:内存被散布到堆中(静止对象(和永久空间 p (其中类的bytecode for类被存储了。堆空间进一步分为年轻的 y 和终身/旧一代 o 。年轻一代由Eden Space e 和两个幸存者空间 S0 和 S1 。
对象分配给伊甸园。当伊甸园空间耗尽时,垃圾收集器将活物体移动到幸存者空间中,并释放了伊甸园。
当幸存者空间用完时,垃圾收集器通常会在幸存者空间内移动活物体。似乎幸存者空间0和1再次像复制的收集器一样工作,其中仅分配给一个空间,而另一个空间则保持自由。当当前空间满足时,所有实时对象都将移至"自由空间",并且两个空格切换角色。如果对物体收集了一定次,则将其移至终身空间。
终身空间也是通过标记和清扫算法收集的垃圾。