メモリリークの可能性をトレースしていると、以下の現象にたどり着きました。Java 7 はインターンされた文字列または jmap を再利用していますか?
# jmap -ヒープ 9724 | grep インターン プロセス ID 9724 にアタッチしています。お待ちください... デバッガーが正常に接続されました。 サーバー コンパイラが検出されました。 JVM のバージョンは 23.3-b01 です 880048 バイトを占める 10526 個のインターン文字列。 # jmap -ヒープ 9724 | grep インターン プロセス ID 9724 にアタッチしています。お待ちください... デバッガーが正常に接続されました。 サーバー コンパイラが検出されました。 JVM のバージョンは 23.3-b01 です 878984 バイトを占める 10514 個のインターン文字列。 # jmap -ヒープ 9724 | grep インターン プロセス ID 9724 にアタッチしています。お待ちください... デバッガーが正常に接続されました。 サーバー コンパイラが検出されました。 JVM のバージョンは 23.3-b01 です 879720 バイトを占める 10519 個のインターン文字列。
環境: Linux バージョン 2.6.32-220.23.1.el6.centos.plus.x86_64 (mockbuild@c6b5.bsys.dev.centos.org) (gcc バージョン 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC ) ) #1 SMP Tue Jun 19 04:14:37 BST 2012
Java バージョン "1.7.0_07" Java(TM) SE ランタイム環境 (ビルド 1.7.0_07-b10) Java HotSpot(TM) 64 ビット サーバー VM (ビルド 23.3-b01、混合モード)