默認情況下,Elasticsearch JVM默認使用最小和最大大小為2 GB的堆。遷移到生產環境時,配置堆大小以確保Elasticsearch堆足夠的大很重要的。
Elasticsearch將通過Xms(最小堆大小)和Xmx(最大堆大小)設置分配jvm.options中指定的整個堆。
設置的值取決於服務器上可用的RAM(隨機存取存儲器,其實就是內存)量。建議的配置如下:
- 將最小堆大小(Xms)和最大堆大小(Xmx)設置為彼此相等。
- Elasticsearch可用的堆越多,它可用於緩存的內存就越多。但請注意,過多的堆可能會陷入長時間的垃圾收集暫停。所以設置的堆不能太大, 盡量設置到內存的50%。
- 將Xmx設置為不超過物理RAM的50%,以確保有足夠的物理內存給內核文件系統緩存。
- 內存heap size配置不要超過32G, 基本上大多數系統最多只配置到26G.
設置方法:
jvm.options目錄在於安裝目錄 config/jvm.options
以下是如何通過jvm.options文件設置堆大小的示例

