• Elasticsearch启动过程错误汇总


    1、内存不足

    由于ES是运行在JVM上,JVM本身除了分配的heap内存以外,还会用到一些堆外(off heap)内存。 在小内存的机器上跑ES,如果heap划分过多,累加上堆外内存后,总的JVM使用内存量可能超过物理内存限制。 如果swap又是关闭的情况下,就会被操作系统oom killer杀掉    修改ES中config目录下的jvm.options文件   命令:vim jvm.options

    -Xms1g
    -Xmx1g
    改为
    -Xms512m
    -Xmx512m

    2、初始化堆内存和最大堆内存设置不一致导致

    initial heap size [268435456] not equal to maximum heap size [536870912]; this can cause resize pauses and prevents mlockall from locking the entire heap

    翻译一下:

    初始堆大小[268435456]不等于最大堆大小[536870912];这可能导致调整大小暂停,并阻止mlockall锁定整个堆。

    解决办法:

    将初始化堆内存和最大堆内存设置为一样,即问题一的配置,这样,就避免了mlockall锁定整个堆。

    3、max_map_count过低

    max virtual memory areas vm.max_map_count [65536] is too low, increase to at least [262144]

    翻译一下:

    虚拟内存区域数量[65536]过低,至少增加到[262144]

    默认为65536,调整4倍即262144

    解决办法:

    此操作需要root权限

    在/etc/sysctl.conf文件最后添加一行

    vm.max_map_count=262144

    执行/sbin/sysctl -p 立即生效

  • 相关阅读:
    制作紧急启动光盘的内容
    开发短信发送程序的几则技巧
    Debugging WOW64
    SOS debug
    决定你高度的——是你对自己的要求(zt)
    Dialog Boxes
    Reference vs. Pointer
    DOCTYPE
    Win32 编程入门
    Assembly binding Configuration Files
  • 原文地址:https://www.cnblogs.com/John-2011/p/15111369.html
Copyright © 2020-2023  润新知