JVM调优

  在JVM启动参数中,可以设置跟内存、垃圾回收相关的一些参数设置,默认情况不做任何设置JVM会工作的很好,但对一些配置很好的Server和具体的应用必须仔细调优才能获得最佳性能。通过设置我们希望达到一些目标:

1.GC的时间足够的小

2.GC的次数足够的少

3.发生Full GC的周期足够的长

  前两个目前是相悖的,要想GC时间小必须要一个更小的堆,要保证GC次数足够少,必须保证一个更大的堆,我们只能取其平衡。

 

.内存查看工具和GC日志分析

-XX:+printGCdetails 详细了解GC中的变化。

-XX:+PrintGCTimeStamps 了解这些垃圾收集发生的时间,自JVM启动以后以秒计量。

-Xloggc:/usr/aaa/dump/heap_trace.txt 将日志信息输出到log

-XX:+HeapDumpOnOutOfMemoryError 控制OutOfMemoryError时打印堆的信息

-XX:HeapDumpPath Heap Dump文件的路径,其中不设-XX:HeapDumpPath时,dump出的文件在/tomcat_home/bin目录下

-XX:+PrintHeapAtGC 在进行GC的前后打印出堆的信息

-verbose.gc 显示GC的操作内容。打开它,可以显示最忙和最空闲收集行为发生的时间、收集前后的内存大小、收集需要的时间等。

-XX:+PrintClassHistogram 打印出实例的数量以及空间大小

 

二.最大堆大小和最小堆大小

针对JVM堆的设置,一般可以通过-Xms -Xmx限定其最小、最大值,为了防止垃圾收集器在最小、最大之间收缩堆而产生额外的时间,我们通常把最大、最小设置为相同的值

 

.针对新生代和旧生代的比例

更大的年轻代必然导致更小的年老代,大的年轻代会延长普通GC的周期,但会增加每次GC的时间;小的年老代会导致更频繁的Full GC

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值