暂无图片
elasticsearch 多个bucket把内存耗了很多堆内存,如何优化?
我来答
分享
暂无图片 匿名用户
elasticsearch 多个bucket把内存耗了很多堆内存,如何优化?

elasticsearch 多个bucket把内存耗了很多堆内存,如何优化?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
吾亦可往
  1. 设置ES_HEAP_SIZE环境变量,保证JVM使用的最大和最小内存用量相同。如果设置的最小和最大内存不一样,这意味着当jvm需要额外的内存时(最多达到最大内存的大小),它会阻塞java进程来分配内存给它。结合使用旧版本的java情况就可以解释为什么集群中的节点会停顿、出现高负载和不断的进行内存分配的情况。elasticsearch团队建议给es设置50%的系统内存。

  2. 调整线程池和队列大小。磁盘存储raid方式——存储有条件使用RAID6,增加单节点性能以及避免单节点存储故障。

  3. 修改配置项为尽量大的内存:ES_MIN_MEM=8g ES_MAX_MEM=8g 两者最好改成一样的,否则容易引发长时间GC(stop-the-world) elasticsearch默认使用的GC是CMS GC,如果你的内存大小超过6G,CMS是不给力的,容易出现stop-the-world,建议使用G1 GC。

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏