一、Tomcat启动参数
JAVA_OPTS参数说明
-server 启用jdk 的 server 版;
-Xms java 虚拟机初始化时的堆最小内存;
-Xmx java 虚拟机可使用堆的最大内存;
-XX: PermSize 非堆内存永久保留区域
-XX:MaxPermSize 非堆内存最大永久保留区域
服务器参数配置
现公司服务器内存一般都可以加到最大2G ,所以可以采取以下配置:
JAVA_OPTS=’-Xms1024m -Xmx2048m -XX: PermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=256m’
配置完成后可重启Tomcat
二、堆内存设置
A、window设置Tomcat
(1)第一种方法:修改 tomcat/bin/catalina.bat 文件
增加一行 set JAVA_OPTS=-Xms256m -Xmx1024m
也可以set CATALINA_OPTS="-Xmx512m -Xms512m -Xmn64m -Xss2m"
设置CATALINA_OPTS 和 JAVA_OPTS都是一个道理,在启动tomcat的时候设置参数。
两者区别是JAVA_OPTS在tomcat停止的时候也会执行这个命令。
(2)第二种方法:环境变量中设置
变量名:JAVA_OPTS
变量值:-Xms512m-Xmx512m
(3)第三种方法:前两种方法针对的是bin目录下有catalina.bat的情况(比如直接解压的Tomcat等),但是有些安装版的Tomcat下没有catalina.bat,这个时候可以采用如下方法,当然这个方法也是最通用的方法
打开tomcatHome\bin\tomcat5w.exe,点击Java选项卡,然后将会发现其中有这么两 项:
Initialmemorypool和Maximummemorypool.Initialmemorypool这个就是初始化设置的内存的大小。
Maximummemorypool这个是最大内存的大小设置完了就按确定然后再重启TOMCAT你就会发现tomcat中jvm可用的内存改变了。
B、Linux 系统修改Tomcat
(1)修改 tomcat/bin/catalina.sh 文件
增加 JAVA_OPTS="-Xms256m -Xmx1024m"
也可以set CATALINA_OPTS="-Xmx512m -Xms512m -Xmn64m -Xss2m"
设置CATALINA_OPTS 和 JAVA_OPTS都是一个道理,在启动tomcat的时候设置参数。
两者区别是JAVA_OPTS在tomcat停止的时候也会执行这个命令。
(2)和(3)与上面window配置一样
三、永久保存区域
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域。这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。
一般是加大-XX:PermSize -XX:MaxPermSize 来解决问题。
-XX:PermSize 永久保存区域初始大小
-XX:PermSize 永久保存区域初始最大值
如 set JAVA_OPTS= -Xms1024m -Xmx1024m -XX:PermSize=128M -XX:PermSize=256M
注意: java -Xmx1024m -Xms1024m -Xmn256m -Xss16m Test (Test是一个class文件)命令来测试的最大堆内存是 -Xmx与 -XX:PermSize的和。