内存溢出
前言:使用tomcat部署项目之后,使用poi导出大约7W条数据是报错。然后查看日志发现是内存溢出。
内存溢出报错信息
- java.lang.OutOfMemoryError: Java heap space
- java.lang.OutOfMemoryError: PermGen space
解决方法
设置tomcat的内存
1. 如果是startup.bat启动
设置bin目录下的catalina.bat文件
set JAVA_OPTS=%JAVA_OPTS% -server -Xms800m -Xmx800m -XX:MaxNewSize=256m -XX:PermSize=128m -XX:MaxPermSize=512m
网上大神提示:在JVM中如果98%的时间是用于GC且可用的Heap size 不足2%的时候将抛出此异常信息。Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。
1.windows服务执行方法一
注册表
HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Apache Software Foundation/Procrun 2.0/tomcat/Parameters/Java
1.windows服务执行方法二
打开tomcat6w.exe如果打不开执行service.bat install