如何获得完整的内存使用统计信息

How to get complete memory usage statistics

我的 spark 应用程序 运行 在我们内部实验室的远程机器上。为了分析远程应用程序的内存消耗,使用本地机器上的 'attach mode'(在 jpenable 的帮助下)将远程应用程序 pid 附加到 JProfiler。

将远程应用程序附加到本地计算机中的 JProfiler 后,JProfiler 仅显示远程计算机的 5% 内存消耗,但是当我们运行 'top' 远程 Centos 机器上的命令,'top' 命令显示 72% 的内存消耗。而且我无法找到 JProfiler 应用程序的全部 72% 消耗。

请帮助我使用 JProfiler 应用程序获取整个内存消耗(即 72% 的内存使用量)统计信息。

top显示的是JVM保留的内存,不是实际使用的堆,所以不能比较这两个值。

此外,JVM 使用未出现在堆中的本机内存。 Java 分析器无法分析该内存。