elasticsearch,jvm,homebrew,elasticsearch-2.4,Java,elasticsearch,Jvm,Homebrew,Elasticsearch 2.4" /> elasticsearch,jvm,homebrew,elasticsearch-2.4,Java,elasticsearch,Jvm,Homebrew,Elasticsearch 2.4" />

Java Elasticsearch 2.4 jvm.options在MacOS Mojave(自制安装)上被忽略

Java Elasticsearch 2.4 jvm.options在MacOS Mojave(自制安装)上被忽略,java,elasticsearch,jvm,homebrew,elasticsearch-2.4,Java,elasticsearch,Jvm,Homebrew,Elasticsearch 2.4,我已经通过自制在mac电脑上安装了ElasticSearch 2.4。我想看看是否可以增加ElasticSearch的JVM堆大小 我在/usr/local/etc/elasticsearch/jvm.options -Xms8g -Xmx8g 然后,我使用brew services restart重新启动服务elasticsearch@2.4并运行curl localhost:9200/_nodes/stats/jvm?pretty检查jvm大小,但我得到了: "mem" : {

我已经通过自制在mac电脑上安装了ElasticSearch 2.4。我想看看是否可以增加ElasticSearch的JVM堆大小

我在
/usr/local/etc/elasticsearch/jvm.options

-Xms8g
-Xmx8g
然后,我使用brew services restart重新启动服务elasticsearch@2.4并运行
curl localhost:9200/_nodes/stats/jvm?pretty
检查jvm大小,但我得到了:

"mem" : {
      "heap_used_in_bytes" : 144690472,
      "heap_used_percent" : 13,
      "heap_committed_in_bytes" : 259522560,
      "heap_max_in_bytes" : 1038876672,
      "non_heap_used_in_bytes" : 62484680,
      "non_heap_committed_in_bytes" : 65093632,
      ...
为什么我的
Xms8g
Xmx8g
标志在
jvm.options
中被忽略,我应该如何使elsaticsearch尊重它们

我的行动一直基于:

找到了答案

您需要更改通过用于启动elasticsearch的
plist
传递的环境变量

/usr/local/cell中/elasticsearch@2.4/2.4.6/homebrew.mxcl。elasticsearch@2.4.plist
,在
环境变量
键下,添加:

<dict>
  <key>ES_HEAP_SIZE</key>
  <string>2g</string>
</dict>

堆大小
2g
注意,在
~/Library/LaunchAgents/homebew.mxcl.elasticsearch.plist
中还有另一个
plist
。由于重新启动时会被
brew服务
覆盖,因此更改此选项不会起任何作用

同样值得注意的是,有两个
jvm.options
文件可用于在系统上可见的ElasticSearch:

  • /usr/local/cell/elasticsearch@2.4/2.4.6/libexec/config

  • /usr/local/etc/elasticsearch/jvm.options

  • -Xms8g
    -Xmx8g
    
看起来其中一个只是另一个的符号链接,而更改其中任何一个的内存标志都毫无用处