2016-03-31 5 views
1

アプリケーションサーバーの1つでメモリ不足が発生したときに、Javaヒープダンプを分析していました。 Eclipse Memory Analyzerを使用していました。それは以下を報告した。ロードされた "akka.dispatch.Dispatcher $$アノン$ 1" の

1つのインスタンスが "sun.misc.Launcher $ AppClassLoader @ 0xc5602128" 675632768 (73.50パーセント)バイトを占有します。

  1. $$アノンとクラス名に$ 1が何を意味するのですか?
  2. ヒープスペースの73.5%を占めるオブジェクトは正確には何ですか?何が原因だろうか?

答えて

1
  1. 最初の匿名クラス。ソースコードを見ると、それはメールボックスだと思います。https://github.com/akka/akka/blob/master/akka-actor/src/main/scala/akka/dispatch/Dispatcher.scala#L89(特質で作成されたScalaオブジェクトは匿名クラスにコンパイルされます)
  2. 使用しているツールはメールボックスによって直接保持/参照されているオブジェクトを知ることができますメモリ。おそらく、俳優たちは単にメッセージを十分に速く処理していないでしょう。
関連する問題