ES为什么内存最好小于32G

ES是用java开发的
java32位虚拟机的寻址最大4G,64位理论上来说无限大,请参考java Object的header结构。
但是实际上64位的地址指针会导致一下问题:

  1. 增加了GC开销:64位对象引用需要占用更多的堆空间,留给其他数据的空间将会减少, 从而加快了GC的发生,更频繁的进行GC。
  2. 降低CPU缓存命中率:64位对象引用增大了,CPU能缓存的oop将会更少,从而降低了CPU缓存的效率。
    指针压缩技术可以解决这个问题,请参考
    JAVA指针压缩的实现原理
    指针压缩技术支持的理论最大内存为32G,但是最好小于这个值.
    超过这个值会导致指针压缩技术失效,会导致指针变成普通指针(64位),速度变慢了。
    ES限制这个小于32G就是这个原因,超过就效率变差了。

如果你的电脑内存大,可以开多个数据节点,但是这会导致另外一个问题,操作系统文件句柄个数是有限的,多个ES会争抢系统资源,总之一句话,还是要根据实际情况来选择你的配置。

ES内存为什么要占系统内容的50%

ES是用java开发的,底层是Lucene
ES内存中的内容会在lucene中也缓存一份,如果ES占的太大,lucene就需要把数据存到硬盘上
可以想象,当前情况下,硬盘io是速度最大的瓶颈。

ES为什么限制内存小于32G,为什么小于系统内容的50%相关推荐

  1. Elasticsearch堆内存为什么建议设置为31G(小于32G)?

    Elasticsearch 默认安装后设置的堆内存是 1 GB.对于任何一个业务部署来说, 这个设置都太小了.如果你正在使用这些默认堆内存配置,您的集群可能会出现问题. 这里有两种方式修改 Elast ...

  2. 堆内存超过32G时,为什么压缩指针失效

    对象内存布局: 对象头中的Class Pointer默认占8个字节,开启-XX:+UseCompressedOops后,为了节省空间压缩为4个字节,4*8=32位表示可寻址4G个对象,在内存空间小于3 ...

  3. es数据更新时间_京东到家订单中心系统mysql到es的转化之路

    原文:https://www.toutiao.com/i6796507988602389006 京东到家订单中心系统业务中,无论是外部商家的订单生产,或是内部上下游系统的依赖,订单查询的调用量都非常大 ...

  4. 剩余内存无法满足申请时,系统会怎么做?

    文章目录 前言 内存的分配机制 回收可回收内存的类型 如何在保证系统性能前提下回收内存 可回收类型角度: 调整文件页回收倾向 回收的方式角度: 尽早触发kswapd内核线程 从计算机CPU架构角度: ...

  5. 4g内存只有1.6g可用_32位系统可用内存小 遇到32位系统内存小的解决方法

    内存是CPU进行沟通的桥梁,我们计算机上所有的程序都是在内存中运行的,如果内存不够用,可能系统缓慢卡顿,甚至会造成系统崩溃.那今天小编就给大家介绍一下32位系统可用内存小的解决方法,感兴趣的小伙伴一起 ...

  6. 旧电脑 存储服务器 系统,爷爷级PC,用白菜价内存搭建内存硬盘操作系统,老系统飞起来。...

    认识众多玩家高手/拆客/DIY爱好者,查阅更多资源,一起学习技术知识 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 爷爷级PC,用白菜价内存搭建内存硬盘操作系统,老系统飞起来. 系统配置: ...

  7. linux 2g内存 64系统怎么样,电脑2g内存能装64位系统吗|2g内存装64位系统好不好

    大家都知道,电脑有32位和64位之分,而如果在电脑配置硬件可以的话,64位系统处理速度远超32位系统,所以很多人就想给电脑装64位系统,但是对于硬件配置相对比较低,比如电脑只有2g内存,那么电脑2g内 ...

  8. 32位计算机最大内存怎么算,windows32位系统支持多大内存 怎么查看计算机内存

    windows 32位系统支持多大内存?大家都知道,电脑有32位系统和64位系统之分,支持的内存也是不同的.最近有用户就特别好奇,32位的操作系统到底支持多大的内存呢?电脑又要如何查看计算机内存呢?假 ...

  9. linux系统安装内存测试,一种Linux系统下基于IDK内存注错的测试方法及系统与流程...

    本发明涉及计算机服务器的 技术领域: :,具体涉及到一种Linux系统下基于IDK内存注错的测试方法及系统. 背景技术: ::在服务器领域中,内存是服务器中重要的部件之一,它是与CPU进行沟通的桥梁. ...

最新文章

  1. 关于机器学习,不可不知的15个概念
  2. mysql join查询
  3. 图像拼接 Image-based only, no GPS/IMU data
  4. Python 列表的应用场景有哪些?你使用对了吗?
  5. 用C#实现win7下vs2008的激活(附学习交流代码)
  6. ffmpeg与ffserver的协同工作
  7. Django的View(视图)
  8. 【Web后端笔记】SQL Server与java数据类型对应
  9. c语言实现语音检测vad_TWS+AI?国芯发布超低功耗语音芯片,可能是目前最理想方案...
  10. Disabling contextual LOB creation as createClob()
  11. c语言中欧几里得模乘法逆元,扩展欧几里得算法同余方程模m乘法逆元详解
  12. java 读取office文件,java读取office文件
  13. RTP 包格式 详细解析
  14. android 图片自动移动位置信息,android – 使用翻译动画将ImageView从当前位置移动到固定位置...
  15. bugly android升级,android 新版本升级示例源码(bugly)
  16. perl学习(4) 子程序
  17. 小程序如何开通流量主
  18. 礼物帮手-论文(不全)
  19. 大咖云集,EI稳定检索,第14届机器学习与计算国际会议(ICMLC 2022)
  20. 小学数学加减法测试软件,小学数学加减乘除出题软件

热门文章

  1. 跳槽需要注意的七大点
  2. go每日新闻(2021-06-22)——毛老师的管理之道
  3. [二次剩余]求解二次剩余
  4. 二次剩余的判断(欧拉准则)
  5. JAVA内部类、外部类
  6. 前端开发学习常用网站网址及api接口(都是免费的)
  7. 《Eclipse的常用简单使用方法》
  8. 8个有效的网络营销策略
  9. 转:Cookie详解
  10. 软件自动化测试学习资料汇总