在Tomcat上运行j2ee项目代码时,经常会出现内存溢出的情况,PermGen space,
最快的解决办法是增加系统参数(如果要治本,还需优化自身代码)
- 如果是直接tomcat脚本启动的话:
1.window下,
在bin/catalina.bat最前面:
set JAVA_OPTS=-Xms256m -Xmx1024m -XX:MaxPermSize=256m
2.linux下,
在bin/catalina.sh最前面增加:
JAVA_OPTS="-Xms256m -Xmx1024m -XX:MaxPermSize=256m"
注意:前后二者区别,有无set,有无双引号。
- 如果你使用eclipse tomcat插件启动项目的话
你需要 window-->preferences--->Tomcat--->JVM settings
add jvm Param
- 如果你是使用 maven tomcat6-maven-plugin插件来启动项目的话,
你需要配置成
<build> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat6-maven-plugin</artifactId> <version>2.1</version> <extensions>true</extensions> <executions> <execution> <id>tomcat6</id> <phase>install</phase> <goals> <goal>run</goal> </goals> <configuration> <port>8081</port> <path>/${project.artifactId}</path> <uriEncoding>utf-8</uriEncoding> <!-- If set to true ignore if packaging of project is not 'war'. --> <ignorePackaging>true</ignorePackaging> <systemProperties> <JAVA_OPTS>-Xms256m -Xmx1024m -XX:MaxPermSize=256m</JAVA_OPTS> </systemProperties> </configuration> </execution> </executions> </plugin>