7

下图是否表明我正在使用内存并且它没有被垃圾收集?

在此处输入图像描述

一旦我开始使用较少的堆,我预计橙色图(分配的堆)会下降。

  • 这是一个无效的假设吗?
  • 一旦分配,堆在程序关闭之前不会缩小吗?
4

1 回答 1

10

从图中可以清楚地看出,您的 JVM 能够缩小堆。这可以从橙色线在下午 3 点 10 分之前略微下降中看出。

但是,稍后 JVM 选择不收缩堆。这几乎可以肯定是因为未使用的堆的比例不够大。行为由-XX:MinHeapFreeRatio和控制-XX:MaxHeapFreeRatio

有关讨论,请参阅http://stopcoding.wordpress.com/2010/04/12/more-on-the-incredible-shrinking-jvm-heap/

于 2013-02-04T22:19:20.503 回答