假如你用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