JVM堆 - 有没有办法确定单个线程消耗多少堆?

时间:2011-01-28 14:01:32

标签: jvm heap-memory

有没有办法以编程方式(不使用分析器等)确定单个线程消耗多少堆内存?或者有没有办法设置线程消耗的内存限制?

(我认为这可以在Java7上使用 might

1 个答案:

答案 0 :(得分:1)

您可以使用ThreadMXBean.getThreadAllocatedBytes(long id)

  

返回指定ID的线程在堆内存中分配的内存总量(以字节为单位)的近似值。返回值是近似值,因为某些Java虚拟机实现可能使用对象分配机制,导致分配对象的时间与其大小记录的时间之间的延迟。