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
Похоже, что один из них является просто символической ссылкой на другой, и изменение флагов памяти в любом из них абсолютно ничего не делает.