对于Java8来说,一般堆内存的初始容量为物理内存大小的1/64, 最大内存不超过物理内存的1/4或1G.
initial heap size
Larger of 1/64th of the machine's physical memory on the machine or some reasonable minimum. Before Java SE 5.0, the default initial heap size was a reasonable minimum, which varies by platform. You can override this default using the
-Xms
command-line option.maximum heap size
Smaller of 1/4th of the physical memory or 1GB. Before Java SE 5.0, the default maximum heap size was 64MB. You can override this default using the
-Xmx
command-line option.Note: The boundaries and fractions given for the heap size are correct for Java SE 5.0. They are likely to be different in subsequent releases as computers get more powerful.
参考:https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gc-ergonomics.html