Elasticsearch 2.4 jvm.options игнорируется в MacOS Mojave (установка Homebrew)

Я установил 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 ответ

Решение

Догадаться!

Вам необходимо изменить переменные среды, передаваемые через 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

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

Другие вопросы по тегам