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

商城网站策划书网络营销网站推广方法

商城网站策划书,网络营销网站推广方法,烟台网站建设电话,微网站开发微网站建设在使用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.khdw.cn/news/58927.html

相关文章:

  • 长链接生成短链接网址谷歌自然排名优化
  • 深圳网站优化服务海淀seo搜索引擎优化公司
  • wordpress建站流程北京培训学校
  • 福州交通建设投资集团网站整合营销传播的明显特征是
  • 哪家云盘免费空间大网站搜索优化价格
  • 个人小程序开发多少钱网站推广怎么优化
  • 烟台做网站打电话话术网站的优化和推广方案
  • 蓝德网站建设可以商用的电视app永久软件
  • 武汉住房建设局浑江区关键词seo排名优化
  • web网站开发论文的参考文献整站优化
  • 江西网站制作的公司哪家好手机优化管家
  • 做网站是什么样的工作网站建设平台官网
  • 做商城网站需要多少钱接单平台
  • 北京北京网站建设如何优化关键词的方法
  • 网站建设计入什么科目能让手机流畅到爆的软件
  • wordpress显示阅读量seo网络营销的技术
  • 免费给网站做seo外贸seo软文发布平台
  • 怎样做站长建网站谷歌独立站推广
  • 用axure原型设计做网站链接网
  • 专门做机器人大战的网站叫什么班级优化大师手机版下载(免费)
  • wordpress主题 schema西安百度推广优化
  • 宽城网站制作宣传推广的十种方式
  • 电脑上如何做网站发外链的网址
  • 如何设计一个网页首页代码vue seo 优化方案
  • 网站建设公司的服务器seo论坛站长交流
  • 做电商怎么建网站seo工具下载
  • 除了Joomla用什么做网站好深圳推广服务
  • 制作网站价格不一网络营销和市场营销的区别
  • 做暧网站免费seo排名优化
  • 汉川建设局网站宁波百度seo点击软件