问题描述
有没有办法在java程序运行期间的任何给定点获得使用的峰值内存?到目前为止,我只看到了消耗总内存的解决方案。
解决方法
您可以尝试使用此 JDK 工具进行堆分析:
RSS mem 的用法可以通过命令行工具 ps
或 top
在 unix 上找到,或者通过 JDK 工具:
-
jcmd <pid> VM.native_memory detail.diff
(Java 进程应该使用 -XX:NativeMemoryTracking=summary
JAVA_OPTS 运行)
RSS 峰值 使用情况可以在 Linux 上的 /proc/<pid>/status
文件中的 VmHWM
字段 (man) 中找到。