elasticsearch _JAVA_选项未设置-Xmx
我正试图让Elasticsearch在我的windows机器上运行,但出现了一个错误,“无法创建Java虚拟机。” Windows 10,32GB内存,64位elasticsearch _JAVA_选项未设置-Xmx,elasticsearch,jvm,windows-10,elasticsearch,Jvm,Windows 10,我正试图让Elasticsearch在我的windows机器上运行,但出现了一个错误,“无法创建Java虚拟机。” Windows 10,32GB内存,64位 JVM 1.8.0_201 Elasticsearch 6.6.1与msi安装程序一起安装,而不是作为服务安装 Elasticsearch要求的堆大小略大于3GB,因此我设置了(并尝试注释了)jvm.options: -Xmx4096m -Xms4096m 但是我得到了可怕的JVM错误。我确信这个错误是由jvm堆大小太小引起的。因此,我
JVM 1.8.0_201
Elasticsearch 6.6.1与msi安装程序一起安装,而不是作为服务安装 Elasticsearch要求的堆大小略大于3GB,因此我设置了(并尝试注释了)jvm.options:
-Xmx4096m
-Xms4096m
但是我得到了可怕的JVM错误。我确信这个错误是由jvm堆大小太小引起的。因此,我将环境变量_JAVA_OPTIONS设置为“-Xms512m-Xmx6144m”
如果我跑步:
java -XX:+PrintFlagsFinal -version | findstr /i "HeapSize PermSize ThreadStackSize"
我得到:
Picked up _JAVA_OPTIONS: -Xms512m -Xmx6144m
intx CompilerThreadStackSize = 0 {pd product}
uintx ErgoHeapSizeLimit = 0 {product}
uintx HeapSizePerGCThread = 87241520 {product}
uintx InitialHeapSize := 536870912 {product}
uintx LargePageHeapSizeThreshold = 134217728 {product}
uintx MaxHeapSize := 2147483648 {product}
intx ThreadStackSize = 0 {pd product}
intx VMThreadStackSize = 0 {pd product}
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
您可以看到它“拾取”了JAVA选项,但MaxHeapSize仍在2GB左右。我也尝试过以管理员的身份运行弹性搜索,并强制jvm以管理员的身份运行,但这并没有帮助。这似乎是一个常见的问题,但答案是有限的,没有一个对我有效
编辑
我在Ubuntu18服务器上使用相同的java和ES版本运行Elasticsearch
ES设置为:
-Xms1g
-Xmx1g
jvm的MaxHeapSize=1056309248(1GB)。它工作得很好
我不明白为什么Windows安装要求3GB堆大小,为什么jvm不能提供它。说env变量名应该是ES\u JAVA\u OPTS
。
您也可以不使用它,而是依赖默认的最大堆大小,在您的情况下,该大小应为~8GB(可用内存的1/4)。我发誓我在没有环境变量的情况下尝试过它,但我必须在处理早期错误时尝试过它。现在可以了。谢谢