Dan*_*ski 27 java netbeans netbeans6.5 java-6
每隔15-30分钟,Netbeans会显示一个" java.lang.OutOfMemoryError: PermGen space".从我从谷歌那里学到的东西,这似乎与一般的类加载器泄漏或内存泄漏有关.
不幸的是,我发现的所有建议都与应用程序服务器有关,我不知道它们是否适用于Netbeans.(我甚至不确定它是同一个问题)
这是我申请中的问题吗?我怎样才能找到来源?
Łuk*_*nik 32
这是因为恒定的类加载.
Java将类字节代码和所有常量(例如字符串常量)存储在永久堆中,默认情况下不是垃圾收集(这在大多数情况下都有意义,因为类在应用程序的生命周期中只加载一次).
在通常在整个生命周期内加载类的应用程序中:
您需要打开永久堆垃圾收集以防止此错误.
我用的是选项
-XX:MaxPermSize=256M
-XX:+CMSClassUnloadingEnabled
-XX:+CMSPermGenSweepingEnabled
Run Code Online (Sandbox Code Playgroud)
(停止了我的eclipse 3.4投掷" java.lang.OutOfMemoryError: PermGen space"所以它也应该与netbeans一起工作).
编辑:请注意,对于Netbeans,您可以在以下位置设置这些选项:[Netbeans installation]\etc\netbeans.conf
您应该将这些选项作为
前缀-J并添加它们netbeans_default_options(netbeans.conf有关更多信息,请参阅注释).
| 归档时间: |
|
| 查看次数: |
33551 次 |
| 最近记录: |