elasticsearch 出现“java.lang.OutOfMemoryError: Java heap space”

  默认情况下,Elasticsearch JVM默认使用最小和最大大小为2 GB的堆。迁移到生产环境时,配置堆大小以确保Elasticsearch堆足够的大很重要的。

  Elasticsearch将通过Xms(最小堆大小)和Xmx(最大堆大小)设置分配jvm.options中指定的整个堆。

  设置的值取决于服务器上可用的RAM(随机存取存储器,其实就是内存)量。建议的配置如下:

  1. 将最小堆大小(Xms)和最大堆大小(Xmx)设置为彼此相等。
  2. Elasticsearch可用的堆越多,它可用于缓存的内存就越多。但请注意,过多的堆可能会陷入长时间的垃圾收集暂停。所以设置的堆不能太大, 尽量设置到内存的50%
  3. Xmx设置为不超过物理RAM的50%,以确保有足够的物理内存给内核文件系统缓存。
  4. 内存heap size配置不要超过32G, 基本上大多数系统最多只配置到26G.

        

设置方法:

jvm.options目录在于安装目录  config/jvm.options

以下是如何通过jvm.options文件设置堆大小的示例

猜你喜欢

转载自www.cnblogs.com/chenmz1995/p/10412414.html