我之前有点问过这个问题 - 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在我们使用上述选项时产生的消息.
这是我在NetBeans启动的Tomcat servlet容器实例中运行Web应用程序时遇到的错误.为了解决这个问题,我甚至在netbeans.conf中更改了堆大小,但仍显示相同的错误.我该如何防止这种情况发生?
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Servlet execution threw an exception
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
root cause
java.lang.OutOfMemoryError: Java heap space
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.
我正在使用Netbeans6.8中的Web应用程序开发并使用Jboss服务器来部署我的应用程序.我能够正确运行项目,但一段时间后我得到tgis错误
java.lang.OutOfMemoryError: PermGen space :
Run Code Online (Sandbox Code Playgroud)
之后,我必须重新启动我的JBoss服务器.有时我需要重新启动我的Netbeans IDE任何人都可以告诉我这个错误的原因以及如何避免这种情况
谢谢罗汉