Maven的最终内存输出

tuk*_*tuk 5 java macos memory-management maven

有人可以解释一下最终记忆在maven输出中的含义: -

[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 09:17 min (Wall Clock)
[INFO] Finished at: 2017-07-03T17:34:54+05:30
[INFO] Final Memory: 596M/2016M
[INFO] ------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

它是执行期间maven的峰值内存使用量吗?如果是,那么当我执行maven时如下: -

/usr/bin/time -l mvn clean package

它报告maximum resident set size为3671834624字节.

有人也可以告诉我为什么这两个数字不同,我怎样才能获得maven执行的峰值内存使用量?

环境:-

  • OS - MacOSX Sierra - 10.12.5(16F73)
  • Maven - 3.5

Dav*_*dze 3

最终内存计算如下:

r = Runtime.getRuntime()
getLogger().info( 
"Final Memory: " + ( r.totalMemory() - r.freeMemory() ) / MB + "M/" + r.totalMemory() / MB + "M" );  
Run Code Online (Sandbox Code Playgroud)

因此,第一个数字是消息发送时实际使用的内存,第二个数字是内存总量(已使用 + 可用)