ElasticSearch 推荐内存分配

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: ElasticSearch 推荐内存分配

内存分配


机器内存小于64GB

当机器内存小于 64G 时,遵循通用的原则,50% 给 ES,50% 留给 lucene。

因为ES不止需要内存存储,他也同样需要空余的内存来提供更加快速的查询性能,这一切都源于底层的lucene,它能够很好的利用我们操作系统的内存,其中50%就是最佳的配比。


机器内存等于64GB

最佳的配比,遵循 1 : 1 的内存进行配置。

也就是说ES配置32G,闲置空间32G (用作lucene查询).

机器内存大于64GB

如果整台机器上只部署ES,那也是非常不恰当的,

因为在Java中,所有对象都分配在堆上并由指针引用。普通的对象指针(OOP)指向这些对象,传统上它们是CPU本地字的大小:32位或64位,取决于处理器。

对于32位系统,这意味着最大堆大小为4 GB。对于64位系统,堆大小可能会变得更大,但是64位指针的开销意味着仅仅因为指针较大而存在更多的浪费空间。并且比浪费的空间更糟糕,当在主存储器和各种缓存(LLC,L1等等)之间移动值时,较大的指针消耗更多的带宽。

Java使用称为压缩oops的技巧来解决这个问题。而不是指向内存中的确切字节位置,指针引用对象偏移量。这意味着一个32位指针可以引用40亿个对象,而不是40亿个字节。最终,这意味着堆可以增长到约32 GB的物理尺寸,同时仍然使用32位指针。

一旦你穿越了这个神奇的〜32 GB的边界,指针就会切换回普通的对象指针。每个指针的大小增加,使用更多的CPU内存带宽,并且实际上会丢失内存。实际上,在使用压缩oops获得32 GB以下堆的相同有效内存之前,需要大约40-50 GB的分配堆。

以上小结为:即使你有足够的内存空间,尽量避免跨越32GB的堆边界。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
5天前
|
监控 数据可视化 Java
Elasticsearch JVM 堆内存使用率飙升,怎么办?
Elasticsearch JVM 堆内存使用率飙升,怎么办?
11 0
|
12月前
|
缓存 自然语言处理 安全
白话Elasticsearch67-不随意调节jvm和thread pool的原因&jvm和服务器内存分配的最佳实践
白话Elasticsearch67-不随意调节jvm和thread pool的原因&jvm和服务器内存分配的最佳实践
121 0
|
12月前
|
缓存 自然语言处理 监控
白话Elasticsearch52-深入聚合数据分析之fielddata内存控制、circuit breaker短路器、fielddata filter、预加载机制以及序号标记预加载
白话Elasticsearch52-深入聚合数据分析之fielddata内存控制、circuit breaker短路器、fielddata filter、预加载机制以及序号标记预加载
79 0
|
12月前
|
算法 数据挖掘 索引
白话Elasticsearch47-深入聚合数据分析之Cardinality Aggs-cardinality算法之优化内存开销以及HLL算法
白话Elasticsearch47-深入聚合数据分析之Cardinality Aggs-cardinality算法之优化内存开销以及HLL算法
117 0
|
12月前
|
存储 缓存 JSON
带你读《Elastic Stack 实战手册》之84:——4.3.3.Elasticsearch 性能优化之内存和熔断浅析(上)
带你读《Elastic Stack 实战手册》之84:——4.3.3.Elasticsearch 性能优化之内存和熔断浅析(上)
323 0
带你读《Elastic Stack 实战手册》之84:——4.3.3.Elasticsearch 性能优化之内存和熔断浅析(上)
|
12月前
|
缓存 监控 Java
带你读《Elastic Stack 实战手册》之84:——4.3.3.Elasticsearch 性能优化之内存和熔断浅析(中)
带你读《Elastic Stack 实战手册》之84:——4.3.3.Elasticsearch 性能优化之内存和熔断浅析(中)
272 0
带你读《Elastic Stack 实战手册》之84:——4.3.3.Elasticsearch 性能优化之内存和熔断浅析(中)
|
12月前
|
存储 运维 Java
《Elastic(中国)基础开发宝典》——Elasticsearch内存管理和故障排除
《Elastic(中国)基础开发宝典》——Elasticsearch内存管理和故障排除
|
存储 运维 安全
【Elastic Engineering】Elasticsearch:管理 Elasticsearch 内存并进行故障排除
Elasticsearch:管理 Elasticsearch 内存并进行故障排除
309 0
【Elastic Engineering】Elasticsearch:管理 Elasticsearch 内存并进行故障排除
|
存储 缓存 算法
|
16天前
|
Linux
Linux rsyslog占用内存CPU过高解决办法
该文档描述了`rsyslog`占用内存过高的问题及其解决方案。
40 4