Elasticsearch 2.4 jvm.options игнорируется в MacOS Mojave (установка Homebrew) - PullRequest
0 голосов
/ 03 января 2019

Я установил ElasticSearch 2.4 на свой Mac через HomeBrew. Я пытаюсь понять, могу ли я увеличить размер кучи JVM для ElasticSearch.

Я изменил следующие строки (чтобы установить размер кучи на 8 гигов) в /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

1 Ответ

0 голосов
/ 03 января 2019

Разобрался!

Вам нужно изменить переменные среды, передаваемые через plist, используемый для запуска эластичного поиска.

В /usr/local/Cellar/elasticsearch@2.4/2.4.6/homebrew.mxcl.elasticsearch@2.4.plist, под клавишей <key>EnvironmentVariables</key> добавьте:

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

Осторожно, есть еще plist, существующий в ~/Library/LaunchAgents/homebrew.mxcl.elasticsearch.plist.Изменение этого значения ничего не дает, поскольку при перезапуске оно перезаписывается на brew services.

Также следует отметить, что в вашей системе есть два jvm.options файла для ElasticSearch:

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

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

Похоже, что один из них является просто символической ссылкой на другой, и изменениеФлаги памяти в любом из них абсолютно ничего не делают.

...