Tomcat默认使用内存大小

本文详细介绍了如何通过JVM参数调整Java应用程序的内存使用,特别是在Tomcat服务器环境下。包括如何设置Heapsize,配置JDK和Tomcat的路径,以及通过注册表或tomcat6w.exe修改内存参数。

VM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.

JVM在启动的时候会自动设置Heap size的值,

其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。

可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置

配置startup.bat文件

在startup.bat文件最上面添加两行:

SET JAVA_HOME=C:\Java\jdk1.6_x64

SET CATALINA_HOME=D:\opentools\tomcat6.0.37-64

进行配置JDKHOME和TOMCATHOME的【路径需根据用户位置而定】。

配置shutdown.bat文件

同startup.bat文件一样添加两行:

SET JAVA_HOME=C:\Java\jdk1.6_x64

SET CATALINA_HOME=D:\opentools\tomcat6.0.37-64

配置service.bat文件

在service.bat文件中添加三行:

SET CATALINA_HOME=D:\opentools\tomcat6.0.37-64

SET SERVICE_NAME=Tomcat6

SET PR_DISPLAYNAME=Apache Tomcat

分别代表配置TOMCATHOME和要配成服务的名称以及描述。

另外在 --JvmMs 128 --JvmMx 256后面添加一个设置服务自动运行的配置为: --Startup=auto 【注意 --前面是需要有空格的】

添加服务

在DOS界面下,进入Tomcat解压目录的bin目录,输入命令:

service.bat install

如果安装成功,会提示:The service ‘Tomcat6(或者你修改一后的SERVICE_NAME)’ has been installed

修改TOMCAT服务内存

通过注册表修改

打开注册表

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\

Procrun 2.0\Tomcat6\Parameters\Java

(路径可能有一点点差别)

中的Options。

通过tomcat6w.exe修改

TOMCAT为我们提供了一个设置启动参数的窗体,双击tomcat_home/bin目录下的tomcat6w.exe,如图

下方的Initial memory pool就是初始化堆内存大小,Maximun memory pool是最大堆内存大小。

而要设置Perm Gen池的大小就要在Java Option里面加参数了,在里面加上:

-Dcatalina.base=%tomcat_home%

-Dcatalina.home=%tomcat_home%

-Djava.endorsed.dirs=%tomcat_home%\endorsed

-Djava.io.tmpdir=%tomcat_home%\temp

-XX:PermSize=128M

-XX:MaxPermSize=512M

### Linux环境下Tomcat服务器的默认内存配置 在Linux环境中,默认情况下,Apache Tomcat不会显式设置Java虚拟机(JVM)的最大堆内存和永久代(PermGen Space)大小。这意味着它会依赖于操作系统上的JDK/JRE所定义的默认值[^1]。 #### 默认内存参数 对于32位系统的JVM,默认最大堆内存通常是物理内存的一半或者更少;而对于64位系统,则可能更高一些。具体来说: - **最小堆内存(`-Xms`)**:通常被初始化为物理RAM容量的一个较小比例,例如大约为物理内存的1/64。 - **最大堆内存(`-Xmx`)**:一般设定为物理RAM容量的大约四分之一到一半之间。 - **永久代空间(PermGen Space)**:在较新的JDK版本中已被元空间(Metaspace)取代,在旧版JDK中其默认大小取决于具体的实现环境,但典型范围可能是96MB至128MB不等。 如果未手动调整这些选项,那么启动脚本中的CATALINA_OPTS或JAVA_OPTS变量将是空置状态,从而采用上述提到的标准初始值与极限值。 当遇到OutOfMemoryError错误时,可以通过编辑bin目录下的catalina.sh文件来增加分配给Tomcat进程的内存资源。例如通过加入如下所示命令行参数完成自定义配置: ```bash export JAVA_OPTS="$JAVA_OPTS -Xms512m -Xmx2g -XX:MaxMetaspaceSize=512m" ``` 此段代码片段的作用在于重新指定最低(-Xms),最高(-Xmx)以及元数据区域(即原来的PermGen)(-XX:MaxMetaspaceSize)三个方面的存储量度单位分别为兆字节(MB)。 另外值得注意的是,从 JDK 8 开始,“Permanent Generation” 已经被废弃并替换成了 “MetaSpace”,因此针对新版本 JVM 的调优应该关注 `MaxMetaspaceSize` 而不是传统的 `MaxPermSize` 参数[^5]。 最后提醒一点,实际生产环境中应当依据应用的实际需求合理规划硬件资源配置情况后再做相应改动以免造成不必要的麻烦。 ```xml <IfModule mod_jk.c> JkMount /* ajp13_worker </IfModule> ``` 以上是一个简单的mod_jk模块加载例子,并非直接关联到内存设置上,仅作为补充说明apache连接tomcat的一种方式展示出来[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值