注意加不加引号
1如果是myeclipse启动的tomcat
1)从Intalled JREs里修改;window->Preferences->Java->Installed JREs,选择当前的JRE,然后edit它;在新窗口里设置Default VM Arguments为 -Xms128M -Xmx512M即可;这个设置应该对所有的工程都有效;
2)如果仅仅是想对某个工程的有效的话,从Debug... 或Run...里修改,在(x)=Arguments里设置和上面相同的参数即可;
3)Tomcat,window->Preferences->Application Servers->Tomcat->Tomcat 6.x,选择JDK设置即可;
2 不是myeclipse,单独启动tomcat
1.可以在windows 更改系统环境变量加上JAVA_OPTS=-Xms64m -Xmx512m
2,如果用的tomcat,在windows下,可以在C:\tomcat5.5.9\bin\catalina.bat 中加上:set JAVA_OPTS=-Xms64m -Xmx256m
位置在: rem Guess CATALINA_HOME if not defined 这行的下面加合适.
3.如果是linux系统Linux 在{tomcat_home}/bin/catalina.sh的前面,加 set JAVA_OPTS='-Xms64 -Xmx512'
java.lang.OutOfMemoryError: Java heap space
使用Java程序从数据库中查询大量的数据时出现异常:
java.lang.OutOfMemoryError: Java heap space
在JVM中如果98%的时间是用于GC且可用的 Heap size 不足2%的时候将抛出此异常信息。
JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候
会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理
内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。
例如:java -jar -Xmn16m -Xms64m -Xmx128m MyApp.jar
如果Heap Size设置偏小,除了这些异常信息外,还会发现程序的响应速度变慢了。GC占用了
更多的时间,而应用分配到的执行时间较少。
Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,
而-Xmn为1/4的-Xmx值。
Heap size的 -Xms -Xmn 设置不要超出物理内存的大小。否则会提示“Error occurred during
initialization of VM Could not reserve enough space for object heap”。
-----------------------------------------------------------------
在myeclipse中出现:java.lang.OutOfMemoryError: Java heap space 或着
java.lang.OutOfMemoryError: PermGen space 这两个错误,原因是tomcat 或着mycelispe
没有设置好
如是单独启动tomcat出现这个问题,应该在如apache-tomcat-5.5.25\bin\catalina.bat文件
中
添加set CATALINA_OPTS=-Xms512m -Xmx1048m -XX:PermSize=128m -
XX:MaxPermSize=400m
根据自己机器的实际情况决定,默认MaxPermSize为128,这个地方设置的也不能太大的,如果
太大的话,运行startup.bat将会一闪而过,启动不了tomcat
如果是在myeclipse中启动出现这个问题,要是myeclipse中设置tomcat的启动参数
路径:Myeclipse->preferences->myeclipse->servers->tomcat->tomcat×.×->下,
-Xms1024M -Xmx1024M -XX:MaxPermSize=400M不设置就算tomcat中设置了,也还是按
默认的128M运行,这里的设置也要根据自己的机器的实际情况来定。