Weblogic にデプロイされた webapp に取り組んでいます。数回の再デプロイの後、PermGen のスペースが不足したため、webapp にクラスローダーのリークがあると結論付けなければなりませんでした...
私は Yourkit を使用してそのリークを調査していますが、どのクラス ローダーがリークしているのかさえわからないため、行き詰まっていることに気付きます。 . 名前からして、そうでないものもあると推測できますが、それでも多くの可能性が残されています。
アプリケーションを使用する前後のクラスローダーのリストを比較しようとしましたが(有効なアプローチですか?)、ほとんどのクラスローダーは同じクラスのカップルのインスタンスであるため、どのインスタンスかわかりません。私が興味を持っているものです。
Yourkit によって報告されるクラス ローダー クラスは次のとおりです。
- sun.misc.Launcher$AppClassLoader
- weblogic.utils.classloaders.GenericClassLoader
- weblogic.utils.classloaders.ChangeAwareClassLoader
- java.net.URLClassLoader sun.misc.Launcher$ExtClassLoader
- weblogic.servlet.jsp.JspClassLoader
- weblogic.diagnostics.query.QueryCompiler
- sun.reflect.DelegatingClassLoader
- javax.management.remote.rmi.NoCallStackClassLoader
これらのどれが Weblogic で Web アプリケーションのクラスをロードするために使用されているかを既に知っている場合は、Weblogic のドキュメントで見つけられなかったので、それは既に役に立ちます。そして、特定のクラスローダーインスタンスを見つけるための方法論を提案できる人はいますか?