首页 Tomcat教程JVM性能优化详解

JVM原理详解

JVM相关工具

运维派是国内成立最早的IT运维技术社区,欢迎关注公众号:yunweipai

java 内存调整相关参数

JVM性能优化详解插图

帮助:man java

  • -X选项 稳定的选项
  • -XX:选项名称 beta选项,但是有些就一直保留下来了
参数 说明 举例
-Xms 设置应用程序初始使用的堆内存大小(新生代+老年代) -Xms2g
-Xmx 设置应用程序能获得的最大堆内存
早期JVM不建议超过32G,内存管理效率下降
-Xms4g
-XX:NewSize 设置初始新生代大小
-XX:MaxNewSize 设置最大新生代内存空间
-Xmnsize 同时设置-XX:NewSize 和 -XX:MaxNewSize,代替两者 -Xmn1g
-XX:NewRatio 以比例方式设置新生代和老年代 -XX:NewRatio=2
new/old=1/2
-XX:SurvivorRatio 以比例方式设置eden和survivor -XX:SurvivorRatio=6
eden/survivor=6/1
survivor/new=1/8
-Xss 设置线程的栈大小

JVM性能优化详解插图(1)
JVM性能优化详解插图(2)
JVM性能优化详解插图(3)

Tomcat设置

默认不指定,-Xmx大约使用了1/4的内存,当前本机内存指定约为1G。

在bin/catalina.sh中增加

-server:VM运行在server模式,为在服务器端最大化程序运行速度而优化

-client:VM运行在Client模式,为客户端环境减少启动时间而优化

重启Tomcat,观察

浏览器访问server status页面,可以看到以下页面

JVM性能优化详解插图(4)

垃圾回收器
垃圾回收器分类

新生代

  • 新生代串行收集器:单线程、独占式串行,回收算法标记-复制
  • 新生代并行收集器:将单线程的串行收集器变成了多线程并行、独占式
  • 新生代并行回收收集器:多线程并行、独占式,使用复制算法,关注调整吞吐量

老年代:

  • 老年代串行收集器:单线程、独占式串行,回收算法使用标记-压缩
  • 老年代并行回收收集器:多线程、独占式并行,回收算法使用标记-压缩,关注调整吞吐量
  • CMS收集器
    • Concurrent Mark Sweep并发标记清除算法
    • 在某些阶段尽量使用和工作线程一起运行,减少停顿时长。是互联网站点服务端BS系统上较佳的回收算法
    • 分为4个阶段:初始标记、并发标记、重新标记、并发清除,在初始标记、重新标记时需要STW。
  • G1收集器
    • Garbage First是最新垃圾回收器,从JDK1.6实验性提供,JDK1.7发布,其设计目标是在多处理器、大内存服务器端提供优于CMS收集器的吞吐量和停顿控制的回收器。建议JDK8再考虑它,目前生成环境慎用。
    • 基于标记-压缩算法。+UseG1GC
    • 分为4个阶段:初始标记、并发标记、最终标记、筛选回收。并发标记并发执行,其它阶段STW只有GC线程并行执行。
垃圾收集器设置

可以单独指定新生代、老年代的垃圾收集器

*-XX:+UseSerialGC

*运行在Client模式下,新生代、老年代都启用串行收集器

*-XX:+UseParNewGC

*新生代使用并行收集器,老年代使用串行收集器

*-XX:+UseParallelGC

*新生代使用并行回收收集器,老年代使用串行收集器

*XX:+UseParallelOldGC

新生代、老年代都是用并行回收收集器
-XX:ParallelGCThreads=8,在关注吞吐量的场景使用它增加并行线程数

*-XX:+UseConcMarkSweepGC

*新生代使用并行收集器,老年代使用CMS收集器

*响应时间要短,停顿短使用这个垃圾收集器

*-XX:CMSInitiatingOccupancyFraction=N,N为0-100整数表示达到老年代的大小的百分比多少触发回收

*由于CMS算法有碎片产生,还可以将-XX:+UseCMSCompactAtFullCollection开启,在CMS收集后,进行一次内存碎片整理。-XX:CMSFullGCsBeforeCompaction=N设定多少次CMS后,进行一次整理

*`
-XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection
-XX:CMSFullGCsBeforeCompaction=5

本文链接:http://www.yunweipai.com/35214.html

JVM原理详解

JVM相关工具

网友评论comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注

暂无评论

Copyright © 2012-2020 YUNWEIPAI.COM - 运维派
扫二维码
扫二维码
返回顶部