Maven的最终内存输出

时间:2017-07-03 12:46:02

标签: java macos maven memory-management

有人可以解释一下最终记忆在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] ------------------------------------------------------------------------

是执行期间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

1 个答案:

答案 0 :(得分:2)

最终记忆计算如下:

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

所以第一个数字是实际使用的内存 消息,第二个是内存总量(都使用+ 可用)