知方号

知方号

调整JVM内存设置解决Tomcat内存溢出问题

调整JVM内存设置解决Tomcat内存溢出问题

     假如你用win/tomcat/bin/catalina.bat 加上下面的命令:set JAVA_OPTS=-Xms32m -Xmx256m

假如你用unix/linux/tomcat/bin/catalina.sh 加上下面的命令:JAVA_OPTS="-Xms32m -Xmx256m"  tomcat分为安装和压缩包形式,安装的情况catalina.bat设定、使用系统服务不会生效,而是存储在注册表中,位置是HKEY_LOCAL_MACHINESOFTWAREApache Software FoundationTomcat Service ManagerTomcat5ParametersJavaOptions 修改时视情况而定。  启动MyEclipse启动Tomcat无视catalina.bat中设置内存大小的问题。在tomcat的catalina.bat中设置set JAVA_OPTS=-Xms128m -Xmx256m,直接使用startup.bat启动tomcat没有问题。但是在myeclipse中配置tomcat后,通过myeclipse启动就出现内存溢出,之前在catalina.bat中设置的内存似乎没有作用。解决方法:窗口->首选项->MyEcliipse->Application Servers->Tomcat->Tomcat5.x->JDK->Optional Java VM arguments中填写一下内容。-Xms128m -Xmx256m-Dcom.sun.management.jmxremote=true内存具体大小视具体情况制定。 

在JVM中如果98%的时间是用于GC且可用的 Heap size 不足2%的时候将抛出此异常信息。

JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的  1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。

jvm虚拟机的默认Heap大小是64M,可以通过设置其最大值-Xmx和初始值-Xms来实现.

(1).可以在windows 更改系统环境变量:JAVA_OPTS=-Xms64m -Xmx512m (针对catalina.bat )

(2). 命令行执行的时候:java -Xms64m -Xmx1024m cn.neto.Test

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。