【问题标题】:How to read the output of "jstat -gcutil <PID>?"如何读取“jstat -gcutil <PID>”的输出?
【发布时间】:2017-10-29 10:38:15
【问题描述】:
我正在运行 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
谢谢
【问题讨论】:
标签:
java
memory
garbage-collection
heap-memory
jstat
【解决方案2】:
稍微扩展@nurselcuk 的回答:内存分为堆空间(分配对象)和永久空间P(存储类的字节码。堆空间进一步划分分为年轻代Y和终身/老年代O。年轻代由伊甸园空间E和两个幸存者空间S0 和 S1。
对象被分配到伊甸园空间。当 eden 空间用完时,垃圾收集器将活动对象移入幸存者空间并释放 eden 空间。
当幸存者空间用完时,垃圾收集器通常会在幸存者空间内移动活动对象。似乎幸存者空间 0 和 1 再次像复制收集器一样工作,其中对象仅分配到一个空间,而另一个保持空闲。当前空间已满时,所有活动对象都被移动到空闲空间,两个空间交换角色。如果一个对象被收集了一定次数,它就会被移动到永久空间。
Tenured 空间也是由标记和清除算法收集的垃圾。