我们在 Amazon ECS 上的 docker 容器中运行 Elasticsearch。我们注意到堆随着时间的推移略有增加。我们第一次注意到它是当它提高到70%以上并开始丢弃请求(index.breaker.total.limit)时。
问题是我从来没有见过减少的堆,感觉很腥!
到目前为止,我们已经增加了实例大小,现在运行具有 30G 内存的实例。堆设置为大约一半的内存,ES_HEAP_SIZE=14g (Xmx=Xms=14g)。
还有其他人有类似的经历?它是 Elasticsearch 中的一个错误吗?还是只是配置不正确?
弹性搜索版本:1.5.1
> curl localhost:9200/_cat/fielddata?v
id host ip node total position deal_status heading.sortorder org_relationlastmodified deal_value deal_probability 1_ZipCodeVisit_0 tag employer_tag 1_CityVisit_0 dateofregistration temperature uniqueId _type quick_ratio org_relation employer_relationlastmodified turnover turnover_per_employee deal_source employer_relation deal_statusdate 1_custom_1466 average_salary_per_employee deal_orderdate 0_NumberOfEmployeesRange_20 1_LegalForm_0 1_custom_1816 0_WorksiteType_100 0_LineOfBusiness_2 equity_ratio profitmargin 0_LineOfBusiness_1 0_CountyVisit_40 0_NumberOfEmployeesRange_22 0_MunicipalityVisit_61 0_LegalForm_110 dividends 1_custom_1744 0_MunicipalityVisit_60 responsiblecoworker result_before_tax
XMTlkdnsToKvMHqgApMBAg 5dc819096905 172.17.0.2 Hitman 729.8mb 8.1mb 1.1mb 261.5mb 1.7mb 305.3kb 849.1kb 20.9mb 6.4mb 1.3mb 19.3mb 12.3mb 0b 283.7mb 9.6mb 5.1mb 810.5kb 632.2kb 11.6mb 4.1mb 150.8kb 566.4kb 568.6kb 34.1kb 4.2mb 973.5kb 5.7mb 4.6mb 37.4kb 4.9mb 8.1mb 4.7mb 4.2mb 9.2mb 3.3mb 4.2mb 802.9kb 3.9mb 4.3mb 37.7kb 7.5mb 2.4mb 5mb
dHAoWkHMQKSnwAB0KrJRJw 8ffc068518f9 172.17.0.2 Moira Brandon 718.9mb 8.2mb 1.1mb 261.5mb 1.3mb 124kb 793.3kb 19.6mb 6.4mb 1mb 19.1mb 10.2mb 0b 283.8mb 9.6mb 5.2mb 714.7kb 791.3kb 8.8mb 3.4mb 0b 422.6kb 83.9kb 16.8kb 4.6mb 989.4kb 5.6mb 4.5mb 0b 5.2mb 7.9mb 4.1mb 4.3mb 9mb 3.2mb 4.3mb 0b 3.8mb 4.3mb 0b 7.1mb 2.5mb 4.4mb
[更新 2016-10-24]我们已经更新到2.4.0版,但我们仍然遇到同样的问题。如果我强制使用 GC,堆将释放到大约 4%,这与新实例的值相同。
对于具有 73% 堆的实例,jvm mem 显示旧的大约是 10G,不确定这是否正常
jvm mem heap percent 73%
"young": "used_in_bytes" : 199026920
"survivor": "used_in_bytes" : 2422528
"old": "used_in_bytes" : 10754631392
是什么触发了 GC?我们应该让堆增加到 70% 以上吗?
这可能与 2.X 之前版本中的这种已知行为有关,主要影响 Kibana,但我想也影响 elasticsearch。
请参阅此 github 问题 : https://github.com/elastic/kibana/issues/5170
在您的情况下可能相同,基本上归结为此节点问题:https://github.com/nodejs/node/issues/2683
也可能是 ES 中的配置不理想。在 elasticsearch config 中寻找这个常见的嫌疑人:
bootstrap.mlockall: true
你有很多分片/副本吗?你也使用木花吗?
在学习ElasticSearch的过程中,我偶然发现并没有得出最终结论。 ElasticSearch的最大碎片大小是多少
我使用Elasticsearch允许用户输入要搜索的术语。例如,我要搜索以下属性'name': 如果使用以下代码搜索或,我希望返回此文档。 我尝试过做一个bool must和做多个术语,但它似乎只有在整个字符串都匹配的情况下才起作用。 所以我真正想做的是,这个词是否以任何顺序包含两个词。 有人能帮我走上正轨吗?我已经在这上面砸了一段时间了。
当我执行ps-aef grep elasticsearch HeapDumpOnOutOfMemoryError时看到了这一点 501 373 47 1 0 2:29pm ttys004 0:04.14/usr/bin/Java-xms4g-xmx4g-xss256k-djava.awt.headless=true-xx:+useparnewgc-xx:+useparnewgc-xx:+usepa
我从ElasticSearch得到以下错误。 我在Ubuntu上运行Elasticsearch 1.7.2。 我做错了什么?
我有以下格式的弹性搜索文档 } } 我的要求是,当我搜索特定字符串(string.string)时,我只想获得该字符串的FileOffSet(string.FileOffSet)。我该怎么做? 谢谢
我们继续充实我们应用程序的功能。如今,我们添加搜索。GTK+在GtkSearchEntry和Gtksearchbar中支持这个功能。搜索条是一个可以嵌入顶端来展现搜索输入。 我们在头栏增加一个开关按钮,他可以用来滑出头栏下的搜索条。 <?xml version="1.0" encoding="UTF-8"?> <interface> <!-- interface-requires gtk+ 3
很抱歉,但是ES的文档(http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index.html)让我感到困惑。 多亏了术语表,我理解了数据库、表和行的术语,但我阅读了文档的大部分部分,但我找不到答案: 为什么需要在索引创建中添加和?我确实在这里查看了http://www.elasticsearch.org/g
我尝试使用https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-docs-get.html弹性搜索文档,从我刚刚创建的索引中获取文档 我的整个代码是: 给出集群的名称(如果在ElasticSearch.yml中更改)Java ElasticSearch没有配置的节点可用NoNodeAvailableEx