当前位置: 首页 > 知识库问答 >
问题:

AWS弹性搜索Java过程极限

澹台景山
2023-03-14

AWS文档明确了以下内容:Java进程限制

Amazon ES将Java进程限制为32 GB的堆大小。高级用户可以指定用于字段数据的堆的百分比。有关更多信息,请参见配置高级选项和JVM OutOfMemoryError。

弹性搜索实例类型的内存跨度最大可达500GB--所以我的问题(作为一个Java/JVM业余爱好者)是ElasticSearch运行了多少个Java进程?我假设一个500GB的ElasticSearch实例(r4.16xLarge.ElasticSearch)将以某种方式使用超过32GB的主机系统开销?

共有1个答案

狄侯林
2023-03-14

Elasticsearch使用一个Java进程(每个节点)。

实际上,正如所引用的,出于性能效率的原因,建议不要使用32GB RAM(JVM需要使用64bits指针,这会降低性能)。

另一个建议是为文件系统缓存保留内存,lucene大量使用文件系统缓存来将doc值和信息从磁盘加载到内存中。

根据您的工作负载,最好在单个500GB服务器上运行多个VM。您最好使用64GB-128GB的VM,每个VM分成31GB用于Elasticsearch,其余用于文件系统缓存。

  • 服务器上的多个VM意味着每个VM都是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)。我该怎么做? 谢谢

  • 很抱歉,但是ES的文档(http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index.html)让我感到困惑。 多亏了术语表,我理解了数据库、表和行的术语,但我阅读了文档的大部分部分,但我找不到答案: 为什么需要在索引创建中添加和?我确实在这里查看了http://www.elasticsearch.org/g