java JVM tomcat 优化
来源:互联网 发布:淘宝店铺如何设置网址 编辑:程序博客网 时间:2024/05/22 17:22
还有篇终极优化的。。。
http://wenku.baidu.com/view/e9f78f84ec3a87c24028c4f9.html
1、内存设置
Windows环境下修改“%TOMCAT_HOME%\bin\catalina.bat”文件,
在文件开头增加如下设置:set JAVA_OPTS=-Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m
-Xms设置初始化内存大小
-Xmx设置可以使用的最大内存
-Xmn:内存最小值,-Xmn128-256m就够了
JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;
JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4。
默认空余堆内存小于 40%时,JVM就会增大堆直到-Xmx的最大限制;
空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。
因此服务器一般设置-Xms、 -Xmx相等以避免在每次GC 后调整堆的大小。
在较大型的应用项目中,默认的内存是不够的,有可能导致系统无法运行。
常见的问题是报Tomcat内存溢出错误“java.lang.OutOfMemoryError: Java heap space”,从而导致客户端显示500错误。
Linux环境下修改“%TOMCAT_HOME%\bin\catalina.sh”文件,在文件开头增加如下设置:JAVA_OPTS=’-Xms256m -Xmx512m’
2.并发数设置
默认的tomcat配置,并发测试时,可能30个USER上去就当机了。
添加
<Connector port="80" protocol="HTTP/1.1"
maxThreads="600"
minSpareThreads="100"
maxSpareThreads="500"
acceptCount="700"
connectionTimeout="20000"
redirectPort="8443" />
说明
maxThreads="600" ///最大线程数
minSpareThreads="100"///初始化时创建的线程数
maxSpareThreads="500"///一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
acceptCount="700"//指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理
maxthread太多,导致切换过多,性能下降严重。这个数量应该是你单个机器的承载能力, 压力测试下得出的结果。 不可任意加大。一般情况下, 256-512个已经非常高的数值了。
http://wenku.baidu.com/view/e9f78f84ec3a87c24028c4f9.html
1、内存设置
Windows环境下修改“%TOMCAT_HOME%\bin\catalina.bat”文件,
在文件开头增加如下设置:set JAVA_OPTS=-Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m
-Xms设置初始化内存大小
-Xmx设置可以使用的最大内存
-Xmn:内存最小值,-Xmn128-256m就够了
JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;
JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4。
默认空余堆内存小于 40%时,JVM就会增大堆直到-Xmx的最大限制;
空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。
因此服务器一般设置-Xms、 -Xmx相等以避免在每次GC 后调整堆的大小。
在较大型的应用项目中,默认的内存是不够的,有可能导致系统无法运行。
常见的问题是报Tomcat内存溢出错误“java.lang.OutOfMemoryError: Java heap space”,从而导致客户端显示500错误。
Linux环境下修改“%TOMCAT_HOME%\bin\catalina.sh”文件,在文件开头增加如下设置:JAVA_OPTS=’-Xms256m -Xmx512m’
2.并发数设置
默认的tomcat配置,并发测试时,可能30个USER上去就当机了。
添加
<Connector port="80" protocol="HTTP/1.1"
maxThreads="600"
minSpareThreads="100"
maxSpareThreads="500"
acceptCount="700"
connectionTimeout="20000"
redirectPort="8443" />
说明
maxThreads="600" ///最大线程数
minSpareThreads="100"///初始化时创建的线程数
maxSpareThreads="500"///一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
acceptCount="700"//指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理
maxthread太多,导致切换过多,性能下降严重。这个数量应该是你单个机器的承载能力, 压力测试下得出的结果。 不可任意加大。一般情况下, 256-512个已经非常高的数值了。
阅读全文
0 0
- java JVM tomcat 优化
- tomcat设置java jvm参数 优化
- tomcat设置java jvm参数 优化
- Tomcat JVM优化
- tomcat JVM 性能优化
- tomcat及jvm优化
- tomcat 优化 jvm 解决方法
- tomcat jvm优化
- JDK和JRE和java编译器Tomcat优化JVM
- linux tomcat jvm内存优化
- linux tomcat jvm内存优化
- linux tomcat jvm内存优化
- jvm架构以及Tomcat优化
- Java JVM的优化
- JAVA JVM 优化
- Java-JVM优化
- tomcat更改线程,80端口,jvm优化
- tomcat性能优化及其jvm内存分析
- 全站HTTPS没你想象的那么简单,电商网站兼顾安全与性能的踩坑小结! [转载]
- quartz 中 使用 applicationContext.xml中的bean 得到 hiberante的Session
- myeclipse部署项目时只部署了WEB-INF文件夹,解决方法
- Eclipse_PyDev_Scrapy 安装笔记
- java 环境配置
- java JVM tomcat 优化
- 网络编程
- bzoj2243 [SDOI2011]染色
- Interface与Abstract class的异同 一
- 【程序员心得】面试之感受
- Head First 之 策略模式
- Android 获取全国城市列表类似于联系人排序
- myEclipse8.5下SSH2开发时如何删除antlr-2.7.2包
- google api 得到 天气