私のJavaアプリケーションの現在のメモリ使用量を計算したいと思います。ただし、次のコードを使用しているときは、タスクマネージャに表示される内容と大きく異なります。Java:メモリ使用量を計算すると不正確な結果
Runtime rt = Runtime.getRuntime();
long usedMemory = (rt.totalMemory() - rt.freeMemory())/1024;
タスクマネージャーによれば、このプロセスは3.000.000 Kを消費します。実際にメモリ使用量が増加したときに2.015.203を計算し、1秒後に1.712.296を計算します。
同様の質問によれば、コードはうまくいくはずですが、なぜタスクマネージャーに比べて大きな違いがありますか?
JVisualVMレポートとは何ですか - タスクマネージャとは違いますか? –
あなたはタスクマネージャでどの列を見ていますか?多くのメモリ列があります。 –
なぜ知りたいですか?これは軽度の質問ではありません。 Javaは非常に洗練された管理環境であり、ほとんどすべての状況下で、OSに問い合わせることでプロセス管理の決定を下すべきではありません。 – kittylyst