zoukankan      html  css  js  c++  java
  • JVM-模拟YGC,查看GC日志

    我们知道每次创建新的对象都会保存到新生代中。新生代会使用垃圾回收器比如说 ParNew 垃圾回收器,将新生代进一步分成 Eden 区和两个 Survivor 区。当新生代满了的时候就会触发 Young GC。

    本文会实战 Young GC 的场景,并且带大家查看 GC 日志。

    模拟 Young GC 场景

    首先我们将 JVM 的参数按如下所示设置:

    1
    
    -XX:NewSize=5242880 -XX:MaxNewSize=5242880 -XX:InitialHeapSize=10485760 -XX:MaxHeapSize=10485760 -XX:SurvivorRatio=8 -XX:PretenureSizeThreshold=10485760 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:gc.log
    

    以上参数都是 JDK1.8 版本的参数,其他版本略有不同,但也没差多少:

    参数 含义
    -XX:InitialHeapSize
    -XX:MaxHeapSize
    初始堆大小和最大堆大小
    -XX:NewSize
    -XX:MaxNewSize
    初始新生代大小和最大新生代大小
    -XX:PretenureSizeThreshold=1048576 指定了大对象阈值是10MB
    -XX:+PrintGCDetils 打印详细的gc日志
    -XX:+PrintGCTimeStamps 打印出来每次GC发生的时间
    -Xloggc:gc.log 设置将gc日志写入一个磁盘文件

    内存分配情况

  • 相关阅读:
    CAN
    snip_opencv环境配置和测试程序
    snip_进制转换代码段
    代码高亮的调试过程
    test3
    test2
    dsBlog_杂类
    js秒数转换为时分秒
    Linux 添加硬盘挂着到指定目录
    上海居住证积分续办
  • 原文地址:https://www.cnblogs.com/shuiyj/p/13185115.html
Copyright © 2011-2022 走看看