我需要监视JVM Metaspace的使用情况。您可以在以下方面帮我吗?
如何找到使用的元空间大小?
使用以下命令,我找到了maxmetaspace和min元空间:
jmap -heap `ps -ef | grep java | grep -v grep | awk '{print $2}'` | grep -i Metaspace
但是如何找到当前使用的内存的值(value)呢?
最佳答案
您可以使用MemoryPoolMXBean
。
List<MemoryPoolMXBean> memPool = ManagementFactory.getMemoryPoolMXBeans();
for (MemoryPoolMXBean p : memPool)
{
if ("Metaspace".equals(p.getName())
{
... here you have the memory pool mx bean with information about he metaspace
}
}