当前位置: 首页 > news >正文

大型商城网站建设方案东莞seo软件

大型商城网站建设方案,东莞seo软件,国外新冠疫情最新情况,南宁哪里做网站在使用Docker运行Elasticsearch(ES)时,可能会遇到内存不足的问题,导致ES无法启动。以下是一次完整的排查和解决过程。 问题描述 在启动ES时,日志提示如下错误: # Native memory allocation (mmap) failed…

在使用Docker运行Elasticsearch(ES)时,可能会遇到内存不足的问题,导致ES无法启动。以下是一次完整的排查和解决过程。


问题描述

在启动ES时,日志提示如下错误:

# Native memory allocation (mmap) failed to map 5368709120 bytes for committing reserved memory.
# There is insufficient memory for the Java Runtime Environment to continue.

通过进一步检查,发现Swap空间已满,内存也几乎耗尽。


环境信息

  • 主机内存总量:63G
  • Swap空间:2G(已满)
  • 主要运行的进程:
    • mongod(占用14.8GB内存)
    • java -jar parse_gx_20210903.jar(占用2.7GB内存)
    • 多个mongosh进程(每个占用约350MB内存)

排查步骤

  1. 检查内存和Swap使用情况

    使用以下命令查看主机的内存和Swap空间:

    free -h
    

    输出结果:

                  total        used        free      shared  buff/cache   available
    Mem:            63G         30G        4.8G         24G         28G        1.7G
    Swap:          2.0G        2.0G          0B
    

    字段含义说明

    • total: 总内存大小。

    • used: 已使用的内存量。

    • free: 空闲的内存量。

    • shared: 被共享内存占用的大小。

    • buff/cache: 系统用于缓冲区和缓存的内存量。

    • available: 可用内存量,这个值比free更准确,因为它考虑了缓存可以被释放的情况。

    • Swap空间已满。

    • 可用内存仅剩1.7G,说明内存压力较大。

  2. 列出高内存占用进程

    使用以下命令按内存占用排序列出进程:

    ps aux --sort=-%mem | head -n 15
    

    输出部分内容:

    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root     97476 17.2 22.3 16422848 14817344 ?   SLsl  2023 92351:21 mongod -f /mongo/config.conf
    root     16140  0.5  4.1 21645120 2755200 ?    Sl    2024 2948:47 java -jar parse_gx_20210903.jar
    root      1642  0.0  1.4 1590720 980608 ?      Ssl   2022  97:10 /usr/sbin/rsyslogd -n
    ...
    
  3. 分析结果

    • mongod进程占用内存最多,为14.8GB。
    • 一个Java进程占用2.7GB。
    • 多个mongosh进程共占用约4GB。

解决方案

  1. 释放内存占用

    暂时停止一些非必要的服务来释放内存。

    systemctl stop mongod
    
  2. 增加Swap空间

    为避免未来出现类似问题,可以增加Swap空间。

    # 创建一个新的Swap文件
    dd if=/dev/zero of=/swapfile bs=1G count=4
    chmod 600 /swapfile
    mkswap /swapfile
    swapon /swapfile
    

    检查是否生效:

    free -h
    
  3. 调整Elasticsearch的内存配置

    如果ES仍然报错,可以调整其JVM配置文件(jvm.options),降低内存需求。

    -Xms2g
    -Xmx2g
    
  4. 重启下mongo服务释放下内存

    docker restart mongo
    
  5. 重启服务

    释放内存或增加Swap后,重启Elasticsearch:

    docker restart elasticsearch
    

总结

通过上述步骤,我们成功解决了ES因内存不足无法启动的问题。总结关键点:

  • 定期监控内存和Swap使用情况。
  • 合理规划主机资源,避免服务之间竞争内存。
  • 增加Swap空间作为应急方案。
  • 重启占用内存大的mongo服务,可以释放一定内存
  • 优化ES配置,降低内存占用。
http://www.yidumall.com/news/89936.html

相关文章:

  • 新网管理网站个人如何做seo推广
  • 广东专业网站定制怎么在百度上发布个人文章
  • 做游戏代练去那个网站如何优化关键词排名快速首页
  • 企业网站建设计什么科目8大营销工具指的是哪些
  • 烟台百度网站建设网站在线客服系统免费
  • 松原做公司网站软文是什么东西
  • 马鞍山做网站公司排名网站seo百度百科
  • meta 手机网站社区推广
  • 上海公司黄页网站小红书seo是什么
  • 网站管理系统图片拼多多关键词排名查询工具
  • 做网站必须要公司才能做吗全国人大常委会
  • wordpress modelsseo含义
  • 和小学生做的黄色网站品牌seo主要做什么
  • 做流程图网站免费建立网站步骤
  • 空间一个数据库可以做几个网站sem管理工具
  • 公司专业网站建设广告门
  • 自助建网站系统看电影灰色关键词代发可测试
  • 网站关键词库seo网络优化招聘信息
  • 我国政府网站集约化建设的关键山东大学经济研究院
  • 优化网站内容如何自己做一个网页
  • 网站公司做网站优化关键词怎么做
  • 有哪些靠谱的建站公司优化大师最新版下载
  • 河南襄县做网站的公司网络营销出来可以干什么工作
  • 廊坊电商网站建设宁德市蕉城区疫情
  • 插件 wordpress关键词优化的五个步骤
  • 网站优化最牛逼的软件搜索引擎站长平台
  • 网站播放功能难做吗外链工具xg下载
  • 自己做网站商城需要营业执照吗下载百度网盘app
  • 淄博网站制作设计公司石家庄新闻网头条新闻
  • j2ee博客网站开发小红书软文案例