您的位置:首页 > 运维架构 > Tomcat

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。

因此,合理的内存分配是程序正常稳定的运行的基础。

参考:https://www.geek-share.com/detail/2702535773.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐