jdk1.6版本的tomcat,JVM配置说明

1、服务器配置:

cpu 为16核心,内存为47G的配置

2、JVM的配置如下:

export JAVA_OPTS="-server -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Xms25600m -Xmx25600m -Xss2m -XX:NewSize=2048m -XX:MaxNewSize=2048m -XX:PermSize=640m -XX:MaxPermSize=1200m -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:+DisableExplicitGC -XX:ParallelGCThreads=15 -XX:+UseCompressedOops -Djava.awt.headless=true -Dsun.java2d.dpiaware=false -Dsun.java2d.noddraw=true -Dsun.java2d.opengl=True -Djava.awt.image.rendering=priority -XX:NewRatio=3 -XX:SurvivorRatio=5 -XX:MaxDirectMemorySize=25600m -XX:MaxTenuringThreshold=8 -Djava.security.egd=file:/dev/urandom"

3、配置说明--------通义灵码解说

你给出的JVM配置针对的是一个具有16核CPU和47GB RAM的服务器,运行在JDK 1.6上。下面是对你配置的分析和建议:

堆内存大小:

你设置了-Xms25600m和-Xmx25600m,意味着JVM堆的初始大小和最大大小均为25GB。考虑到服务器有47GB的RAM,这个设置是合理的,为应用提供了充足的内存空间。然而,是否最优取决于应用的实际内存需求和行为。

线程栈大小:

你将-Xss设置为2MB。这个值对于大多数应用来说偏大,通常线程栈大小设置为1MB或更小。如果应用不需要这么大的线程栈,可以考虑减小这个值,以节省内存。

年轻代大小:

XX:NewSize=2048m和XX:MaxNewSize=2048m设定了年轻代的大小为2GB。对于25GB的总堆,这个比例看起来合理,但具体是否足够取决于应用产生的短期对象的数量和生命周期。

永久代大小:

XX:PermSize=640m和XX:MaxPermSize=1200m设定了永久代的大小。在JDK 1.6中,永久代用于存储类元数据。如果应用加载了大量类,可能需要更大的永久代。

垃圾收集器:

你启用了-XX:+UseParallelGC和-XX:+UseParallelOldGC,这将使用并行垃圾收集器。对于多核CPU,这通常是最佳选择,因为它能有效利用多核优势进行垃圾收集。

并行GC线程数:

你设置了-XX:ParallelGCThreads=15。对于16核的CPU,这个值接近于最大值,可以充分利用CPU资源进行垃圾收集。但是,如果发现CPU使用率过高或应用响应时间受影响,可以考虑稍微减少这个值。

其他配置:

XX:NewRatio=3设定了老年代与年轻代的大小比例。

XX:SurvivorRatio=5设定了Survivor区与Eden区的大小比例。

XX:MaxDirectMemorySize=25600m设定了直接内存的最大大小,这取决于应用对NIO缓冲区的需求。

XX:MaxTenuringThreshold=8设定了对象在年轻代中存活的次数阈值。

总体而言,你的配置看起来是经过深思熟虑的,特别是对于JDK 1.6和多核CPU的服务器。但是,是否真正"合理"还要看应用的实际情况。建议在生产部署前,先在测试环境中运行并监控应用的性能,包括GC行为、内存使用情况和CPU使用率,以确保配置满足应用的性能需求。如果有必要,根据监控结果进行适当的调整。例如,如果发现年轻代的大小不足以应对短生命周期对象的生成速率,可能需要增加年轻代的大小;如果永久代经常接近满载,可能需要增加MaxPermSize的值

相关推荐
腥臭腐朽的日子熠熠生辉21 分钟前
解决maven失效问题(现象:maven中只有jdk的工具包,没有springboot的包)
java·spring boot·maven
ejinxian23 分钟前
Spring AI Alibaba 快速开发生成式 Java AI 应用
java·人工智能·spring
杉之28 分钟前
SpringBlade 数据库字段的自动填充
java·笔记·学习·spring·tomcat
圈圈编码1 小时前
Spring Task 定时任务
java·前端·spring
俏布斯1 小时前
算法日常记录
java·算法·leetcode
27669582921 小时前
美团民宿 mtgsig 小程序 mtgsig1.2 分析
java·python·小程序·美团·mtgsig·mtgsig1.2·美团民宿
爱的叹息1 小时前
Java 连接 Redis 的驱动(Jedis、Lettuce、Redisson、Spring Data Redis)分类及对比
java·redis·spring
程序猿chen1 小时前
《JVM考古现场(十五):熵火燎原——从量子递归到热寂晶壁的代码涅槃》
java·jvm·git·后端·java-ee·区块链·量子计算
松韬2 小时前
Spring + Redisson:从 0 到 1 搭建高可用分布式缓存系统
java·redis·分布式·spring·缓存
绝顶少年2 小时前
Spring Boot 注解:深度解析与应用场景
java·spring boot·后端