JVM的元空间利用

Metaspace utilization of JVM

我的应用程序在 docker 中运行时遇到问题。出乎意料的是,它在 30 分钟后崩溃了。由于我的应用程序处理哪个缓存,所以首先怀疑是内存利用率。我用谷歌搜索并发现使用 jstat -gcutil 命令我们可以监控堆 space 利用率。

I 运行 启动应用程序的命令,它显示 Metaspace 利用率为 98%,这很奇怪。

所以我的问题是,这种利用率是否表明我的应用程序正在使用 98% 的 OS 内存用于 JVM 进程,或者 98% 的 OS 内存可用于虚拟机 ?

它显示当前元空间占用率相对于当前元空间容量,即

    used / capacity

元空间 usedcapacitycommittedreserved 值在 .

中说明

这是一个相当无用的指标,因为元空间可以在应用程序生命周期中增长和收缩。