11

JVM のメモリ使用量を読み取るスケジュールされたエグゼキュータを作成しています。実行中の JVM でメモリ統計を取得する 2 つの方法 (Runtime と MemoryMXBean) に遭遇しました。これらのメソッド間の対応は次のとおりです。

memoryMxBean.getHeapMemoryUsage().getUsed()      <=> runtime.totalMemory() - runtime.freeMemory()
memoryMxBean.getHeapMemoryUsage().getCommitted() <=> runtime.totalMemory()
memoryMxBean.getHeapMemoryUsage().getMax()       <=> runtime.maxMemory()

MemoryMXBean によって提供される追加のヒープ以外のメモリ使用量に関する情報を除いて、ランタイムよりもヒープを優先する必要がある理由、またはその逆の理由はありますか?

4

1 に答える 1

5

ありません。JMX Bean は外部からアクセスでき、hyperic (または nagios でさえも) のような管理ツールを対象としています - とにかくランタイムに委譲します。

于 2012-05-09T08:00:17.890 に答える