我有1 GB的内存分配给JVM。我想生成执行某些功能的多个线程。我怎么知道单个线程占用了多少JVM空间。
答案 0 :(得分:0)
这取决于您的JVM。对于HotSpot,可以使用java
应用程序启动器VM选项来设置线程堆栈的大小:
XX:ThreadStackSize=512
答案 1 :(得分:0)
如果您使用的是Oracle JVM:
Thread t = new Thread(); //to simulate your thread
com.sun.managment.ThreadMXBean tmxb = ManagmentFactory.getThreadMXBean();
long mem = tmxb.getThreadAllocatedBytes(t.getId());