日常记录——JVM—PS+PO的GC日志分析

一、代码

public class GCtest {
    public static void main(String[] args) {
        List<byte[]> byteList = new ArrayList<>();
        for (;;){
            byte[] bytes = new byte[1024];
            byteList.add(bytes);
        }
    }
}

二、配置

-Xmn5M //年轻代
-Xms10M //堆最小
-Xmx10M //堆最大
-XX:+UseParallelOldGC //使用ps+po
-Xloggc:D:\gclog\xxx-xxx-gc-%t.log //GC日志输出文件
-XX:+UseGCLogFileRotation //循环使用日志
-XX:NumberOfGCLogFiles=2 //日志数量
-XX:GCLogFileSize=20K //日志文件大小
-XX:+PrintGCDetails //打印GC详细信息
-XX:+PrintGCDateStamps //打印GC详细信息时间
-XX:+PrintGCCause //打印GC原因

三、日志

1.年轻代GC
2020-07-26T23:31:31.843+0800: 0.082: [GC (Allocation Failure) --[PSYoungGen: 3681K->3681K(4608K)] 5941K->8093K(9728K), 0.0009832 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
时间戳 GC原因(分配失败)–【 年轻代 GC:GC前新生代占内存3681K->GC后新生代占内存3681K(新生代总内存4608K)GC前堆内存占用5941K->GC后堆内存占用8093K(堆总大小9728K),GC耗时0.0009832 secs】【时间:GC用户耗时,系统耗时,实际耗时】
2.年老代GC
2020-07-27T00:37:07.359+0800: 0.088: [Full GC (Ergonomics) [PSYoungGen: 4096K->2518K(4608K)] [ParOldGen: 3165K->4640K(5120K)] 7261K->7158K(9728K), [Metaspace: 3144K->3144K(1056768K)], 0.0052679 secs] [Times: user=0.16 sys=0.00, real=0.01 secs]
时间戳 Full GC 原因(自动的调解gc暂停时间和吞吐量之间的平衡)–【 年轻代 GC:GC前新生代占内存4096K->GC后新生代占内存2518K(新生代总内存4608K)】【 年老代 GC:GC前年老代占内存3165K->GC后年老代占内存4640K(年老代总内存5120K)】GC前堆内存占用7261K->GC后堆内存占用7158K(堆总大小9728K)【Metaspace(方法区)fullGC前3144K->fullGC后3144K(Metaspace共1056768K)】GC耗时0.0052679 secs【时间:GC用户耗时0.16,系统耗时0,实际耗时0.01】

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值