linux环境mule JVM短生命周期对象性能调整
来源:互联网 发布:淘宝我的信誉在哪里看 编辑:程序博客网 时间:2024/06/11 22:36
最近,在一项目上,发现后端mule es cpu耗用高。经过jstat -gcutil jvm进程号 1000 10分析,发现FGC次数,较多。
根据gc观察,O老生代,经过达到80% 以上。而新生代survior s1,s2内存空间比较小。判断有新生代对象没经过几次gc,就进入了老生代。
修改mule/conf/wrapper.conf .增加如下选择。
wrapper.java.additional.5=-XX:+PrintGCDetails
wrapper.java.additional.6=-XX:+PrintGCDateStamps
wrapper.java.additional.7=-verbose:gc
wrapper.java.additional.8=-Xloggc:gc.log
wrapper.java.additional.9=-XX:ParallelGCThreads=10
wrapper.java.additional.10=-XX:+UseConcMarkSweepGC
wrapper.java.additional.11=-XX:+UseParNewGC
wrapper.java.additional.12=-XX:NewRatio=3
wrapper.java.additional.13=-Xss256K
wrapper.java.additional.14=-XX:SurvivorRation=2
wrapper.java.additional.15=-XX:TargetSurvivorRatio=8
NewRatio=3属性增加新生代大小。年轻代(Eden和两个Survivor与年老代的比值),年轻代为堆的1/4大小。
-XX:SurvivorRatio=2 Eden区与Survivor区的大小比值。代表Eden区为2/10,survivor是8/10.survivor存储Eden快速回收后的数据,survivor适当调高有利于缓解经几次fast gc后,才会回收的对象,这些对象经过几次gc,是可以回收掉的。如果survior太小,则经过一两次回收,由于survivor空间过小,则会直接进入Old代。如果适中,在经过几次gc后,回收掉。不用在放入old代。经几次回收才能释放的对象,可以理解为中短期生命周期对象,它是有机会回收,但需要其它依赖释放引用。
参考文献:
JVM实用参数(五)新生代垃圾回收
http://ifeve.com/useful-jvm-flags-part-5-young-generation-garbage-collection
- linux环境mule JVM短生命周期对象性能调整
- JVM对象生命周期详解
- JVM-对象的生命周期
- JVM性能调整 - GC调整策略
- 调整JVM参数提升性能
- Linux Network Tuning Linux网络环境性能优化调整
- Linux Network Tuning Linux网络环境性能优化调整
- JVM中对象的生命周期
- 解读JVM中的对象生命周期
- JVM 性能调整的一些基本概念
- 调整 JVM 开关以提高性能
- JVM 性能调整的一些基本概念
- JVM 性能调整的一些基本概念
- JVM 性能调整的一些基本概念
- JVM 性能调整的一些基本概念
- JVM性能调整的一些基本概念
- paip.提升性能----jvm参数调整.txt
- 调整VM Option优化JVM性能
- GPG入门教程2
- ArcGIS Engine中的8种数据访问
- 替AsyncHttpClient设置Cookie
- java classLoader 体系结构
- 鸡啄米vc++2010系列7(对话框:创建对话框类和添加控件变量)
- linux环境mule JVM短生命周期对象性能调整
- 版本控制
- 以一个文本内容来筛选元素
- ios笔记
- 【HTTP】Fiddler(三)- Fiddler命令行和HTTP断点调试
- Android 系统分区分析
- Eclipse动画讲解常用快捷键
- Mybatis接口编程方式实现增删改查
- 通过IO操作,写日志