Tomcat6一些调优设置内存和连接数.docx
文本预览下载声明
Tomcat6 一些调优设置内存和连接数公司的一个服务器使用Tomcat6默认配置,在后台一阵全点击服务器就报废了,查了一下就要是PERMSIZE默认值过小造成(16-64)TOMCAT_HOME/bin/catalina.sh添加一行:JAVA_OPTS= -XX:PermSize=64M -XX:MaxPermSize=128m问题解决(可能为调用JAR包过多原因)下面是网上看到一些设置JAVA_OPTS=-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true ?当在对其进行并发测试时,基本上30个USER上去就当机了,还要修改默认连接数设置:以下红色四行TOMCAT6中好相没有,手工加上就可以了,基本上可以解决连接数过大引起的死机。具体数值可跟据实际情况设置??? Connector port=80 protocol=HTTP/1.1??????????????? maxThreads=600??????minSpareThreads=100maxSpareThreads=500acceptCount=700connectionTimeout=20000?redirectPort=8443 /?这样设置以后,基本上没有再当机过。。。。。????????????? maxThreads=600?????? ///最大线程数minSpareThreads=100///初始化时创建的线程数maxSpareThreads=500///一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。acceptCount=700//指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理?----------------------------------------------------------------------------------------------------------------------------------?一、Tomcat的JVM提示内存溢出查看%TOMCAT_HOME%\logs文件夹下,日志文件是否有内存溢出错误二、修改Tomcat的JVM1、错误提示:java.lang.OutOfMemoryError: Java heap spaceTomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,有可能导致系统无法运行。常见的问题是报Tomcat内存溢出错误,Out of Memory(系统内存不足)的异常,从而导致客户端显示500错误,一般调整Tomcat的使用内存即可解决此问题。?Windows环境下修改“%TOMCAT_HOME%\bin\catalina.bat”文件,在文件开头增加如下设置:set JAVA_OPTS=-Xms256m -Xmx512m?Linux环境下修改“%TOMCAT_HOME%\bin\catalina.sh”文件,在文件开头增加如下设置:JAVA_OPTS=’-Xms256m -Xmx512m’?其中,-Xms设置初始化内存大小,-Xmx设置可以使用的最大内存。2、错误提示:java.lang.OutOfMemoryError: PermGen space原因:PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的应用中有很CLASS的话,就很可能出现PermGen space错误,这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。解决方法:在catalina.bat的第一行增加:set JAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m在catalina.sh的第一行增加:JAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSi
显示全部