Tomcat性能调优之JVM
Tomcat是一款Java应用,那么JVM的配置便于运行性能密切相关,而java优化重点则集中在内存分配和GC策略调整上,因为内存直接会影响服务器的运行效率及吞吐量,JVM垃圾回收机制则会不同程度导致程序运行中断。可以根据应用程序的特点,选择不同的垃圾回收策略,调整JVM垃圾回收策略,可以极大减少垃圾回收次数,提升垃圾回收效率改善程序运行性能。
1)内存优化参数
-server:启动server以服务端模式运行,启动服务较慢但是请求速度较快建议开启。
-Xms:最小堆内存,建议与-Xmx设置相同,设置相同避免在tomcat运行期间内对内存进行重新分配,造成资源浪费
-Xmx:最大堆内存,建议与-Xms设置相同,设置相同避免在tomcat运行期间内对内存进行重新分配,造成资源浪费
建议设置为可用内存的80%(可用内存指的是除去系统使用,及其它程序使用后剩余的内存)
-XX:MetaspaceSize 元空间初始值
-XX:MaxMetaspaceSize 元空间最大内存默认无限
-XX:MaxNewSize 新生代最大内存默认16M
-XX:NewRatio 年轻代和老年代大小比值,取值为整数默认为2不建议修改
-XX:SurvivorRatio Eden区与Survivor区大小的比值,取值为整数默认为8不建议修改
2)进行实际配置
windows下安装的tomcat配置文件为:catalina.bat (路径:tomcat-8.0.52/bin)
linux下安装的tomcat配置文件为:catalina.sh(路径:tomcat-8.0.52/bin)
在linux系统调优tomcat,关闭所有tomcat后看内存还剩余多少,将剩余内存的80%分配给服务器上面的tomcat
JAVA_OPTS="-server -Xms2048m -Xmx2048m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:SurvivorRatio=8"
大约在一百零几行的位置添加
配置完成重启tomcat
使用jmap查看是否变成了我们设置的2048
jmap -heap pid (pid 就是tomcat的进程号)
优化完成。
查看了一下某云服务器确实内存降低了。