【es】es拉起不来,报内存错误,需要进行参数优化

 本站以分享各种运维经验和运维所需要的技能为主

《python零基础入门》:python零基础入门学习

《python运维脚本》: python运维脚本实践

《shell》:shell学习

《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战

《k8》暂未更新

《docker学习》暂未更新

《ceph学习》ceph日常问题解决分享

《日志收集》ELK+各种中间件

《运维日常》运维日常

《linux》运维面试100问

【es】es拉起不来,报内存错误,需要进行参数优化 

报错内容:

There is insufficient memory for the Java Runtime Environment to continue

4月 22 14:33:27  systemd-entrypoint[7077]: # There is insufficient memory for the Java Runtime Environment to continue.
4月 22 14:33:27  systemd-entrypoint[7077]: # Native memory allocation (mmap) failed to map 33285996544 bytes for committing reserved memory.
4月 22 14:33:27  systemd-entrypoint[7077]: # An error report file with more information is saved as:
4月 22 14:33:27  systemd-entrypoint[7077]: # /tmp/hs_err_pid7128.log
4月 22 14:33:27  systemd-entrypoint[7077]: error:
4月 22 14:33:27  systemd-entrypoint[7077]: OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x0000001001000000, 33285996544, 0) failed; error='Not e

优化

es的安装和配置是非常轻量级的,为满足多种不同的应用场景,底层提供多种数据结构支持,并做了大量的默认配置优化,部分配置针对具体的用户使用场景可能是冗余的,甚至可能造成性能的下降,需要根据实际业务场景做适当取舍,我们结合自身使用场景做了如下优化(文章中有疏漏或不正确的地方也欢迎点评指正)。

一、环境配置

sudo swapoff -a
# 禁用swapping,开启服务器虚拟内存交换功能会对es产生致命的打击
vm.max_map_count
# 在/etc/sysctl.conf文件中找到该参数,修改为655300后 执行sysctl -p,不然启动时会报值太小

二、内存优化

  常用的配置在两个文件里,分别是 elasticsearch.yml 和 jvm.options(配置内存)

  jvm.options主要是进行内存相关配置,elasticsearch默认给的1g,官方建议分配给es的内存不要超出系统内存的50%,预留一半给Lucene,因为Lucene会缓存segment数据提升检索性能;内存配置不要超过32g,如果你的服务器内存没有远远超过64g,那么不建议将es的jvm内存设置为32g,因为超过32g后每个jvm对象指针的长度会翻倍,导致内存与cpu的开销增大。

-Xms10g
-Xmx10g

一般都是设置相同的值。 

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值