Class 加载跟踪有多个 [Loaded GregorSamsa from __JVM_DefineClass__] 条目导致 Perm gen Out Of memory

Class Load trace has Multiple entries of [Loaded GregorSamsa from __JVM_DefineClass__] causing Perm gen Out Of memory

我们什么时候在控制台中看到下面的行? class 以下的多个条目会导致 PermGen OutOfMemory 问题。 [从 JVM_DefineClass]

加载 GregorSamsa

这是在 Weblogic 10 上。3.x java 版本“1.6.0_26” Java(TM) SE 运行环境(build 1.6.0_26-b03)

我们能够从 JVM_DefineClass 获得 [Loaded GregorSamsa] 的踪迹]

我们为我们的应用程序打开了一个 JMX 端口并通过 visualvm 对其进行监控。它显示 GregorSamsa class 每次我们有

时都会加载
<x:transform> 

从我们的任何 jsp 调用的标签。这实际上是创建 xls 文件的 XSLT 转换。

每次触发此 jsp 并执行所述标记时,它都会加载 GregorSamsa class。这导致 Perm Gen space 快速填满。删除 -xnoclassgc 的 JVM 参数帮助我们卸载不需要的 classes 并减少 perm gen space。