tomcat jvm 参数优化
1. 内存设置
常见配置汇总 堆设置 -Xms:初始堆大小 -Xmx:最大堆大小 -XX:NewSize=n:设置年轻代大小 -XX:NewRatio=n:设置年轻代和年老代的比值.如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4 -XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值.注意Survivor区有两个.如:3,表示Eden:Survivor=3:2,一个Survivor区占整个年轻代的1/5 -XX:MaxPermSize=n:设置持久代大小
非堆:
-Xss:方法栈内存大小
-XX:PermSize=32m 初始化持久代内存大小
-XX:MaxPermSize=n:设置最大持久代大小
收集器设置 -XX:+UseSerialGC:设置串行收集器 -XX:+UseParallelGC:设置并行收集器 -XX:+UseParalledlOldGC:设置并行年老代收集器 -XX:+UseConcMarkSweepGC:设置并发收集器 垃圾回收统计信息 -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:filename 并行收集器设置 -XX:ParallelGCThreads=n:设置并行收集器收集时使用的CPU数.并行收集线程数. -XX:MaxGCPauseMillis=n:设置并行收集最大暂停时间 -XX:GCTimeRatio=n:设置垃圾回收时间占程序运行时间的百分比.公式为1/(1+n) 并发收集器设置 -XX:+CMSIncrementalMode:设置为增量模式.适用于单CPU情况. -XX:ParallelGCThreads=n:设置并发收集器年轻代收集方式为并行收集时,使用的CPU数.并行收集线程数.
非堆:
code cache:
Ps Perm Gen:
堆:
PS Eden space
PS survivor space
PS old Gen
2、tomcat线程优化
在tomcat配置文件server.xml中的配置中,和连接数相关的参数有:
maxThreads: Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。默认值150。
acceptCount: 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。默认值10。
minSpareThreads: Tomcat初始化时创建的线程数。默认值25。
maxSpareThreads: 一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。默认值75。
enableLookups: 是否反查域名,默认值为true。为了提高处理能力,应设置为false
connnectionTimeout: 网络连接超时,默认值60000,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
maxKeepAliveRequests: 保持请求数量,默认值100。
bufferSize: 输入流缓冲大小,默认值2048 bytes。
compression: 压缩传输,取值on/off/force,默认值off。 其中和最大连接数相关的参数为maxThreads和acceptCount。如果要加大并发连接数,应同时加大这两个参数。
32G 内存配置示例:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" maxThreads="1000" minSpareThreads="60" maxSpareThreads="600" acceptCount="120" redirectPort="8443" URIEncoding="utf-8"/>
tomcat服务器优化:
https://www.cnblogs.com/ityouknow/p/5378874.html
https://www.cnblogs.com/qlqwjy/p/8040296.html
Jvisualvm监控远程linux下Tomcat:
https://www.cnblogs.com/TestWorld/p/5088465.html
http://zhangzhaoaaa.iteye.com/blog/2175631
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人