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

相关推荐
大圣编程5 小时前
Java 多维数组详解
java·开发语言
万法若空7 小时前
【算法-查找】查找算法
java·数据结构·算法
殳翰7 小时前
下服务器端开发流程及相关工具介绍(C++)
开发语言·c++
落寞的星星8 小时前
这个对象就包含了已经转换好的DFA和各种词法分析器运转所需要的参数。下一步,我们就可以用ScannerInfo对象创建出Scanner对象,请看下面的代码:
开发语言·c#
nothing&nowhere8 小时前
用 Python 做问卷数据清洗:无效样本检测与处理实战
开发语言·python·数据清洗·数据处理·问卷星·问卷星脚本·刷问卷
2601_961593428 小时前
Rust 开发环境配置繁琐?RustRover 开箱即用搞定编码调试
开发语言·后端·macos·rust
HZZD_HZZD9 小时前
DL/T 645-2026新国标深度解读与智能电表协议适配实战:从帧结构变化到Java采集器升级的全链路改造方案
java·开发语言
多加点辣也没关系11 小时前
JavaScript|第4章:类型转换
开发语言·javascript
聪慧的水蜜桃11 小时前
【YFIOs】用C#开发硬件之设备上云
开发语言·c#