这个主题有几个问题,我看了所有答案,但仍然存在相同的问题。我正在尝试对以前没有使用Spring的现有项目实施Spring Security。我成功地将其转换为Maven项目并添加了一个登录表单,没有任何问题。我继续进行更多更改,然后离开一天,第二天回来后,Tomcat开始抛出这个错误。我试图回滚我所做的更改,但没有任何改变,直到我禁用了项目的Maven特性。我一旦这样做,错误就消失了,一旦我配置成Maven项目,错误就会返回。
我尝试了其他stackoverflow答案中建议的以下事项:
提前感谢!在这一点上,任何建议都将有所帮助。
我要么得到两个错误中的一个,它们非常相似,只是堆栈跟踪不同。
更新: 正如评论中所建议的,这似乎完全显示了问题所在。Perm Gen被完全填满。这和jmap(另一张图片)显示的有什么区别?其中一个说是16MB且已满,另一个说是128MB且还有空间。我该如何增加此图片中的Perm Gen?
我尝试了其他stackoverflow答案中建议的以下事项:
- 在环境变量中添加_JAVA_OPTIONS -Xmx1024m用户变量
- 在环境变量中添加MAVEN_OPTS-Xmx1024m用户变量
- 在eclipse.ini中在-vmargs之后添加-XX:MaxPermSize = 128M和-XX:PermSize = 128M
- 将Java_OPTS设置为-XX:+ CMSClassUnloadingEnabled-XX:+CMSPermGenSweepingEnabled
- 在我的POM中添加-Xmx512m
- 在我的Tomcat启动配置中添加-XX:MaxPermSize = 512m和-XX:PermSize = 512m
提前感谢!在这一点上,任何建议都将有所帮助。
我要么得到两个错误中的一个,它们非常相似,只是堆栈跟踪不同。
java.lang.OutOfMemoryError: PermGen space
Exception in thread "main" java.lang.OutOfMemoryError: PermGen space
at java.lang.Throwable.getStackTraceElement(Native Method)
at java.lang.Throwable.getOurStackTrace(Throwable.java:591)
at java.lang.Throwable.printStackTrace(Throwable.java:462)
at java.lang.Throwable.printStackTrace(Throwable.java:451)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450)
java.lang.OutOfMemoryError: PermGen space
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2818)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1148)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1643)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
at org.apache.catalina.startup.ContextConfig.checkHandlesTypes(ContextConfig.java:1956)
at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:1919)
at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1806)
at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1765)
at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1751)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1255)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:882)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:317)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5081)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1033)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:774)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1033)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:291)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:727)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.startup.Catalina.start(Catalina.java:620)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
更新: 正如评论中所建议的,这似乎完全显示了问题所在。Perm Gen被完全填满。这和jmap(另一张图片)显示的有什么区别?其中一个说是16MB且已满,另一个说是128MB且还有空间。我该如何增加此图片中的Perm Gen?
![enter image description here](https://istack.dev59.com/FlKDv.webp)
![enter image description here](https://istack.dev59.com/gCpek.webp)
jvisualvm
并获取更多关于内存使用情况的信息。 - ug_MAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=??
有什么帮助吗? - rogerdpack