程序启动时都会JVM都会分配一个初始内存和最大内存给这个应用程序。这个初始内存和最大内存在一定程度都会影响程序的性能。比如说在应用程序用到最大内存的时候,JVM是要先去做垃圾回收的动作,释放被占用的一些内存。
所以想调整Tomcat的启动时初始内存和最大内存就需要向JVM声明,一般的JAVA程序在运行都可以通过中-Xms -Xmx来调整应用程序的初始内存和最大内存:
如:java -Xms64m -Xmx128m xxxx.jar.
tomcat的启动程序是包装过的,不能直接使用java -X..... tomcat.*来改变内存的设置。在Tomcat在改变这个设置
有两种方法:
1. 适合用%tomcat_home%/bin中的startup.bat脚本启动,需要在环境变量中加上CATALINA_OPTS这个属性 。
如 SET CATALINA_OPTS= -Xms64m -Xmx512m;
ms是最小的,mx是最大,64m, 512m分别是指内存的初始和最大容量.
因为:用startup.bat启动tomcat服务器,会调用catalina.bat文件,在Catalian.bat文件的166行“rem Execute Java with the applicable properties ”下面会加载系统设置的相关属性。
其中就有%CATALINA_OPTS%这一项。这样tomcat在启动时就会将内存设置为指定的值。
2. 适合将tomcat作为系统服务启动,这时候上面设置CATALINA_OPTS 属性的方法就不适用了,因为作为系统服务的话,系统启动时调用的是 %tomcat_home%/bin/tomcat5w.exe,他读取注册表regedit中的值,而不是catalina.bat的设置,因此需要修改注册表:
HKEY_LOCAL_MACHINE/SOFTWARE/Apache Software Foundation/Procrun 2.0/tomcat6/Parameters/Java/Options下,加入 -Xms512m -Xmx512m
分享到:
相关推荐
标题“tomcat服务内存扩大.docx”涉及到的是关于优化Tomcat服务器配置,特别是调整内存设置以防止内存溢出的问题。在Windows Server环境下,Tomcat作为一个Java应用服务器,其内存管理对于服务的稳定性和性能至关...
### Tomcat 如何扩大内存 在使用 Tomcat 进行 Web 应用部署时,可能会遇到内存不足的问题,尤其是在启动大型应用或者应用中存在大量缓存数据的情况下,很容易导致 Java 虚拟机(JVM)内存溢出错误。本文将详细介绍...
### 扩大Tomcat内存的方法详解 #### 一、引言 在开发和部署Web应用程序的过程中,Apache Tomcat作为一款广泛使用的开源Java Servlet容器,因其轻量级且易于配置而备受青睐。然而,默认情况下,Tomcat分配给Java...
当发现内存使用异常,如`Free memory`过低或`Total memory`接近`Max memory`时,应考虑优化代码以减少内存消耗,或者调整Tomcat的JVM参数,比如增大最大内存限制`-Xmx`或最小内存限制`-Xms`,以适应应用的需求。...
### MyEclipse-Tomcat JDK 内存溢出问题及解决方案 #### 一、问题概述 在使用MyEclipse进行Java Web开发时,经常会遇到Tomcat服务器启动后出现JVM内存溢出的问题。这种情况通常表现为应用程序运行过程中突然崩溃,...
经过测试,我们得出如下数据:当系统传输约2000条数据时,大约近12M的净数据(不压缩时),系统辅助运行的内存大约占用150M左右的空间,也就是近200M的内存占用,而我们扩大了近800M的JAVA内存使用,这对于业务本身...
### Tomcat JVM内存优化(Linux环境) 在Linux环境下运行Tomcat服务器时,经常会遇到与Java虚拟机(JVM)相关的内存溢出问题。这些问题通常表现为`java.lang.OutOfMemoryError`异常,具体又分为两类:`PermGen ...
本篇将详细介绍如何解决Tomcat内存溢出的问题,以及如何进行相应的配置优化。 首先,我们需要理解什么是内存溢出。当一个程序在运行过程中,分配给它的内存不足以存储所有数据时,就会发生内存溢出。在Java环境中,...
当应用负载增大,内存需求提高时,如果不进行调整,可能导致Tomcat性能下降甚至出现"Out of Memory"错误。因此,我们需要根据实际应用的需求来定制JVM的内存分配。 判断Tomcat当前使用的内存大小有几种方法。一种是...
### Tomcat JVM 内存调整方法与原理 #### 一、背景介绍 在日常的运维工作中,经常会遇到 Tomcat 应用服务器出现内存溢出的问题,表现为 `java.lang.OutOfMemoryError` 异常。这类问题通常是由于 JVM(Java 虚拟机...
- 调整JVM参数,例如增大堆内存(`-Xms`和`-Xmx`),调整新生代与老年代的比例(`-XX:NewRatio`),或者设置大对象直接进入老年代的阈值(`-XX:PretenureSizeThreshold`)。 - 检查代码,优化对象分配和垃圾回收,...
例如,增加`-Xms`和`-Xmx`的值可以扩大堆内存,`-XX:MaxNewSize`和`-XX:MaxPermSize`可以调整新生代和永久代的大小。需要注意的是,这些参数的设置应根据服务器的硬件资源和应用需求进行合理设定,过大的内存分配...
### Tomcat内存溢出在不同系统上的解决方案 #### 一、引言 在部署和运维基于Java的应用程序时,Tomcat作为广泛使用的轻量级Web容器之一,常常会在高负载或资源管理不当的情况下遭遇内存溢出的问题。内存溢出不仅会...
标题中的“tomcat内存溢出问题.doc”表明讨论的主题是关于Tomcat服务器遇到的内存溢出(Out Of Memory,OOM)问题,特别是与Java的PermGen空间相关的内存溢出。描述提到,这个问题是因为Tomcat的初始内存设置过小,...
- 当空余堆内存低于40%,JVM会尝试扩大堆至`-Xmx`的最大限制;当空余堆内存超过70%,则会减小堆至`-Xms`的最小限制。为了减少堆调整带来的性能影响,通常建议设置`-Xms`和`-Xmx`相等。 ### 非堆内存分配 - `-XX:...
然而,如同任何其他程序一样,Tomcat也可能遇到内存管理问题,导致内存溢出。"java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError" 是一个典型的错误提示,它表明在并发执行过程中遇到了内存不足...
二是物理解决,增大物理内存,然后通过调整 JVM 的参数来调整内存的大小。 JVM 内存溢出类型有两种:java.lang.OutOfMemoryError: PermGen space 和 java.lang.OutOfMemoryError: Java heap space。PermGen space ...