通过Web服务上载文档时出现Java堆空间错误

时间:2011-03-22 11:32:48

标签: java eclipse jvm

HI

我正在通过webservice将文档上传到服务器..当我上传< 10MB文件时,它工作正常&它是> 10MB,它在控制台中抛出以下错误..

我在日食中使用了以下参数..

-startup
plugins/org.
clipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
--256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
--512m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms128m
-Xmx384m
-Xss4m
-XX:PermSize=300m
-XX:MaxPermSize=300m
-XX:CompileThreshold=5
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+CMSIncrementalPacing
-XX:+UnlockExperimentalVMOptions
-XX:+UseG1GC
-XX:+UseFastAccessorMethods

我收到错误

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

该文件正在以0KB上传服务器..

任何人都可以帮我解决这个问题

谢谢, 穆拉利

1 个答案:

答案 0 :(得分:0)

为什么要分配这么多PermGen空格(--launcher.XXMaxPermSize --512m-XX:PermSize=300m以及-XX:MaxPermSize=300m)?事实上,没有什么需要PermGen空间。大多数应用程序不需要超过128M。如果您有一个复杂应用程序的服务器,它意味着永远运行,那么可能可以将值增加到256M。但是512M是不必要的。

我建议将这三个选项减少到256M(甚至128M),然后将-Xmx384m替换为-Xmx512m,看看是否能解决问题。