我想知道如何找出某些线程消耗了多少RAM。
我的程序中大约有15个类,每个类都在自己的线程中运行。
那么我如何才能发现Thread1,Thread2,... Thread15使用了多少RAM?有什么办法吗?
感谢您的答复!
最佳答案
内存使用情况取决于JVM版本和操作系统。
所有线程共享一个公共堆。它们都有自己的堆栈,通常为512KB。
有两种方法可以查看每个线程的内存使用情况。首先,检查以下内容:
http://docs.oracle.com/javase/6/docs/jre/api/management/extension/com/sun/management/ThreadMXBean.html#getThreadAllocatedBytes%28long%29