Tomcat底层原理分析:6.Tomcat中对JVM的配置解析

【专栏目录】
Tomcat底层原理分析:1.基础环境搭建
Tomcat底层原理分析:2.Tomcat架构分析
Tomcat底层原理分析:3.Jasper引擎
Tomcat底层原理分析:4.Tomcatd的server.xml配置内容解析
Tomcat底层原理分析:5.Web应用配置解析
Tomcat底层原理分析:6.Tomcat中对JVM的配置解析
Tomcat底层原理分析:7.Tomcat集群配置解析
Tomcat底层原理分析:8.Tomcat安全性配置解析
Tomcat底层原理分析:9.Tomcat性能调优
【本文导读】

本文需要对JVM有一定了解。
Tomcat的实质也是一个Java应用,所以本文主要讲解一下如何配置Tomcat的JVM。
注:本文图片均来自java进阶教程动手实现Tomcat【黑马程序员精品公开课】,侵权立删。

1.JVM内存模型图

image

2.JVM配置项

2.1Linux环境下Tomcat配置JVM

# 复制下面内容到catalina.sh文件中
JAVA_OPTS="-server -Xms1024m -Xmx2048m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -XX:SurvivorRatio=8

2.2参数详解

参数 含义
-Xms 堆内存的初始大小
-Xmx 堆内存的最大大小
-Xmn 新生代的内存大小,官方建议是整个堆的3/8
-XX:MetaspaceSize 元空间内存的初始大小,在JDK1.8版本之前配置为:-XX:PermSize(永久代/持久代)
-XX:MaxMetaspaceSize 元空间内存的最大大小,在JDK1.8版本之前配置为:-XX:PermSize(永久代/持久代)
-XX:InitialCodeCacheSize
-XX:ReservedCodeCacheSize
代码缓存区大小
-XX:NewRatio 设置新生代和老年代的比例。好处:新生代的大小可以随着整个堆的大小动态扩展,如-XX:NewRatio=3,则老年代占堆大小的3/4,新生代占堆大小的1/4
-XX:SurvivorRatio 设置伊甸园区(Eden)与幸存区的比例。如-XX:SurvivorRatio=8,则伊甸园区(Eden)的大小是幸存区的8倍,则伊甸园区(Eden)占新生代大小的8/10,幸存区From占1/10,幸存区To占1/10。注意,两个幸存区永远一样大。

猜你喜欢

转载自blog.csdn.net/w_y_x_y/article/details/106931201