Eli*_*337 2 java linux memory memory-leaks
当 Linux top 命令显示 Java 进程使用 14GB 内存而 Java 分析显示仅使用 2GB 内存时,可能的原因是什么?
这意味着您的 JVM/Java 应用程序正在使用堆外内存。很多。
malloc)。 这可能是某种内存泄漏,但不是堆对象的内存泄漏。
(说是-Xms的说法可能是错误的。如果JVM预先分配了一个巨大的初始堆而没有使用它,你就不会期望那么多“RES”内存。可以想象,堆真的得到了大并且缩小了大小,但是 JVM 还没有(还)将空间返还给操作系统。但是 AFAIK JVM在缩小堆大小时将内存释放回操作系统。)
如果您要深入了解这一点,您需要了解您的应用程序及其库依赖项在做什么。