Jvm3、JVM和GC常用的参数

本文深入解析Java垃圾回收(GC)的参数配置,包括跟踪参数、堆内存设置、新生代及幸存者空间调整等,旨在帮助开发者理解并优化Java应用程序的性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、跟踪参数

 1、-verbose:gc

       -XX:+printGC 二者都可以打印GC的简要信息

在Idea中设置VM options: 例如--> -verbose:gc。

2、-XX:+PrintGCDetails 可以打印GC的详细信息

-XX:+PrintHeapAtGC 每次GC时都打印堆信息

3 、-Xmx -Xms 指定堆内存的最大值和最小值 例如-Xmx20m -Xms10m

 使用Runtime.getRuntime().xxx()方法能获取许多关于虚拟机配置的结果。比如

Runtime.getRuntime().maxMemory()获取最大堆内存。

4、-Xmn 设置新生代大小

      -XX:NewRatio 设置新生代与老年代的比例。4就表示新生代:老年代=1:4,也就是新生代占总内存的1/5。

      -XX:SurvivorRatio 设置survivor区与新生代的比例。就是from、to与eden的比例。8表示survivo:eden=2:8。就是说s占年轻代的1/10。

      -XX:PermSize --XX:MaxPermSize 设置永久区的初始化空间与最大空间

      -Xss 设置栈大小

5、-Xloggc:log/gc.log指定GC日志文件的输出位置

      -XX:+TraceClassLoading 打印加载的类信息

      -XX:+HeapDumpOnOutMemoryError 内存溢出时导出堆信息到文件

      -XX:+HeapDumpPath 设置导出路径

6、推荐配置

      根据实际情况调整新生代与幸存代的大小。推荐新生代占堆内存的3/8,幸存代占新生代的1/10。

最好设置-XX:+HeapDumpOnOutMemoryError与导出路径,以便排查问题。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值