纯净、安全、绿色的下载网站

首页|软件分类|下载排行|最新软件|IT学院

当前位置:首页IT学院IT技术

JVM GC日志打印参数 使用JVM常用GC日志打印参数

NetWhite   2021-09-14 我要评论
想了解使用JVM常用GC日志打印参数的相关内容吗NetWhite在本文为您仔细讲解JVM GC日志打印参数的相关知识和一些Code实例欢迎阅读和指正我们先划重点:JVM常用参数,GC日志,常用GC日志,打印参数下面大家一起来学习吧

JVM常用GC日志打印参数

1. PrintGC

最简单的GC参数

启用配置:-XX:+PrintGC

日志如下:

根据上面红色方框内的数字1、2、3、4、5说明1是GC类型GC:minor GC(young gc),Full GC:major GC,2是GC前堆内存使用量3是GC后堆内存使用量4是堆内存总量5是本次GC耗时

2. PrintGCDetails

打印GC的详细信息

启用配置:-XX:+PrintGCDetails

日志如下:

不同的垃圾回收器GC日志(表示年代的词)可能会不一样 和第一节中差不多->前的是GC前堆内存使用量->后面是GC后堆内存使用量括号内是堆内存总量

对于这个日志PSYoungGen:年轻代ParOldGen:老年代PSPermGen:持久代(方法区)

Times: user表示用户态CPU耗时sys表示系统CPU耗时real表示GC实际耗时

3. PrintGCTimeStamps

GC时打印进程启动到现在经历的时间

启用配置:-XX:+PrintGCTimeStamps

日志如下:

红色方框内的时间表示进程启动到现在经历的时间

该参数需要配合其它GC日志打印参数一起使用如下

4. PrintGCApplicationStoppedTime

打印GC时应用停顿时间

启用配置:-XX:+PrintGCApplicationStoppedTime

日志如下:

5. PrintGCApplicationConcurrentTime

GC时打印应用执行时间

启用配置:-XX:+PrintGCApplicationConcurrentTime

日志如下:

6. PrintHeapAtGC

每次GC前后打印堆信息

启用配置:-XX:+PrintHeapAtGC

日志如下:

p.s. 上面几个参数可同时配合使用同时使用PrintGC和PrintGCDetails时打印的详细信息

GC日志信息默认是打印到控制台如果需要输出到文件可以使用参数:-Xloggc:gc.log,gc.log是要输出的日志文件路径为应用启动路径的相对路径下也可以使用绝对路径

JVM打印GC日志到文件

package gc;
public class GcTest {
 private static final int _1MB= 1024 * 1024;
 public static void main(String[] args) {
  byte[] a1, a2, a3, a4;
  a1 = new byte[2 * _1MB];
  a2 = new byte[2 * _1MB];
  a3 = new byte[2 * _1MB];
  a4 = new byte[2 * _1MB];
 }
}

打印GC日志

D:\study\workspace\jvm\src>java -Xms20M -Xmx20M -Xmn10M -XX:Survivor

Ratio=8 -XX:+PrintGCDetails -Xloggc:d:\gc.log gc.GcTest

以上为个人经验希望能给大家一个参考也希望大家多多支持


相关文章

猜您喜欢

  • C语言指针引用数组 C语言指针引用数组案例讲解

    想了解C语言指针引用数组案例讲解的相关内容吗ty_77在本文为您仔细讲解C语言指针引用数组的相关知识和一些Code实例欢迎阅读和指正我们先划重点:C语言指针,C语言指针引用数组下面大家一起来学习吧..
  • Java图形化编程 Java图形化编程之JFrame疫苗接种系统详解

    想了解Java图形化编程之JFrame疫苗接种系统详解的相关内容吗qq1913284695在本文为您仔细讲解Java图形化编程的相关知识和一些Code实例欢迎阅读和指正我们先划重点:Java编程,Java图形化编程下面大家一起来学习吧..

网友评论

Copyright 2020 www.sopisoft.net 【绿软下载站】 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 点此查看联系方式