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

时间: 2024-12-17 22:25:06

Tomcat配置虚拟内存的相关文章

【Tomcat】Tomcat配置JVM参数步骤

这里向大家描述一下如何使用Tomcat配置JVM参数,Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个java虚拟机.您可以选择自己的需要选择不同的操作系统和对应的JDK的版本,但还是推荐您使用Sun公司发布的JDK. Tomcat配置JVM参数 Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个java虚拟机.您可以选择自己的需要选择不同的操作系统和对应的 JDK的版本(只要是符合Sun发布的Java规范的),但我们推荐您使用Sun公司

tomcat配置

Tomcat配置 jdk,tomcat都不需要编译. tomcat不支持restart jdk官网http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html 没有jdk,无法编译java程序 tomcat官网http://tomcat.apache.org/ jdk换句话就是java,相当于lamp中的php tomcat相当于apache 1.安装jdk cd /usr/local/src wget

Tomcat配置优化

TOMCAT配置优化一. Tomcat下使用Log4j 接管 catalina.out 日志文件生成方式,按天存放,解决catalina.out日志文件过大问题1.准备jar包:log4j-1.2.16.jar , tomcat-juli.jar, tomcat-juli-adapters.jar 注意:tomcat-juli.jar, tomcat-juli-adapters.jar 需要根据不同tomcat的版本去相应下载(从http://archive.apache.org/dist/to

免安装版TOMCAT配置及问题解决方法

前言 本文将介绍以下几点内容: 1.Tomcat的配置过程 2.启动startup过程中遇到的问题的解决 3.如果遇到本文中没有提到的问题如何解决 配置 计算机右击->属性->高级系统设置->高级->环境变量 1.JAVA环境变量(下载安装JDK的过程省略) 新建系统变量JAVA_HOME 变量值为你的JDK安装路径 新建系统变量CLASSPATH (记得用:隔开) %JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 修改系统变量PAT

tomcat配置JNDI获取数据源

各个web工程可以通过工程内的xml文件配置访问数据库的数据源,这样的配置是各个工程私有的.基于JNDI为tomcat配置数据源,则可以做成全局的,各工程只需要通过便签引用数据源即可. 1.需要将数据库的连接驱动mysql-connector-java-5.1.21.jar及数据库连接池的jar包druid-0.2.9.jar放到Tomcat 6.0\lib下. 2.修改tomcat的配置文件,基于JNDI配置数据源,Tomcat 6.0\conf\context.xml改成如下即可,原文件中多

tomcat配置虚拟主机

在眼下,非常多server都是一台server对外能够訪问非常多个javaEE的项目,这样的实现方式就须要在tomcat里面配置虚拟主机了!以下就说说怎样配置虚拟主机: 找到tomcat的安装文件夹,到TOMCAT_HOME/apache-tomcat7/conf文件夹下,找到server.xml这个文件,打开该文件,在该文件里找到关于Engine这个子节点 <Engine name="Catalina" defaultHost="localhost">

JDK和Tomcat配置及问题

JDK配置: 1. 打开WIN7,计算机--属性--高级系统设置--环境变量 2. 新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.6.0_13 变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 3. 选择"系统变量"中变量名为"Path"的环境变量,双击该变量,把JDK安装路径中b

Tomcat配置数据库连接池

上篇博文中记录了使用数据库连接池的重要性和如何用java代码自己写一个连接池,网上查了一番 发现原来像tomcat这种服务器自带了连接池,可以通过配置文件直接使用,下面来介绍一下使用方法. 本例为myeclipse+tomcat7.0+sqlserver2008配置数据库连接池 具体步骤: 1. 在server.xml中设置数据源,以sql server 2008数据库为例,如下: 在<GlobalNamingResources> </GlobalNamingResources>节

Win2008R2+Apache+PHP+Tomcat配置

一.VC运行库 对于Apache和PHP,在Windows上运行的话都需要对应VC运行库的支持,即Apache.PHP和VC运行库这三者的版本必须相对应,这就会带来很多问题,比如下了较新的Apache或PHP,但是找不到对应的和对方连接的VC运行库,此外还要注意系统是32位还是64位.而Linux就没这种破问题,所以我很想不通那些用Windows来做这种较复杂服务器的人脑子里装的是神马.当前常见的VC运行库包括VC9和VC11,x86和x64都装上才保险.可以去http://www.micros