Tomcat配置虚拟内存

Posted 茅坤宝骏氹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat配置虚拟内存相关的知识,希望对你有一定的参考价值。

一、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的和。

 







以上是关于Tomcat配置虚拟内存的主要内容,如果未能解决你的问题,请参考以下文章

Tomcat中JVM内存溢出及合理配置

tomcat内存配置

优化tomcat配置(从内存并发缓存)优化

tomcat 配置内存 防止溢出

tomcat查看并修改jvm大小

优化tomcat配置(从内存并发缓存4个方面)优化