Javaプロセスによって特定の時間に使用されている合計ヒープサイズを調べたいので、を使用する必要がありますjmap
。
の出力jmap -heap <pid>
は私に次のようなものを与えます:
プロセスID2899に添付して、お待ちください... デバッガーが正常に接続されました。 サーバーコンパイラが検出されました。 JVMバージョンは14.2-b01です スレッドローカルオブジェクト割り当てを使用します。 2スレッドの並列GC ヒープ構成: MinHeapFreeRatio = 40 MaxHeapFreeRatio = 70 MaxHeapSize = 1258291200(1200.0MB) NewSize = 1048576(1.0MB) MaxNewSize = 4294901760(4095.9375MB) OldSize = 4194304(4.0MB) NewRatio = 8 SurvivorRatio = 8 PermSize = 16777216(16.0MB) MaxPermSize = 67108864(64.0MB) ヒープ使用量: PSヤングジェネレーション エデンスペース: 容量=119013376(113.5MB) 使用済み=117277608(111.84464263916016MB) 無料=1735768(1.6553573608398438MB) 98.54153536489882%使用 宇宙から: 容量=131072(0.125MB) 使用済み=81920(0.078125MB) 無料=49152(0.046875MB) 62.5%使用 宇宙へ: 容量=131072(0.125MB) 使用済み=0(0.0MB) 無料=131072(0.125MB) 0.0%使用 PSオールドジェネレーション 容量=954466304(910.25MB) 使用済み=80791792(77.04905700683594MB) 無料=873674512(833.2009429931641MB) 8.46460390077846%使用 PSパーマ生成 容量=57671680(55.0MB) 使用済み=41699008(39.76727294921875MB) 無料=15972672(15.23272705078125MB) 72.30413263494319%使用
これらの値の式を使用して、使用されている合計メモリを調べることはできますか?
Linuxでこれを見つける方法に関する他の提案は歓迎されますがjmap
、それらよりも好まれます。
ありがとう