Stucts应用引起的OutOfMemoryError

简介:

每次deploy Struct应用都会带来内存泄露的问题,原因很简单,但解决方案却一直没找到。

问题的原因,部的Struct应用一访问,就会向ThreadLocal加入一些Context信息。而Context相

关类都有WebappClassloader加载。undeploy应用之后,Context相关类因为ThreadLocal的引用

而无法unload,导致WebappClassloader无法unload,最终导致由WebappClassloader加载的所有类

都无法unload,java.lang.OutOfMemoryError: PermGen space出现。

看这个图就比较清楚了:

wKiom1ZxVLOARPi_AABu7hUEPh8471.png

多几次deploy/undeploy就会出现,有经验的同学请帮出出招。


本文转自 anranran 51CTO博客,原文链接:http://blog.51cto.com/guojuanjun/1725390

相关文章
|
11月前
|
IDE Java 开发工具
JVM-03内存区域与内存溢出异常(下)【OutOfMemoryError案例】
JVM-03内存区域与内存溢出异常(下)【OutOfMemoryError案例】
81 0
|
存储 Java C++
【JVM】StackOverflowError与OutOfMemoryError
【JVM】StackOverflowError与OutOfMemoryError
【JVM】StackOverflowError与OutOfMemoryError
|
监控 Java Linux
JVM相关 - StackOverflowError 与 OutOfMemoryError(下)
JVM相关 - StackOverflowError 与 OutOfMemoryError(下)
JVM相关 - StackOverflowError 与 OutOfMemoryError(下)
|
Java 编译器 Linux
JVM相关 - StackOverflowError 与 OutOfMemoryError(上)
JVM相关 - StackOverflowError 与 OutOfMemoryError(上)
JVM相关 - StackOverflowError 与 OutOfMemoryError(上)
|
存储 Java API
JVM 实战 OutOfMemoryError 异常
JVM 实战 OutOfMemoryError 异常
JVM 实战 OutOfMemoryError 异常
|
存储 Java API
JVM 实战 OutOfMemoryError 异常(下)
在《Java虚拟机规范》的规定里,除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError(下文称OOM)异常的可能。(本文主要是基于 jdk1.8 展开探讨)
129 0
|
存储 Java
JVM 实战 OutOfMemoryError 异常(上)
在《Java虚拟机规范》的规定里,除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError(下文称OOM)异常的可能。(本文主要是基于 jdk1.8 展开探讨)
137 0
JVM 实战 OutOfMemoryError 异常(上)
|
缓存 监控 Java
JVM源码分析之临门一脚的OutOfMemoryError完全解读
JVM源码分析之临门一脚的OutOfMemoryError完全解读
|
消息中间件 存储 分布式计算
JVM 直接内存溢出
直接内存 分配直接内存 Unsafe类的使用 ByteBuffer ByteBuffer源码 总结
JVM 直接内存溢出
|
存储 Java
PermGen OutOfMemory问题排查
PermGen OutOfMemory问题排查
150 0