相关疑难解决方法(0)

CMSPermGenSweepingEnabled与CMSClassUnloadingEnabled

我之前有点问过这个问题 - JVM标志CMSClassUnloadingEnabled实际上做了什么?,但这一次略有不同!

如果我启动了-XX:+CMSPermGenSweepingEnabled设置了标志的Java VM,则会打印以下消息:

请在将来使用CMSClassUnloadingEnabled代替CMSPermGenSweepingEnabled

-XX:+CMSPermGenSweepingEnabled标志通常用于缓解PermGen OutOfMemory错误,但是我在其他地方已经读过,人们已经发现通过遵循上述建议他们仍然有这些错误,但是通过坚持-XX:+CMSPermGenSweepingEnabled以及-XX:+CMSClassUnloadingEnabled他们的VM在重启之间保持更长时间.

是否-XX:+CMSClassUnloadingEnabled真的取代-XX:+CMSPermGenSweepingEnabled或者是否仍然有两个好处?

提前致谢

丰富ps:我知道perm gen问题的根本原因仍然是Classloader泄漏,这更多是关于JVM在我们使用上述选项时产生的消息.

java jvm-arguments

68
推荐指数
1
解决办法
7万
查看次数

Tomcat-Spring-Hibernate Web应用程序中的"PermGen out of space"异常可以做些什么?

我们有一个Web应用程序,它使用Spring-Hibernate将注册用户数据保存在Oracle数据库中.该应用程序在开发环境中运行良好,但是当我们在具有更多数据的实时环境中复制它时,它失败了.最初应用程序正常启动,但在几次操作之后发生'PermGen out of space'异常.

我已经开始在Google,Spring和Hibernate论坛上搜索,但它没有帮助.关于这个错误有很多讨论,但是对于每个解决方案,都有人说:"它有效"而其他人说'它没有'.

例如,许多人提出增加-XX:MaxPermSizeJVM参数,其他人说它不起作用.有帖子说需要使用javassist库和其他库以及cglib库的问题.其他人说问题出在cglib上.

我们使用Java1.5_0_09,Spring 2.5和javaassist3.4.GA,Tomcat 5.5作为web容器,Oracle 10g作为数据库.

任何人都能解释一下导致这个问题的原因以及如何解决这个问题?

java spring hibernate permgen tomcat5.5

22
推荐指数
2
解决办法
1万
查看次数

标签 统计

java ×2

hibernate ×1

jvm-arguments ×1

permgen ×1

spring ×1

tomcat5.5 ×1