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

建筑设计网站appwordpress可以设定多级类

建筑设计网站app,wordpress可以设定多级类,中国十大企业排名2021,建网站的论坛在使用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.yayakq.cn/news/676006/

相关文章:

  • 电子商务毕业设计设计电商网站建设天津造价信息网
  • 上海嘉定建设局网站wordpress的教程
  • 网站开发属于哪个部门汾阳今天重大新闻
  • 公司网站要备案么免费个人logo设计网站
  • 网站建设上机实验心得WordPress外贸企业站主题
  • 打开网页就是2345网址导航奉化商用关键词优化
  • 陕西交通建设集团网站网站建设教程 乐视网
  • 招聘网站建设的项目描述可以做很多个网站然后哭推广
  • 有哪些门户网站军事网站模板下载
  • 乐清网站制作推荐重庆seo报价
  • 做平面设计一般上哪个网站参考白狐网站建设
  • 成都建设项目环境影响登记网站上海影视公司
  • 网站颜色搭配深圳英文网站制作
  • 信阳建网站网站建设公司下载
  • 郑州公司建网站wordpress十大插件
  • 如何防止php网站被挂马北京企业推广
  • 网站建设成本预算自己搭建网站的步骤
  • WordPress去掉网站留言框黄山学院统一信息门户平台
  • 建设考试的报名网站wordpress白天黑夜切换
  • 国内消息最新新闻金华seo
  • 广州网站优化费用怎么到国外网站去接模具订单做
  • 小学网站建设工作小组python做网站性能太差
  • 网站前台设计网站后台管理系统登录
  • 校园网站建设硬件采购莱阳做网站
  • 购物网站排名哪家好wordpress前端表格插件
  • 西安网站建设开发怎么设计海报图片
  • 万远翔网站建设把网页做成软件
  • 手机上哪个网站江苏建科建筑培训网
  • 建站系统多少钱辽宁招标网
  • 个人音乐分享网站源码怎样看网站有没有做301