我在unix框上运行以下命令。java OutOfMemoryError
的java -Xms3800m -Xmx3800m org.apache.xalan.xslt.Process -out Cust.txt -in test13l.xml -xsl CustDetails.xsl
它是一种Java命令,该命令要求的Xalan处理器通过解析使用xsl样式表(CustDetails.xsl)的xml文件(test131.xml)并返回Cust.txt。
该命令正常工作,并生成输出。处理1.1 GB的xml文件需要12分钟的时间。处理1.44 GB的文件需要22分钟。然而,当我尝试处理1.66 GB的文件大小,它的错误了以下消息:
XSLT错误(java.lang.OutOfMemoryError)(误差未知的地点):空
我已经增加Java堆大小为3800不知道我能做些什么。
非常感谢您的帮助。
设置Xms和Xmx参数无法确保JVM自己将分配的内存量分配给堆。看看下面 http://stackoverflow.com/questions/171205/java-maximum-memory-on-windows-xp http://www.unixville.com/~moazam/ 链接也许你应该考虑其他的优化......比如使用SAX解析器并直接存储到文件中。 – saugata 2010-03-15 06:02:23