JVM调优经验(不一定准确)-创新互联
1. 整体思路:
成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计、做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的吉木乃网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!Young GC发生的频率比较频繁是正常现象,但尽可能让他的单次执行时间少点
Full GC发生的频率不应该太高
2. 使用的监控命令:
jps -m -l 列出JVM中运行的进程状态信息(这里可以获取某个进程的pid, 供后续命令使用)
jstat -gcutil pid 10s 3 对堆内存的使用情况、gc信息等进行实时的命令行统计
3. 具体设置参数如下:
-Xms、-Xmx
这两个参数一定要设置,而且必须设置成相等,不能使用默认值。如果不设置,可能会出现频繁Full GC、内存泄露。
设置成相等,主要是为了避免每次GC之后重新给堆内存分配大小。
另外,这俩值不要设置的太大。虽然建议堆的大值设置为可用内存大值的80%(使用命令free或cat /proc/meminfo查看,实际可用物理内存=free+buffer+cache),但是当设置了80%之后,服务器的内存占用一般都达到了90%以上,所以可以适当降低一点。
-Xmn、-XX:SurvivorRatio
最好不要用-XX:NewRatio,因为同CMS GC一起使用时会失效。
如果不设置此值,不设置CMS GC,那么年轻代和年老代比值大约是1:2
如果不设置此值,设置了CMS GC,那么年轻代会变的很小,年老大占很大
如果Young Generation大小分配不合理或空间比较小,这个时候导致对象很容易进入Old Generation中,比如,如果s0和s1太小,gc之后无法装下存活的对象,那么就会直接进入年老代中,而Old Generation中回收具体对象的时候速度是远远低于Young Generation回收速度。
要考虑年老代和新生代的比例(sun官方建议-Xmn为整个堆的3/8),考虑Eden和survives的比例(默认是8:1:1)
如果不知道该设置多少,可以先按官方要求设置,如果不合适,再进行调整。
是否使用CMS GC。
其他参数,根据具体情况设置,注意,未必设置了之后就会提升性能。不同的应用系统,不同的电脑硬件条件,都可能不一样。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
标题名称:JVM调优经验(不一定准确)-创新互联
本文URL:http://hbruida.cn/article/csgpsp.html