欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

导入文件失败因Tomcat内存配置问题记录

程序员文章站 2022-06-28 16:22:45
客户反馈某些Excel导入失败,在测试环境却可以正常导入,以此判断应该跟Tomcat内存设置有关.查看客户环境Tomcat日志,发现报错信息:java.lang.OutOfMemoryError: Java heap space at org.apache.xmlbeans.impl.store.Cur.createElementXobj(Cur.java:260) at org.apache.xmlbeans.impl.store.Cur$CurLoadContext.startEle....

客户反馈某些Excel导入失败,在测试环境却可以正常导入,以此判断应该跟Tomcat内存设置有关.

查看客户环境Tomcat日志,发现报错信息:

 

java.lang.OutOfMemoryError: Java heap space

at org.apache.xmlbeans.impl.store.Cur.createElementXobj(Cur.java:260) at org.apache.xmlbeans.impl.store.Cur$CurLoadContext.startElement(Cur.java:2997)

at org.apache.xmlbeans.impl.store.Locale$SaxHandler.startElement(Locale.java:3164) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)

at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)

at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)

at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)

at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)

at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)

从报错信息看,很可能是Tomcat设置的内存小了,但测试环境和客户环境使用的配置是一样的,怎么会一个有问题一个没问题呢?经确认是启动方式不同:

测试环境是通过执行bin/startup.bat启动的而客户环境是使用的服务方式运行的.虽然在bin/catalina.bat中配置了jvm大小:

导入文件失败因Tomcat内存配置问题记录

但是这种方式的配置对已服务方式运行的Tomcat并没有效果,那怎么设置服务运行的Tomcat的JVM大小呢?可以通过修改注册表:

\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\对应tomcat服务名称\Parameters\Java

导入文件失败因Tomcat内存配置问题记录

其中JvmMs和JvmMx分别对应Tomcat启动Java虚拟机的初始内存和可用最大内存。修改完成后重启Tomcat服务,就可以导入成功了。

本文地址:https://blog.csdn.net/tianlangstudio/article/details/112016862