Я хотел бы выяснить, нужно ли мне настраивать работающий в настоящий момент кластер ElasticSearch. Как мне проверить, использует ли запущенный процесс HotSpot сжатые сообщения oops или нет?
Вы можете использовать API информации об узлах кластера и проверить using_compressed_ordinary_object_pointers
поле в jvm
поле.
Например
curl -XGET 'http://localhost:9200/_nodes'
или
curl -XGET 'http://localhost:9200/_nodes/nodeId1'
Или более конкретно:
curl -XGET 'http://localhost:9200/_nodes/nodeId1,nodeId2/jvm?pretty'
отклик
...
"jvm" : {
"pid" : 14520,
"version" : "1.8.0_121",
"vm_name" : "OpenJDK 64-Bit Server VM",
"vm_version" : "25.121-b13",
"vm_vendor" : "Oracle Corporation",
"start_time_in_millis" : 1485817021479,
"mem" : {
"heap_init_in_bytes" : 5368709120,
"heap_max_in_bytes" : 5333843968,
"non_heap_init_in_bytes" : 2555904,
"non_heap_max_in_bytes" : 0,
"direct_max_in_bytes" : 5333843968
},
"gc_collectors" : [ "ParNew", "ConcurrentMarkSweep" ],
"memory_pools" : [ "Code Cache", "Metaspace", "Compressed Class Space", "Par Eden Space", "Par Survivor Space", "CMS Old Gen" ],
"using_compressed_ordinary_object_pointers" : "true"
},
...
Если вы проверите свои журналы ES, он скажет вам. По крайней мере, с версии 2.2.0.
Он покажет примерно такую строку:
[2015-12-16 13:53:33,417][INFO ][env] [Illyana Rasputin] heap size [989.8mb], compressed ordinary object pointers [true]
Это обрисовано примерно на полпути вниз этот статья, в которой, кстати, есть много полезной информации о размерах памяти ваших экземпляров / узлов ES.