我的java线程需要多少内存?

Vik*_*ain 17 java multithreading

有没有办法找出我的java线程在VM中占用多少内存?

例如,使用堆栈跟踪转储或其他一些方法.

谢谢

Mic*_*rdt 22

Java线程使用堆作为共享内存.各个线程有自己的堆栈(其中你可以通过设置大小-Xss命令行选项,默认情况下为512KB),但所有其他的内存(堆)不属于特定的线程,并要求一个特定线程的量有多大用简单没有意义.

  • 线程堆栈大小:"在x86 Solaris/Linux上,它在32位VM中为320k,在64位VM中为1024k.在Windows上,[...] 32位VM中的此值为320k,而在此位置为1024k. 64位虚拟机." [源(http://www.oracle.com/technetwork/java/hotspotfaq-138619.html#threads_oom) (8认同)