在一个SSH2项目中,使用Javarebel启动程序.由于项目越做越大,终于在启动时报错:
Exception in thread "btpool0-1" java.lang.OutOfMemoryError: PermGen space ...
以前在使用MyEclipse时,经常遇到PermGen space问题,解决办法无非是更改MyEclipse的配置文件,增加其运行
JVM时申请的内存.但是这次是由Javarebel启动程序...
在网上搜了半天也没有太好的解决办法,整个项目组因为这个问题开发进度几乎停滞了两个星期...倒是很有几个帖子写得很深入,值得研究,待以后发帖总结.言归正传,看来也许大家没有解决这个问题?于是想到了Javarebel的官网:http://www.zeroturnaround.com找到
FAQ :http://www.zeroturnaround.com/jrebel/faq,搜索"PermGen space",找到:
哈哈,果然有"同道中人"!点击该链接:
大致意思估计不用金山词霸也能看个七八成.于是照此修改Javarebel的参数:
-Xmx512M -Xms512M -XX:MaxPermSize=1024m
问题解决!
从网上搜得:http://hi.baidu.com/futily/blog/item/cffb330fb0c22ee4ab6457fc.html很值得阅读.
简单作个笔记:
堆内存分配:
-Xms JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;
-Xmx JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4;
默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。
因此服务器一般设置-Xms、-Xmx相等以避免在每次GC 后调整堆的大小。
非堆内存分配
-XX:PermSize JVM使用-XX:PermSize设置非堆内存初始值,默认是物理内存的1/64;
-XX:MaxPermSize 由XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4。
注意:
参数中
-Xms的值要小于-Xmx,
-XX:PermSize的值要小于-XX:MaxPermSize;
-Xmx的值和-XX:MaxPermSize的总和应不超过JVM内存的最大限制,比如当前操作系统最大内存限制,或者实际的物理内存等等。
- 大小: 15.8 KB
- 大小: 19.5 KB
分享到:
相关推荐
java.lang.OutOfMemoryError: PermGen space 解决方案
Caused by: java.lang.OutOfMemoryError: PermGen space解决方案, avax.servlet.ServletException: java.lang.OutOfMemoryError: PermGen space at org.apache.jasper.servlet.JspServlet.service(JspServlet.java...
java.lang.OutOfMemoryError: PermGen space及其解决方法,解决项目太大tomcat内存溢出
java.lang.OutOfMemoryError: PermGen space
tomcat内存溢出解决办法,错误信息:java.lang.OutOfMemoryError:PermGen space 参考该文档可快速解决内存溢出的问题,服务器:tomcat
报错 java.lang.OutOfMemoryError: PermGen space 报错 java.lang.OutOfMemoryError: Java heap 启动报错java.lang.ClassNotFoundException: 1catalina.org.apache.juli.FileHandler JAVA_OPTS="-server -Xms800m ...
Eclipse中通过Tomcat运行J2EE项目java.lang.OutOfMemoryError PermGen space的解决方案
关于内存溢出报错的处理及解决方案: java.lang.OutOfMemoryError: PermGen space java.lang.OutOfMemory 堆内存、非堆内存都描述
java.lang.OutOfMemoryError: PermGen space,OutOfMemoryError是内存溢出1、weblogic域的bin目录
1. Java heap space 2. GC overhead limit exceeded 3. Permgen space 5. Unable to c
OutOfMemoryError的8种经典案例,Java heap space、GC overhead limit exceeded、Permgen space、Metaspace、Unable to create new native thread、Out of swap space?、Requested array size exceeds VM limit、...
JSP安装运行步骤及遇错处理方法,包括安装JDBC步骤、安装Tomcat...java.lang.OutOfMemoryError: PermGen space;tomcat 5.5 的The Apache Tomcat Native library which allows optimal performance 的解决方法等等..
昨天遇到一个线上系统报 java.lang.OutOfMemoryError: PermGen space 错误,需要定位一下问题。很久之前到时弄过这个,现在还真有点不记得了,但这个真的是一个非常有意思的问题,值得好好研究一下。 首先第一...
更低版本的JDK6、JDK7可能需要设置Java内存-XX:PermSize=128M -XX:MaxPermSize=512M,否则可能出现这种类型的内存溢出:java.lang.OutOfMemoryError: PermGen space。 Servlet2.5或更高版本(如Tomcat6或更高版本)...
更低版本的JDK7可能需要设置Java内存-XX:PermSize=128M -XX:MaxPermSize=512M,否则可能出现这种类型的内存溢出:java.lang.OutOfMemoryError: PermGen space。 Servlet3.0或更高版本(如Tomcat7或更高版本)。 ...
更低版本的JDK6、JDK7可能需要设置Java内存-XX:PermSize=128M -XX:MaxPermSize=512M,否则可能出现这种类型的内存溢出:java.lang.OutOfMemoryError: PermGen space。 Servlet2.5或更高版本(如Tomcat6或更高版本)。...
-XX:MaxPermSize=512M,否则可能出现这种类型的内存溢出:java.lang.OutOfMemoryError: PermGen space。 Servlet3.0或更高版本(如Tomcat7或更高版本)。 MySQL5.5或更高版本(如需使用MySQL5.0,可将mysql驱动版本...
我自己做项目中遇到了不少问题,现将其解决方法共享,大家探讨下: (1)解决MYSQL乱码问题 (2)传递参数中文乱码 (3)jsp导包问题 (4)Hibernate基于外键的查询方法 ...(6)分析java.lang.OutOfMemoryError PermGen space
如果您想避免可怕的java.lang.OutOfMemoryError: Metaspace / PermGen space ,只需将此库包含到您的 Java EE 应用程序中,它就会处理剩下的事情! 要了解有关类加载器泄漏、其原因、类型、找到它们的方法和已知违规...