4
A
回答
3
随着每次部署,新的类对象被放置到PermGen中,从而占用不断增加的空间。无论您创建PermGen空间的规模有多大,在部署完成后都不可避免地被淘汰出局。您需要做的是采取措施冲洗PermGen,以便您可以稳定其大小。有两个JVM标志可以处理这种清理:
-XX:+CMSPermGenSweepingEnabled
此设置包含垃圾收集运行中的PermGen。 默认情况下,PermGen空间从不包含在垃圾回收中(因此无限制地增长)。
-XX:+CMSClassUnloadingEnabled
这个选项告诉PermGen的垃圾收集清扫采取类对象的动作。默认情况下,即使在garabage集合期间访问PermGen空间时,类对象也会获得豁免。
0
我相信理论上如果一个类加载器是垃圾收集的,那个类加载器加载的类可以被垃圾回收。这些课程将在永久的一代。
相关问题
- 1. Java PERM代在哪里?
- 2. PS Perm Gen && Perm Gen JVM PROPERTIES?
- 3. Java和堆栈区域的方法区
- 4. Java继承文本区域
- 5. Java和Windows区域设置
- 6. Java用户控制区域
- 7. Java Applet区域设置
- 8. JRuby JMX Perm Gen Value
- 9. Java图片颜色区域区别
- 10. 连接区域的区域
- 11. 区域内的区域
- 12. Java DecimalFormatter - 区域设置DE和区域设置US
- 13. java区域设置getDisplayLanguage缺少一些区域设置
- 14. 在Java地理区域和距离内检查地理区域
- 15. 区域读取Java中的ActionListener
- 16. 的Java游戏区域难度
- 17. Java的正则表达式区域
- 18. 更新文本区域摆动的Java
- 19. Java:创建有洞的裁剪区域?
- 20. 在Java中填充单击的区域
- 21. Java中的可撤消文本区域
- 22. Java中多边形的计算区域
- 23. 的Java重绘多个区域
- 24. Java:如何检查当前的Perm/PermGen大小?
- 25. 内存不足:Perm Gen Space
- 26. PRISM:区域内的嵌套区域
- 27. MVC 3呈现区域中的区域
- 28. 获取与区域接壤的区域
- 29. Backbone.Marionette布局:区域内的区域
- 30. 将Java ClassLoaders添加到堆而不是perm gen
重复的http://stackoverflow.com/questions/3796427/in-java-does-permamnent-generation-space-garbage-collected – CoolBeans 2011-03-22 04:24:35
好问题 - 我会假设这些对象可以收集时,他们的父类加载器可以被丢弃,但不会发布为'答案',因为我猜测了一下。 – 2011-03-22 04:25:21
@Steve B - 它与堆上的其他元素相同。所以它最终会被垃圾收集。 – CoolBeans 2011-03-22 04:26:36