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

47 篇文章 0 订阅

客户反馈某些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的JVM大小呢?可以通过修改注册表:

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个不安分的程序员

祝您财源广进

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值