我在 docker 中运行的应用程序遇到问题。出乎意料的是,它在 30 分钟后崩溃。由于我的应用程序处理哪个缓存,因此首先怀疑的是内存利用率。我用谷歌搜索并使用 jstat -gcutil 命令发现我们可以监控堆空间利用率。
我在应用程序启动时运行了该命令,它显示元空间利用率为 98%,这很奇怪。
所以我的问题是,这种利用率是否表明我的应用程序将 98% 的操作系统内存用于 JVM 进程,或者 98% 的操作系统内存可用于 JVM?
它显示了当前元空间相对于当前元空间容量的占用,即
used / capacity
元空间used
、capacity
、committed
和reserved
值在这个答案中得到了说明。
这是一个相当无用的指标,因为元空间可以在应用程序生命周期中增长和收缩。