是什么导致JRE 6 JVM代码缓存泄漏?

Art*_*ght 17 java jvm memory-leaks

自从切换到JRE 6后,我的服务器代码缓存使用率(非堆)不断增长.我的应用程序在运行时创建了很多类,但这些类在GC过程中成功卸载.我可以看到这些类在gc日志中被卸载,而permGen的使用也保持不变.我特别确保在我的代码中,一旦我完成它们,这些类就是孤立的,所以他们正确地从permGen收集垃圾.

然而,代码缓存不断增长.切换到JRE 6后,我才意识到代码缓存.所以我想我的问题是:

  1. GC是否包含代码缓存?
  2. 具体来说,什么可能导致代码缓存内存泄漏.
  3. 这个领域的JDK 6中是否存在错误?

Tho*_*sen 0

是否可以针对麻烦的应用程序调用 jvisualvm(在 JDK 中)?它可能很容易让你对正在发生的事情变得更加明智。