jvm线上优化(快速反应类型应用)

本文详细介绍了Java垃圾回收(JVM)的各种配置参数,包括不同代的内存大小设置、垃圾回收器的选择、并发回收策略等。深入探讨了如何通过合理配置提高Java应用的性能。
<server id="" address="127.0.0.1" port="6800">  
<jvm-arg>-server</jvm-arg> 
最大堆大小  
<jvm-arg>-Xmx4096M</jvm-arg>  
初始堆大小  
<jvm-arg>-Xms4096M</jvm-arg>  
年轻代大小  
<jvm-arg>-Xmn1280M</jvm-arg> 
设置年轻代中Eden区与Survivor区的大小比值 
6意味这10-6-1=3 ,30%的内部会被浪费掉,用于保存未回收掉的对象,然后复制对象
<jvm-arg>-XX:SurvivorRatio=6</jvm-arg>  
每个线程的堆栈大小  
<jvm-arg>-Xss1024k</jvm-arg>  
持久代大小  
<jvm-arg>-XX:PermSize=256M</jvm-arg>  
持久代大小  
<jvm-arg>-XX:MaxPermSize=256M</jvm-arg> 
并发收集器cms,cms作为老生代收集器时,默认新生代使用ParNew收集器,serial old 当CMS收集器出现concurrent mode failure的时候失败后的后备收集器
ParNew收集器实际上市串行收集器的多线程版本,是并行收集,还是需要“stop the world”,停止用户线程 
CMS收集器采用标记-清理算法,是并发收集,用户线程和收集线程交替进行 
新生代收集采用标记复制和标记整理算法 
parNew+CMS+Serial Old
<jvm-arg>-XX:+UseConcMarkSweepGC</jvm-arg> 
使用并发收集器时full gc 之后,开启对年老代的压缩,也就是进行一次碎片整理  
<jvm-arg>-XX:+UseCMSCompactAtFullCollection</jvm-arg>  
降低标记停顿  
<jvm-arg>-XX:+CMSParallelRemarkEnabled</jvm-arg>  
持久代进行GC  
<jvm-arg>-XX:+CMSClassUnloadingEnabled</jvm-arg>  
CMS并发收集  
<jvm-arg>-XX:+ExplicitGCInvokesConcurrent</jvm-arg>  
使用cms作为垃圾回收使用80%后开始CMS收集  
<jvm-arg>-XX:CMSInitiatingOccupancyFraction=80</jvm-arg>  
强制要求jvm每次都要抛出有堆栈的异常  
<jvm-arg>-XX:-OmitStackTraceInFastThrow</jvm-arg>  
<thread-max>778</thread-max>  
<socket-timeout>30s</socket-timeout>  
<keepalive-max>1556</keepalive-max>  
<keepalive-timeout>60s</keepalive-timeout>  
</server>  

转载于:https://my.oschina.net/heguangdong/blog/144107

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值