【Tomcat】JVM内存配置

JVM内存模型图

在这里插入图片描述

各参数可控制的区域

在这里插入图片描述

Catalina JAVA_OPTS参数

Linux环境

catalina.sh文件头部

JAVA_OPTS="$JAVA_OPTS -server -Xms1g -Xmx1g -Xmn512m -XX:SurvivorRatio=8 -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m"

windows环境

catalina.bat文件

set "JAVA_OPTS=%JAVA_OPTS% -server -Xms1g -Xmx1g -XX:SurvivorRatio=8 -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m"

常用参数详解

-Xms

初始化堆的大小。

-Xmx

堆内存的最大大小。

-Xmn

新生代的内存大小,Sun官方推荐配置为整个堆的 3/8。

-XX:MetaspaceSize

元空间内存初始大小,在JDK1.8版本之前配置为:-XX:PermSize(永久代)

-XX:MaxMetaspaceSize

元空间内存最大大小,在JDK1.8版本之前配置为:-XX:MaxPermSize(永久代)

-XX:NewRatio

设置新生代和老年代的相对大小比例。这种方式的优点是新生代大小会随着整个堆大小动态扩展。
如 -XX:NewRatio=3 指定老年代 / 新生代为 3/1 , 老年代占堆大小的 3/4,新生代占 1/4 。

-XX:SurvivorRatio

伊甸园区(Eden)与幸存区大小比例。
如 -XX:SurvivorRatio=10,表示伊甸园区(Eden)是幸存区(To)大小的10倍,也是幸存区(From)的10倍。所以,伊甸园区(Eden)占新生代大小的 10/12,幸存区(From)和幸存区(To)每个占新生代的 1/12。两个幸存区永远是一样大的。

-XX:InitialCodeCacheSize -XX:ReservedCodeCacheSize

代码缓存区大小

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Tomcat服务器通常使用JVM (Java Virtual Machine) 来运行,内存配置对于它的性能至关重要。主要有以下几个方面的设置: 1. **JVM内存**(Heap Memory):这是Java应用的主要内存区域,用于存放对象实例。通过`-Xms`和`-Xmx`命令行参数设置初始堆大小(最小值)和最大堆大小(最大值)。例如:`-Xms512m -Xmx1024m`,分别表示初始512MB和最大1GB。 2. **非堆内存**(Non-heap Memory):包括常量池、元数据区和线程上下文类加载器等。这部分内存不会自动调整,需要手动配置,如`-XX:PermSize`(永久代大小)和`-XX:MaxPermSize`。 3. **年轻代**(Young Generation):包括Eden空间、Survivor Space和Tenured Generation,主要用于对象的创建和回收。可以设置为固定大小或分段,如`-XX:NewRatio`用于eden/survivor的比例。 4. **老年代**(Old Generation):长期存活的对象会被移入这里,设置`-XX:MetaspaceSize`限制元数据区域大小,避免溢出。 5. **持久化缓存**(如果启用了持久连接):Tomcat会分配额外的内存用于存储连接信息,这可以通过`org.apache.tomcat.util.http.fileupload.FileUploadSupport.MAX_FILE_SIZE`控制。 6. **JVM内存溢出监控**:可以启用JVM的堆转储日志(`-XX:+HeapDumpOnOutOfMemoryError`),以便在发生内存溢出时生成堆转储文件供分析。 为了保证稳定性和性能,建议根据实际应用需求和资源情况,通过监控工具(如VisualVM、JConsole等)动态调整这些配置。记得定期检查日志以诊断潜在的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值