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

sta*_*low 1 java memory jvm memory-management runtime

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

Vit*_*lii 7

您可以尝试使用此 JDK 工具进行分析:

  • VisualVM
  • jstat(控制台工具

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

  • jcmd <pid> VM.native_memory detail.diff(java 进程应该使用-XX:NativeMemoryTracking=summary JAVA_OPTS运行)

RSS 峰值使用情况可以在 linux 上/proc/<pid>/statusVmHWM字段 ( man )中的文件中找到。