私は非常に奇妙な問題を抱えています。私は Eclipse Equinox に基づく OSGi アプリケーションに取り組んでいます。これは OSGi Log Service (Equinox 実装) を使用して開発されたもので、現在、Apache Felix OSGi Log Service 実装でテストしています。
API/コード側では、すべて正常に動作します。OSGi ログ サービスは標準であるため、Equinox から Felix に問題なく交換できます。
ただし、この奇妙な動作を観察しました。アプリケーションをコンソール プログラムとして起動し、コンソールでログ出力を確認し、メモリ使用量を分析するために JVisualVM をアタッチしました。JVisualVM グラフは、80 MB の使用済みヒープを示しました。
13 時間後、平均ヒープ サイズが 220 MB に達したので、ヒープ ダンプを分析することにし、「ヒープ ダンプ」ボタンを押しました。この操作の後、JVisualVM グラフは 20(min)-35 の使用済みヒープを示しました。 (最大) MB (?!?!)、この値は一定でした。
「ヒープ ダンプ」操作で 200 mbs 近く解放できますか? はいの場合、なぜですか?
Equinox OSGi Log Service の実装でこの動作を見たことがないので、Felix Log がこの問題に関与していると思われます...
ありがとう