MaxHeapSize与子区域的容量

时间:2017-05-03 20:56:58

标签: memory jvm heap jmap

在java进程上运行jmap会将MaxHeapSize显示为3GB,请参阅下文

Heap Configuration:
MinHeapFreeRatio = 40
MaxHeapFreeRatio = 70
MaxHeapSize      = 3221225472 (3072.0MB)

但是,在将各个区域的容量总和为

Eden Space:
  capacity = 53542912 (51.0625MB)
  ...
From Space:
  capacity = 73728000 (70.3125MB)
  ...
To Space:
  capacity = 76283904 (72.75MB)
  ...
PS Old Generation
  capacity = 1065353216 (1016.0MB)
  ...
PS Perm Generation
  capacity = 253755392 (242.0MB)
  ...

它的总容量为1452.125MB。

为什么总容量不能达到MaxHeapSize?

1 个答案:

答案 0 :(得分:1)

当前容量!=最大可能容量。 GC可以调整内存区域,因为它认为适合各种目标。