软件构造 Lab5 其三

这部分内容有关JVM参数调优。

以Lab5为例的JVM参数调优
转载原文:https://blog.csdn.net/hahalidaxin/article/details/93138555

首先将JVM参数调优的目的定义为通过修改JVM参数达到减少GC时间的效果。

JVM参数设置如下时,发现AWT-Thread发生Exception,猜测是堆声明太小导致的。
在这里插入图片描述

简单设置参数后发现,观察操作过程中VisualGC的显示如下:
在这里插入图片描述
发现规律:1)Metaspace占用情况维持不变,19-20M 2)切换比赛策略需要耗费大量内存,大约需要两次Minor GC,Old Gen大约增加120M 3)普通操作会引起一次Minor GC

考虑到本程序的特点:轨道系统由构造类TrackGame统一管理。操作可以分为两种,一种是针对当前轨道系统的简单操作,一种是重新计算划分轨道系统,无论什么操作,都无法改变RunnerList中存储的大量对象(Old Gen)。经观察,一次Full GC之后,Old Gen中存活120M左右。

对于第一种操作,操作过程中会产生部分中间变量,GUI绘图也会产生内存占用,这些内存占用都是临时的;对于第二种操作,会导致大部分的对象失去引用,从而可以回收。

假定重新计算轨道系统是一个使用次数少的操作,用户的大部分操作还是集中于对于特定轨道系统进行操作,因此内存区域划分的基本思想是:

设置较大的Young Gen(1536M)以减少Minor GC次数。

设置合适的Old Gen(512M)

设置大点的SurvivorRatio(16):临时变量多,MinorGC后存活下来的少,经观察,Survivor占用平均80M左右。

设置MetaspaceSize(扩容时触发FullGC的下界)为30M(触发不了Full GC)。

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值