2011-01-28 3 views
3

プロファイラなどを使用しないでプログラム的に処理する方法は、単一スレッドが消費するヒープメモリの量を決定しますか?またはスレッドによって消費されるメモリに制限を設定する方法はありますか?JVMヒープ - 単一スレッドがどれくらいのヒープを消費するかを判断する方法はありますか?

は(私はこのmightはしかしJava7に可能だと思う)

+0

どういう意味ですか?スレッドによって使用される唯一のメモリーは、スタックとJVMのオーバーヘッドです。それはあなたが意味することですか? – skaffman

+0

私の答えが正しいかどうか教えてください。 –

答えて

1

あなたがThreadMXBean.getThreadAllocatedBytes(long id)使用することができます。

をするためにヒープメモリに割り当てられ、バイト単位で、メモリの総量の近似値を返します。指定されたIDのスレッド戻り値は近似値です.Java仮想マシンの実装によっては、オブジェクトが割り当てられてからそのサイズが記録されるまでに遅延が生じるオブジェクト割り当てメカニズムが使用される場合があるためです。

関連する問題