2014-10-07 65 views
0

我知道我的Java的Runtime对象可以报告JVM的内存使用情况。但是,我需要某个线程的内存使用情况。任何想法如何得到这个?获取线程的内存使用情况

我很感谢您的回答!

+1

每个线程都分配了一定数量的堆栈空间。这可以在JVM级别配置。找到你的JVM配置并检查它。 – 2014-10-07 15:51:44

回答

3

线程与虚拟机中的所有其他线程共享除堆栈和CPU周期以外的所有内容。线程创建的所有对象都与所有其他对象汇集在一起​​。

问题是定义线程的内存使用情况。它只是它创建的那些对象吗?如果这些对象随后被其他线程引用会怎么样?那么他们只计算一半吗?有关在其他地方创建的对象的情况,现在由此线程引用?

我知道没有工具试图测量单独线程的内存消耗。

+0

Thx为您的答案!不是那样吗?我真的必须弄清楚某个线程正在使用多少内存。我会很感激你的回复! – mrquad 2014-10-07 12:03:12

+0

@mrquad你可以试试这个:http://www.eclipse.org/mat/ – 2014-10-07 12:11:59

+1

它是一个独特的线程,还是有其他人喜欢它?如果有其他人喜欢它,那么也许你可以比较内存使用总量与使用少一个线程运行时的总内存使用量。 – 2014-10-07 13:32:32