博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JVM调优实战
阅读量:7113 次
发布时间:2019-06-28

本文共 966 字,大约阅读时间需要 3 分钟。

hot3.png

标题JVM服务调优实战

标题服务器:8 cup, 8G mem

e.g.

java -Xmx3550m -Xms3550m -Xss128k -XX:NewRatio=4 -XX:SurvivorRatio=4 -XX:MaxPermSize=16m - XX:MaxTenuringThreshold=0

调优方案:

-Xmx5g:设置JVM最大可用内存为5G。

-Xms5g:设置JVM初始内存为5G。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。

-Xmn2g:设置年轻代大小为2G。整个堆内存大小 = 年轻代大小 + 年老代大小 + 持久代大小 。持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。

-XX:+UseParNewGC:设置年轻代为并行收集。可与CMS收集同时使用。JDK5.0以上,JVM会根据系统配置自行设置,所以无需再设置此值。

-XX:ParallelGCThreads=8:配置并行收集器的线程数,即:同时多少个线程一起进行垃圾回收。此值最好配置与处理器数目相等。

-XX:SurvivorRatio=6:设置年轻代中Eden区与Survivor区的大小比值。根据经验设置为6,则两个Survivor区与一个Eden区的比值为2:6,一个Survivor区占整个年轻代的1/8。

-XX:MaxTenuringThreshold=30: 设置垃圾最大年龄(次数)。如果设置为0的话,则年轻代对象不经过Survivor区直接进入年老代。对于年老代比较多的应用,可以提高效率。如果将此值 设置为一个较大值,则年轻代对象会在Survivor区进行多次复制,这样可以增加对象再年轻代的存活时间,增加在年轻代即被回收的概率。设置为30表示 一个对象如果在Survivor空间移动30次还没有被回收就放入年老代。

-XX:+UseConcMarkSweepGC:设置年老代为并发收集。测试配置这个参数以后,参数-XX:NewRatio=4就失效了,所以,此时年轻代大小最好用-Xmn设置,因此这个参数不建议使用。

转载于:https://my.oschina.net/u/1985317/blog/903221

你可能感兴趣的文章
Linux netstat命令详解
查看>>
lnmp thinkphp5 tp5系统环境配置问题解决tp5环境配置
查看>>
Solaris系统配置IPMP (基于IP寻址与链路)
查看>>
通过xshell远程登录linux在vim编辑器里编辑东西按数字键出现英文字母的解决办法...
查看>>
Java 正则表达式详解(一)
查看>>
编译型应用程序及程序架构攻防
查看>>
java static块的执行次数
查看>>
域策略组管理
查看>>
BAT移动端入口收割战结束 O2O下一战场
查看>>
一键更改IP地址BAT文件
查看>>
我的友情链接
查看>>
linux学习--命令行快捷键
查看>>
我的友情链接
查看>>
http https ssl/tls三者的区别和联系
查看>>
配置文件路径异常导致HomeAssistant配置文件无效
查看>>
解决 Windows instance 时间不同步问题 - 每天5分钟玩转 OpenStack(153)
查看>>
用 label 控制 Pod 的位置 - 每天5分钟玩转 Docker 容器技术(128)
查看>>
oracle如何恢复被覆盖的存储过程
查看>>
xargs paste
查看>>
Android ROM DIY教程之ROM的修改
查看>>