Caused by: java.lang.OutOfMemoryError: Java heap space错误解决...
2013-08-06 21:28
615 查看
在进行大数据量操作的时候,经常会出现内存溢出的错误,如图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201912/19/a04e05e58a0d522eff28142c784d92f9.jpg)
处理方法是设置TOMCAT的内存大小,如图
MyEclipse下解决办法:
Window-->Preference-->MyEclipse-->Application Servers-->Tomcat-->Tomcat 6.x-->JDK-->Optional Java VM arguments下填上:
-Xms256m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=600m
![](https://oscdn.geek-share.com/Uploads/Images/Content/201912/19/16cd12c53867e49f99c26ebd76246d86.jpg)
Tomcat是目前应用十分广泛的一个Java servlet container与web服务器,但java.lang.OutOfMemoryError与java.lang.OutOfMemoryError: PermGen space的异常相信真正用过tomcat的人都遇到过(用户量大,应用使用频繁等),这个异常和JVM默认划分的内存上限是128M有关,如果你的业务足够繁忙,128M是远远不够的,所以你可以给JVM分配上1G甚至更多,这样就可以避免内存溢出。
分配方法:
1)linux下
编辑tomcat的catalina.sh文件,在第一行的后面增加一句:
JAVA_OPTS='-server -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M'
注意:单引号不能少,-server表示以server模式运行(运行效率比默认的client高很多,自己云去测试),-Xms256m是最小内存,-Xmx512m是最大内存,其中的256与512可根据你自己的内存做相应调整,PermSize/MaxPermSize最小/最大堆大小.一般报内存不足时,都是说这个太小,堆空间剩余小于5%就会警告,建议把这个稍微设大一点,不过要视自己机器内存大小来设置,我自己的文件如下:
#!/bin/sh
JAVA_OPTS='-server -Xms1024m -Xmx1024m XX:PermSize=128M -XX:MaxPermSize=256M'
# -----------------------------
2)windows下
编辑tomcat的catalina.bat文件,在第一行的后面增加一句:
set JAVA_OPTS=-server -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M
注意:没有单引号
2.1)如果windows下tomcat被作为一种服务安装了,可通过tomcat monitor的java页进行配置,如下图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201912/19/021289b8861efc69d1df73619d4a68bc.jpg)
注:Java Options中每一行的最后不能有空格。
上面配置的catalina.bat中-server选项对应:Java Virtual Matchine
D:\Java\jdk1.6.0_03\jre\bin\server\jvm.dll
这里的jvm.dll不是jre\bin\client\jvm.dll而是\jre\bin\server\jvm.dll(要安装JDK不是JRE)
如果你不想提高tomcat的执行效率,你可以按默认的配置
-Xms256m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=600m
转载:http://hi.baidu.com/duxikuan/item/908279f59a34f215ce9f329c
![](https://oscdn.geek-share.com/Uploads/Images/Content/201912/19/a04e05e58a0d522eff28142c784d92f9.jpg)
处理方法是设置TOMCAT的内存大小,如图
MyEclipse下解决办法:
Window-->Preference-->MyEclipse-->Application Servers-->Tomcat-->Tomcat 6.x-->JDK-->Optional Java VM arguments下填上:
-Xms256m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=600m
![](https://oscdn.geek-share.com/Uploads/Images/Content/201912/19/16cd12c53867e49f99c26ebd76246d86.jpg)
Tomcat是目前应用十分广泛的一个Java servlet container与web服务器,但java.lang.OutOfMemoryError与java.lang.OutOfMemoryError: PermGen space的异常相信真正用过tomcat的人都遇到过(用户量大,应用使用频繁等),这个异常和JVM默认划分的内存上限是128M有关,如果你的业务足够繁忙,128M是远远不够的,所以你可以给JVM分配上1G甚至更多,这样就可以避免内存溢出。
分配方法:
1)linux下
编辑tomcat的catalina.sh文件,在第一行的后面增加一句:
JAVA_OPTS='-server -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M'
注意:单引号不能少,-server表示以server模式运行(运行效率比默认的client高很多,自己云去测试),-Xms256m是最小内存,-Xmx512m是最大内存,其中的256与512可根据你自己的内存做相应调整,PermSize/MaxPermSize最小/最大堆大小.一般报内存不足时,都是说这个太小,堆空间剩余小于5%就会警告,建议把这个稍微设大一点,不过要视自己机器内存大小来设置,我自己的文件如下:
#!/bin/sh
JAVA_OPTS='-server -Xms1024m -Xmx1024m XX:PermSize=128M -XX:MaxPermSize=256M'
# -----------------------------
2)windows下
编辑tomcat的catalina.bat文件,在第一行的后面增加一句:
set JAVA_OPTS=-server -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M
注意:没有单引号
2.1)如果windows下tomcat被作为一种服务安装了,可通过tomcat monitor的java页进行配置,如下图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201912/19/021289b8861efc69d1df73619d4a68bc.jpg)
注:Java Options中每一行的最后不能有空格。
上面配置的catalina.bat中-server选项对应:Java Virtual Matchine
D:\Java\jdk1.6.0_03\jre\bin\server\jvm.dll
这里的jvm.dll不是jre\bin\client\jvm.dll而是\jre\bin\server\jvm.dll(要安装JDK不是JRE)
如果你不想提高tomcat的执行效率,你可以按默认的配置
-Xms256m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=600m
转载:http://hi.baidu.com/duxikuan/item/908279f59a34f215ce9f329c
相关文章推荐
- Caused by: java.lang.OutOfMemoryError: Java heap space错误解决...
- Caused by: java.lang.OutOfMemoryError: Java heap space错误原因及解决方法
- Eclipse 报 “Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”错误的解决办法
- Eclipse 报 “Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”错误的解决办法
- Eclipse 报 “Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”错误的解决办法
- Caused by: java.lang.OutOfMemoryError: Java heap space .解决
- 转 MyEclipse 报“Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”错误的解决办法
- TOMCAT报Caused by: java.lang.OutOfMemoryError: Java heap space错误解决...
- Eclipse 报 “Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”错误的解决办法
- Eclipse 报 “Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”错误的解决办法
- Eclipse 报 “Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”错误的解决办法以及文本文件换行
- Tomcat报java.lang.OutOfMemoryError: Java heap space错误停止运行如何解决
- TOMCAT报Caused by: java.lang.OutOfMemoryError: Java heap space错误解决.
- Eclipse 报 “Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”错误的解决
- Java解决java.lang.OutOfMemoryError: Java heap space错误
- Caused by: java.lang.OutOfMemoryError: Java heap space错误原因及解决方法
- java.lang.OutOfMemoryError: Java heap space 错误及解决办法
- Eclipse 报 “Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”错误的解决办法
- Eclipse 报 “Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”错误的解决办法
- Eclipse 报 “Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”错误的解决办法