idea环境下启动tomcat项目,报错java.lang.OutOfMemoryError: PermGen space
2018-09-06 21:29
1076 查看
这个报错是堆内存空间不够,可以手工设置为-Xms1024m -Xmx2024m -XX:MaxPermSize=256m,具体设置如下:
为了保障项目正常运行,linux环境一般手工设置内存,保证项目正常运行。而windows虽然没有设置,但也有默认配置。具体情况如下:
按照官方的说法:Java 虚拟机具有一个堆(Heap),堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的,在JVM中堆之外的内存称为非堆内存(Non-heap memory)。
简单的说就是:堆是java代码可及的内存,开发人员写的东西都是堆分配的内存(底层实现除外)。而非堆内存则是JVM自己用的,比如JVM内部处理或优化,垃圾处理,常数池等。
堆的内存分配用-Xms和-Xmx
[code]-Xms分配堆最小内存,默认为物理内存的1/64;-Xmx分配最大内存,默认为物理内存的1/4。
非堆内存分配用-XX:PermSize和-XX:MaxPermSize
[code]-XX:PermSize分配非堆最小内存,默认为物理内存的1/64;-XX:MaxPermSize分配最大内存,默认为物理内存的1/4。
因此,合理的内存分配是程序正常稳定的运行的基础。
相关文章推荐
- IDEA启动Jboss项目报错java.lang.OutOfMemoryError: PermGen space
- 解决Tomcat启动多个web项目报错nested exception is java.lang.OutOfMemoryError: PermGen space
- eclipse启动项目报错: java.lang.OutOfMemoryError:PermGen space
- Tomcat 启动项目报错 java.lang.OutOfMemoryError: Java heap space
- tomcat部署项目时报java.lang.OutOfMemoryError: PermGen space
- Tomcat启动时java.lang.OutOfMemoryError: PermGen space
- 本地启动tomcat的时候报java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen space
- tomcat项目报错javax.servlet.ServletException: java.lang.OutOfMemoryError: PermGen space
- Eclipse中通过Tomcat运行J2EE项目java.lang.OutOfMemoryError: PermGen space的解决方案
- eclipse启动tomcat出现内存溢出错误 java.lang.OutOfMemoryError: PermGen space
- MyEclipse启动Tomcat出现Exception in thread "main" java.lang.OutOfMemoryError: PermGen space
- 启动tomcat 都报 java.lang.OutOfMemoryError: PermGen space
- idea运行Jboss部署的项目报:java.lang.OutOfMemoryError: PermGen space
- java.lang.OutOfMemoryError: PermGen space tomcat启动项目出错
- eclipse启动或者运行过程中tomcat出现内存溢出错误 java.lang.OutOfMemoryError: PermGen space
- MyEclipse启动tomcat出现java.lang.OutOfMemoryError: PermGen space 的解决方案
- Caused by: java.lang.RuntimeException: by java.lang.OutOfMemoryError: PermGen space(tomcat 启动时提示内存溢出)
- 启动项目时 报java.lang.OutOfMemoryError: PermGen space
- MyEclipse启动Tomcat出现Exception in thread "main" java.lang.OutOfMemoryError: PermGen space