如何获得 java 程序使用的最大内存

How to get maximum memory used by java program

有没有办法在 java 程序 运行 期间获取在任何给定点使用的峰值内存?到目前为止,我只看到了给出总内存消耗的解决方案。

您可以试试这个 JDK 工具来进行 heap 分析:

  • VisualVM
  • jstat(控制台tool

RSS mem 用法可以在 unix 上通过命令行工具 pstop 找到,或者通过 JDK 工具找到:

  • jcmd <pid> VM.native_memory detail.diff(java 过程应该是 运行 和 -XX:NativeMemoryTracking=summary JAVA_OPTS

RSS Peak 用法可以在 /proc/<pid>/status 文件中的 VmHWM 字段 (man) 的 linux 中找到。 =21=]