首页 > 解决方案 > 如何获取java程序使用的最大内存

问题描述

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

标签: javamemorymemory-managementjvmruntime

解决方案


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

  • VisualVM
  • jstat(控制台工具

RSS mem的使用可以通过命令行工具pstopJDK 工具在 unix 上找到:

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

RSS 峰值使用情况可以在 linux 上的/proc/<pid>/statusfile in VmHWMfield ( man ) 中找到。


推荐阅读