【飞天奔月出品】一步一步升级配置12: tomcat 修改启动时JVM内存参数,解决PermGen space 方法汇总...

在Tomcat上运行j2ee项目代码时,经常会出现内存溢出的情况,PermGen space,

 

最快的解决办法是增加系统参数(如果要治本,还需优化自身代码) 

 

      • 如果是直接tomcat脚本启动的话:

 

1.window下

bin/catalina.bat最前面:

 

set JAVA_OPTS=-Xms256m -Xmx1024m -XX:MaxPermSize=256m  

 

 


【飞天奔月出品】一步一步升级配置12: tomcat 修改启动时JVM内存参数,解决PermGen space 方法汇总...
 

 

2.linux下

bin/catalina.sh最前面增加:

JAVA_OPTS="-Xms256m -Xmx1024m -XX:MaxPermSize=256m"

 


【飞天奔月出品】一步一步升级配置12: tomcat 修改启动时JVM内存参数,解决PermGen space 方法汇总...
 

 

 

注意:前后二者区别,有无set,有无双引号

 

      • 如果你使用eclipse tomcat插件启动项目的话 

 

 

 
【飞天奔月出品】一步一步升级配置12: tomcat 修改启动时JVM内存参数,解决PermGen space 方法汇总...
 

你需要 window-->preferences--->Tomcat--->JVM settings

 

add jvm Param

 

 

 
【飞天奔月出品】一步一步升级配置12: tomcat 修改启动时JVM内存参数,解决PermGen space 方法汇总...
 

 

      • 如果你是使用 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>
    •