欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker容器中Elasticsearch內(nèi)存不足問(wèn)題的排查與解決方案

 更新時(shí)間:2025年08月21日 10:38:34   作者:一勺菠蘿丶  
在使用Docker運(yùn)行Elasticsearch(ES)時(shí),可能會(huì)遇到內(nèi)存不足的問(wèn)題,導(dǎo)致ES無(wú)法啟動(dòng),以下是一次完整的排查和解決過(guò)程,需要的朋友可以參考下

在使用Docker運(yùn)行Elasticsearch(ES)時(shí),可能會(huì)遇到內(nèi)存不足的問(wèn)題,導(dǎo)致ES無(wú)法啟動(dòng)。以下是一次完整的排查和解決過(guò)程。

問(wèn)題描述

在啟動(dòng)ES時(shí),日志提示如下錯(cuò)誤:

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

通過(guò)進(jìn)一步檢查,發(fā)現(xiàn)Swap空間已滿,內(nèi)存也幾乎耗盡。

環(huán)境信息

  • 主機(jī)內(nèi)存總量:63G
  • Swap空間:2G(已滿)
  • 主要運(yùn)行的進(jìn)程:
    • mongod(占用14.8GB內(nèi)存)
    • java -jar parse_gx_20210903.jar(占用2.7GB內(nèi)存)
    • 多個(gè)mongosh進(jìn)程(每個(gè)占用約350MB內(nèi)存)

排查步驟

檢查內(nèi)存和Swap使用情況

使用以下命令查看主機(jī)的內(nèi)存和Swap空間:

free -h

輸出結(jié)果:

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

字段含義說(shuō)明

  • total: 總內(nèi)存大小。
  • used: 已使用的內(nèi)存量。
  • free: 空閑的內(nèi)存量。
  • shared: 被共享內(nèi)存占用的大小。
  • buff/cache: 系統(tǒng)用于緩沖區(qū)和緩存的內(nèi)存量。
  • available: 可用內(nèi)存量,這個(gè)值比free更準(zhǔn)確,因?yàn)樗紤]了緩存可以被釋放的情況。
  • Swap空間已滿。
  • 可用內(nèi)存僅剩1.7G,說(shuō)明內(nèi)存壓力較大。

列出高內(nèi)存占用進(jìn)程

使用以下命令按內(nèi)存占用排序列出進(jìn)程:

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

輸出部分內(nèi)容:

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
...

分析結(jié)果

  • mongod進(jìn)程占用內(nèi)存最多,為14.8GB。
  • 一個(gè)Java進(jìn)程占用2.7GB。
  • 多個(gè)mongosh進(jìn)程共占用約4GB。

解決方案

釋放內(nèi)存占用

暫時(shí)停止一些非必要的服務(wù)來(lái)釋放內(nèi)存。

systemctl stop mongod

增加Swap空間

為避免未來(lái)出現(xiàn)類似問(wèn)題,可以增加Swap空間。

# 創(chuàng)建一個(gè)新的Swap文件
dd if=/dev/zero of=/swapfile bs=1G count=4
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

檢查是否生效:

free -h

調(diào)整Elasticsearch的內(nèi)存配置

如果ES仍然報(bào)錯(cuò),可以調(diào)整其JVM配置文件(jvm.options),降低內(nèi)存需求。

-Xms2g
-Xmx2g

重啟下mongo服務(wù)釋放下內(nèi)存

docker restart mongo

重啟服務(wù)

釋放內(nèi)存或增加Swap后,重啟Elasticsearch:

docker restart elasticsearch

總結(jié)

通過(guò)上述步驟,我們成功解決了ES因內(nèi)存不足無(wú)法啟動(dòng)的問(wèn)題。總結(jié)關(guān)鍵點(diǎn):

  • 定期監(jiān)控內(nèi)存和Swap使用情況。
  • 合理規(guī)劃主機(jī)資源,避免服務(wù)之間競(jìng)爭(zhēng)內(nèi)存。
  • 增加Swap空間作為應(yīng)急方案。
  • 重啟占用內(nèi)存大的mongo服務(wù),可以釋放一定內(nèi)存
  • 優(yōu)化ES配置,降低內(nèi)存占用。

到此這篇關(guān)于Docker容器中Elasticsearch內(nèi)存不足問(wèn)題的排查與解決方案的文章就介紹到這了,更多相關(guān)Docker Elasticsearch內(nèi)存不足內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • docker-compose使用volumes注意項(xiàng)介紹

    docker-compose使用volumes注意項(xiàng)介紹

    這篇文章主要介紹了docker-compose使用volumes注意項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Docker?安裝啟動(dòng)Jenkins的方法(docker-compose)

    Docker?安裝啟動(dòng)Jenkins的方法(docker-compose)

    這篇文章主要介紹了Docker?安裝啟動(dòng)?Jenkins(docker-compose)的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-09-09
  • Docker 清理環(huán)境操作

    Docker 清理環(huán)境操作

    這篇文章主要介紹了Docker 清理環(huán)境操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • docker常用命令整理匯總(新手必備!)

    docker常用命令整理匯總(新手必備!)

    這篇文章主要給大家介紹了關(guān)于docker常用命令的相關(guān)資料,包括docker的啟動(dòng)、停止、重啟、創(chuàng)建、查看等等,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • 深入解析docker三種網(wǎng)絡(luò)模式

    深入解析docker三種網(wǎng)絡(luò)模式

    這篇文章主要介紹了docker三種網(wǎng)絡(luò)模式,分別是bridge橋接模式,host主機(jī)模式,none無(wú)網(wǎng)絡(luò)模式,每種模式給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • docker run -v 掛載數(shù)據(jù)卷異常,容器狀態(tài)一直是restarting的解決

    docker run -v 掛載數(shù)據(jù)卷異常,容器狀態(tài)一直是restarting的解決

    這篇文章主要介紹了docker run -v 掛載數(shù)據(jù)卷異常,容器狀態(tài)一直是restarting的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • docker?跨平臺(tái)構(gòu)建鏡像的示例詳解

    docker?跨平臺(tái)構(gòu)建鏡像的示例詳解

    這篇文章主要介紹了docker跨平臺(tái)構(gòu)建鏡像的案例,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • 關(guān)于docker無(wú)法正常下載鏡像的問(wèn)題小結(jié)

    關(guān)于docker無(wú)法正常下載鏡像的問(wèn)題小結(jié)

    之前還可以正常下載鏡像,但是一段時(shí)間之后就無(wú)法下載了,猜測(cè)可能是政治原因,無(wú)法連接到國(guó)外服務(wù)器,所以我設(shè)置了阿里云的鏡像加速器,需要的朋友可以參考下
    2024-06-06
  • Docker之容器導(dǎo)出為鏡像問(wèn)題

    Docker之容器導(dǎo)出為鏡像問(wèn)題

    這篇文章主要介紹了Docker之容器導(dǎo)出為鏡像問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 基于CentOS8系統(tǒng)使用Docker搭建Gitlab的詳細(xì)教程

    基于CentOS8系統(tǒng)使用Docker搭建Gitlab的詳細(xì)教程

    這篇文章主要介紹了基于CentOS8系統(tǒng)使用Docker搭建Gitlab教程,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-10-10

最新評(píng)論