Tomcat6性能调优 出现java.lang.OutOfMemoryError: PermGen space

Tomcat6性能调优 出现java.lang.OutOfMemoryError: PermGen space

Tomcat6在部署应用中,Server报错:java.lang.OutOfMemoryError:PermGenspace,问题就是Tomcat内存分配的太小了。
解决办法:
修改Tomcat\bin\catalina.bat文件。
找到setJAVA_OPTS=%JAVA_OPTS%-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager-Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"这句话。在前面加上rem注释掉。
在它下面加入:
setJAVA_OPTS=-server-Xms1024m-Xmx1024m-Xss512k-XX:PermSize=64M-XX:MaxNewSize=256m-XX:MaxPermSize=128m-Djava.awt.headless=true
重新启动Tomcat,正常启动了

公司的一个服务器使用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中好相没有,手工加上就可以了,基本上可以解决连接数过大引起的死机。具体数值可跟据实际情况设置

<Connectorport="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"//指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理

文章转出自:http://hi.baidu.com/chssheng2007/blog/item/22e7b1d37d7f480b3af3cf18.html

----------------------------------------------------------------------我是华丽的分割线-------------------------------------------------------------------------

用myeclipse的时候可以不配置catalina.bat文件。可以在其他tomcat的时候设置。在myeclipse中的tomcatserver中

Tomcat6性能调优 出现java.lang.OutOfMemoryError: PermGen space_第1张图片-Xms1024m-Xmx1024m-Xss512k-XX:PermSize=64M-XX:MaxNewSize=256m-XX:MaxPermSize=128m-Djava.awt.headless=true

你可能感兴趣的:(Tomcat6性能调优 出现java.lang.OutOfMemoryError: PermGen space)