JVM调优由浅到深(二)——如何查看jvm回收日志

本文详细介绍了在Java程序中使用特定的JVM参数输出GC日志的方法,包括简洁和详细的日志输出,并对日志中的各项指标进行了深入解读。

在java程序运行时候,如果输出GC过程的日志,我们常用到以下的jvm参数。

-XX:+PrintGC 简洁的输出GC日志
-XX:+PrintGCDetails 详细的输出GC日志

我们可以在idea 加上jvm的参数。如图
在这里插入图片描述

运行代码

	public static void main(String[] args){

		{
			byte[] b = new byte[1024 * 1024 * 5];
		}
		int a = 0;
		System.gc();
		System.out.println("gc over");
	}

运行结果截图:
在这里插入图片描述

[GC (System.gc()) [PSYoungGen: 11710K->1112K(76288K)] 11710K->1120K(251392K), 0.0019247 secs] [Times: user=0.06 sys=0.00, real=0.00 secs] 
解释: 
GC 		垃圾回收器
PSYoungGen 年轻代
11710K  年轻代垃圾回收前的大小
1112K	年轻代垃圾回收后的大小
(76288K)	年轻代的总大小
user	Young GC用户耗时
sys		Young GC系统耗时
real	Young GC实际耗时

[Full GC (System.gc()) [PSYoungGen: 1112K->0K(76288K)] [ParOldGen: 8K->963K(175104K)] 1120K->963K(251392K), [Metaspace: 3437K->3437K(1056768K)], 0.0054721 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 

解释: 
Full GC 	老年代GC,指发生在老年代的垃圾回收
PSYoungGen 年轻代
1112K	年轻代垃圾回收前的大小
0K		年轻代垃圾回收后的大小
(76288K)	年轻代的总大小

ParOldGen 老年代
8K		老年代垃圾回收前的大小
963K	老年代垃圾回收后的大小
(175104K)	老年代的总大小

1120K	java堆垃圾回收前的大小
963K	java堆垃圾回收后的大小
(251392K)	java堆的总大小

user	Young GC用户耗时
sys		Young GC系统耗时
real	Young GC实际耗时


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值