JVM虚拟机:通过日志学习PS+PO垃圾回收器

我们刚才设置参数的时候看到了-XX+PrintGCDetails表示输出详细的GC处理日志,那么我们如何理解这个日志呢?日志是有规则的,我们需要按照这个规则来理解日志中的内容,它有两个格式,一个格式是GC的格式(新生代),另外一个格式是FUll GC(老年代)。

GC的格式

PSYoungGen表示GC类型,2048K表示YoungGC前新生代内存占用,488K表示GC后新生代内存占用,2560K表示新生代的总大小。然后后面的2048K表示GC前堆内存占用,773K表示表示GC后堆内存的占用,9728K表示堆的总大小,0.0015243表示YoungGC耗时。

Full GC格式

Full GC,PSYoungGen(新生代区),GC前为0k,GC后为0k,young总大小为2048k

parOldGen(老年代),GC前为3767,GC后为3724,总的为7168k。GC前堆内存为3767K,GC后堆内存为3724,总的为9216K。

Metaspace(元数据区),GC前为3492K,GC后为3492,总的大小为1056768K

相关推荐
Logintern098 分钟前
Langgraph使用MemorySaver建立有记忆的图
开发语言·windows·python
豆沙沙包?17 分钟前
C++~~~vector容器(p31-P40)
开发语言·c++
原野池予28 分钟前
深入Java集合框架:数组与List互转底层原理剖析(JDK 8)
java·数据结构·list
必须会一定会32 分钟前
GLM-5.3 迁移实战:强制思考、1M 上下文与官方编程基准
android·开发语言·kotlin
牛油果子哥q36 分钟前
C++STL容器详解:vector/list/string底层扩容、迭代器失效终极解决、容器选型避坑
开发语言·c++·list
Java成神之路-42 分钟前
深入理解 HashMap 扩容时机:JDK 7 vs JDK 8 的设计差异与取舍
java·juc
李冰然42 分钟前
深入Java集合框架:数组与List互转底层原理剖析(JDK 8)
java
meilindehuzi_a44 分钟前
Next.js 全栈基础实战:从 SPA、SSR 到 App Router 与 Todo API
开发语言·javascript·ecmascript
Chen—LSN1 小时前
C语言——数据在内存中的存储
c语言·开发语言·经验分享·笔记
竹枝溪1 小时前
MySQL进阶:约束、多表设计、多表查询与事务
java·数据库·mysql·事务·子查询·acid·多表查询