大家好,我想知道如何获取每个堆栈分配的内存大小(例如-Xss512k),
以及分配给PermGen空间的内存大小(例如XX:MaxPermSize=256m)?
我已经研究了以下内容:
但这些函数只返回有关堆空间的信息。
我们如何查询有关堆栈空间和PermGen空间的信息?
大家好,我想知道如何获取每个堆栈分配的内存大小(例如-Xss512k),
以及分配给PermGen空间的内存大小(例如XX:MaxPermSize=256m)?
我已经研究了以下内容:
但这些函数只返回有关堆空间的信息。
我们如何查询有关堆栈空间和PermGen空间的信息?
最简单的方法是:
List<MemoryPoolMXBean> memoryPoolMXBeans =
ManagementFactory.getMemoryPoolMXBeans();
for (MemoryPoolMXBean pool: memoryPoolMXBeans) {
out.println("pool: " + pool.getName());
out.println(" type: " + pool.getType());
out.println(" usage: " + pool.getUsage());
out.println();
}
此外,请查看如何确定最大堆栈大小限制? - 他们有一种方法可以获取传递给JVM的参数。