JAVA程序启动时JVM都会分配一个初始内存和最大内存给这个应用程序。这个初始内存和最大内存在一定程度都会影响程序的性能。
如何设置Tomcat的JVM内存大小
Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个JVM。JAVA程序启动时JVM都会分配一个初始JVM内存和最大JVM内存给这个应用程序。这个初始内存和最大内存在一定程度都会影响程序的性能。比如说在应用程序用到最大内存的时候,JVM是要先去做垃圾回收的动作,释放被占用的一些内存。所以想调整Tomcat的启动时初始内存和最大内存就需要向JVM声明,一般的JAVA程序在运行都可以通过中-Xms-Xmx来调整应用程序的初始内存和最大内存:
这两个值的大小一般根据需要进行设置。初始化堆的大小执行了虚拟机在启动时向系统申请的内存的大小。一般而言,这个参数不重要。但是有的应用程序在大负载 的情况下会急剧地占用更多的内存,此时这个参数就是显得非常重要,如果虚拟机启动时设置使用的内存比较小而在这种情况下有许多对象进行初始化,虚拟机就必 须重复地增加内存来满足使用。由于这种原因,我们一般把-Xms和-Xmx设为一样大,而堆的最大值受限于系统使用的物理内存。一般使用数据量较大的应用程序会使用持久对象,内存使用有可能迅速地增长。当应用程序需要的内存超出堆的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃。因此一般建议堆的最大值设置为可用JVM内存的最大值的80%。
Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大。有以下几种方法可以选用:
第一种方法:
Windows下,在文件/bin/catalina.bat,Unix下,在文件/bin/catalina.sh的前面,增加如下设置:
JAVA_OPTS='-Xms【初始化内存大小】-Xmx【可以使用的最大内存】'
需要把这个两个参数值调大。例如:
JAVA_OPTS='-Xms256m-Xmx512m'
表示初始化内存为256MB,可以使用的最大内存为512MB。
第二种方法:环境变量中设
变量名:JAVA_OPTS
变量值:-Xms512m-Xmx512m
第三种方法:前两种方法针对的是bin目录下有catalina.bat的情况(比如直接解压的Tomcat等),但是有些安装版的Tomcat下没有catalina.bat,这个时候可以采用如下方法,当然这个方法也是最通用的方法:
打开tomcatHome/\bin/\tomcat5w.exe,点击Java选项卡,然后将会发现其中有这么两项:Initialmemorypool和Maximummemorypool.Initialmemorypool这个就是初始化设置的内存的大小。Maximummemorypool这个是最大JVM内存的大小设置完了就按确定然后再重启TOMCAT你就会发现tomcat中jvm可用的内存改变了。
另外需要考虑的是Java提 供的垃圾回收机制。虚拟机的堆大小决定了虚拟机花费在收集垃圾上的时间和频度。收集垃圾可以接受的速度与应用有关,应该通过分析实际的垃圾收集的时间和频 率来调整。如果堆的大小很大,那么完全垃圾收集就会很慢,但是频度会降低。如果你把堆的大小和内存的需要一致,完全收集就很快,但是会更加频繁。调整堆大 小的的目的是最小化垃圾收集的时间,以在特定的时间内最大化处理客户的请求。在基准测试的时候,为保证最好的性能,要把堆的大小设大,保证垃圾收集不在整 个基准测试的过程中出现。
如果系统花费很多的时间收集垃圾,请减小堆大小。一次完全的垃圾收集应该不超过3-5秒。如果垃圾收集成为瓶颈,那么需要指定代的大小,检查垃圾收集的详细输出,研究垃圾收集参数对性能的影响。一般说来,你应该使用物理内存的80%作为堆大小。当增加处理器时,记得增加内存,因为分配可以并行进行,而垃圾收集不是并行的。
一个要注意的地方:建议把内存的最高值跟最低值的差值缩小,不然会浪费很多内存的,最低值加大,最高值可以随便设,但是要根据实际的物理内存,如果内存设置太大了,比如设置了512M最大内存,但如果没有512M可用内存,Tomcat就不能启动,还有可能存在内存被系统回收,终止进程的情况。
set JAVA_OPTS=-Xms256m -Xmx512m -Djava.awt.headless=true [-XX:MaxPermSize=128M] 并不起效
要采用下面的方法:
A.windows->preference->java->instal jres->edit,增加参数:-Xms256m -Xmx512m
或者
B.windows->preferences..->tomcat->jvm..->jvm文本框里,添加-Xms256m -Xmx512m
如果使用myeclipse,
窗口->首选项->MyEcliipse->Application Servers->Tomcat->Tomcat5.x->JDK->Optional Java VM arguments中填写一下内容。
-Xms128m -Xmx256m
-Dcom.sun.management.jmxremote=true
1, 设置Eclipse内存使用情况
修改eclipse根目录下的eclipse.ini文件
-vmargs //虚拟机设置
-Xms40m //初始内存
-Xmx256m //最大内存
-Xmn16m //最小内存
-XX:PermSize=128M //非堆内存
-XX:MaxPermSize=256M
2, JVM内存设置
打开eclipse window-preferences-Java -Installed JREs -Edit -Default VM Arguments
在VM自变量中输入:-Xmx128m -Xms64m -Xmn32m -Xss16m
3, Tomcat内存设置
打开Tomcat根目录下的bin文件夹,编辑catalina.bat
修改为:set JAVA_OPTS= -Xms256m -Xmx512m
相关推荐
### Eclipse启动Tomcat内存泄漏解决方案 #### 一、问题背景 在使用Eclipse集成开发环境(IDE)启动Tomcat服务器时,可能会遇到内存泄漏的问题。这种情况不仅会导致应用程序运行缓慢,严重时甚至会使得Tomcat服务器...
这意味着Eclipse启动时,初始分配128MB的堆内存,最大可扩展至512MB;方法区初始大小为128MB,最大可达256MB。根据上述配置,打开Eclipse后大约会占用1.4GB的内存(774MB + 128MB + 512MB = 1.414GB)。 #### 三、...
根据提供的部分内容,我们可以看到Tomcat内存参数的设置涉及到了以下几个方面: 1. **修改Tomcat的启动脚本**:通过编辑`G:\apache-tomcat-6.0.37\bin\catalina.bat`文件,添加`set JAVA_OPTS=-Xms256m -Xmx512m`来...
### Eclipse Tomcat 启动时出现内存溢出问题解析及解决方法 #### 一、问题背景与概述 在使用Eclipse集成开发环境部署并运行基于Tomcat的应用程序时,经常会出现“java.lang.OutOfMemoryError: Java heap space”这...
在Eclipse的服务器视图中,可以调整Tomcat的内存配置,增加Xms和Xmx值,以提高Tomcat处理高负载的能力,防止内存溢出。 #### 2.6 清理工作空间 有时,Eclipse的工作空间积累的临时文件或编译错误也可能影响Tomcat的...
5. **启动和停止Tomcat**:在“服务器”视图中,双击Tomcat服务器图标或右键选择“启动”即可启动Tomcat。停止服务器同样简单,只需右键点击并选择“停止”。 6. **调试与部署**:Eclipse插件支持对Tomcat的调试,...
**Tomcat内存设置** Apache Tomcat是流行的Java Servlet容器,用于部署和运行Web应用程序。为了确保Tomcat稳定运行,也需要调整其JVM内存配置。这通常在`bin/catalina.sh`(Unix/Linux)或`bin/catalina.bat`...
3. **调试模式**:在服务器上右键选择"Debug",Eclipse将以调试模式启动Tomcat,允许我们在代码级别进行调试,设置断点,查看变量值等。 4. **自动部署**:Eclipse支持自动部署功能,当项目源代码有改动并保存后,...
### Eclipse Memory Analyzer (MAT) 分析 Tomcat 内存溢出详解 #### 一、引言 在软件开发过程中,特别是在 Java 应用程序中,内存管理是非常关键的一环。当应用程序遭遇 `OutOfMemoryError` 异常时,通常意味着...
1. **集成管理**:它允许用户在Eclipse内部启动、停止、重启Tomcat服务器,而无需离开IDE。这极大地提高了开发效率,因为开发者可以快速地进行应用部署和调试。 2. **项目部署**:插件支持将Eclipse中的Java Web...
标题"eclipse下的tomcat内存设置大小"指向的是如何在Eclipse中调整Tomcat的JVM内存分配,以适应不同规模和需求的应用程序。 首先,我们需要了解Java虚拟机(JVM)内存模型,它主要由以下几个部分组成: 1. **堆...
- 启动Tomcat:进入解压后的Tomcat目录,找到`bin`文件夹,双击`startup.sh`(Linux/Mac)或`startup.bat`(Windows)。 3. **在Eclipse中配置Tomcat** - 打开Eclipse,点击菜单栏上的`Window` -> `Preferences`...
2. **快速启动和停止**:插件允许用户快速启动、停止、重启Tomcat服务器,方便开发过程中的测试和调试。 3. **日志查看**:可以直接在Eclipse中查看Tomcat的日志输出,有助于快速定位和解决问题。 4. **服务器监控**...
3. **测试与验证**:完成配置后,重新启动Tomcat并运行应用程序,观察是否还有内存溢出问题。 #### 六、总结 合理配置Eclipse和Tomcat中的JVM参数对于提高开发效率、确保应用程序稳定运行具有重要意义。通过对JVM...
安装完成后,Eclipse会增加一个新的服务器视图,用户可以在其中配置和管理Tomcat服务器。插件允许用户添加、删除和配置多个Tomcat实例,包括设置Tomcat的安装路径、版本以及端口号等。这样,开发者无需离开Eclipse就...
Eclipse的Tomcat插件是开发Java Web应用的重要工具,它允许开发者在Eclipse集成开发环境中直接管理和运行Apache Tomcat服务器。3.3版本的插件是为了解决新版本的Eclipse可能面临的兼容性问题,确保用户能够在最新的...
- 调整Tomcat的内存配置,特别是当运行大型应用时,避免内存溢出。 - 避免端口冲突,检查Tomcat使用的端口(如8080)是否已被其他服务占用。 通过以上步骤,开发者可以在Linux下的Eclipse环境中高效地开发和测试...
4. `bin`:包含了启动和停止Tomcat的脚本,如startup.sh和shutdown.sh,以及管理工具,如catalina.sh。 5. `lib`:存放Tomcat运行所需的JAR文件,包括Servlet和JSP规范的API库。 6. `work`:Tomcat工作目录,这里...
完成以上配置后,启动Tomcat服务器。如果配置正确,将在Tomcat的日志文件`catalina.out`中看到如下输出: ``` Listening for transport dt_socket at address: 8000 ``` 这表明Tomcat已准备好接受来自远程调试器的...
"插件"(plugin)是指Eclipse平台允许开发者通过扩展来增加其功能,Eclipse Tomcat插件就是这样的一个扩展,增强了Eclipse对Tomcat的支持。"plugin"是“插件”的英文单词,进一步强调了这个主题。 【压缩包子文件的...