我正在使用Windows 7上的Eclipse / Glassfish开发一个Web应用程序,在部署新版本的应用程序时,我每天至少会看到几次此错误:
SEVERE: Exception while preparing the app : PermGen space
SEVERE: java.lang.OutOfMemoryError: PermGen space
当我看到它时,我必须关闭Eclipse,使用Windows任务管理器停止Java进程(我怀疑是Glassfish),然后重新启动Eclipse。这是一种令人讨厌的事情,也是一种不受欢迎的中断。
有什么我可以修复/配置会导致此错误消失,或至少降低其频率?或者这是一个内存泄漏,我只需要忍受?
答案 0 :(得分:0)
这是Sun / Oracle JVM中的内存泄漏< = 7,这在使用JPA时经常发生。升级到Oracle's JVM 8 should solve this。
如果您已绑定到JVM 7或更低版本,则可以将以下VM参数添加到Eclipse中的Glassfish启动配置中以增加内存限制(在此示例中为1024 MB),这使得OOM不那么规律:
-XX:MaxPermSize=1024M