堆空间大小的设置

Java堆用于存储Java对象实例,堆的大小在JVM启动时就已经设定好了,可以通过选项“-Xmx”和“-Xms”来进行设置。

  • -Xms”用于表示堆区的起始内存,等价于-XX:InitialHeapSize
  • -Xmx”表示堆区的最大内存,等价于-XX:MaxHeapSize

一旦堆区中的内存超过-Xmx指定的最大内存,会抛出OutOfMemoryError异常,通常会将“-Xmx”和“-Xms”两个参数设置相同的值,目的是为了能够在Java垃圾回收机制清理完堆区后不需要重新分隔计算堆区的大小,从而提高性能。

在默认情况下,初始内存:物理电脑内存大小/64;最大内存大小:物理电脑内存大小/4

如何查看设置的参数?

  • 方法一:jps / jstat -gc 进程Id
  • 方法二:-XX:PrintGCDetails
posted @ 2020-10-02 17:56  Eleanor123  阅读(536)  评论(0编辑  收藏  举报