最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

K8s內(nèi)存溢出問(wèn)題剖析之排查與解決過(guò)程

 更新時(shí)間:2025年07月04日 10:07:57   作者:磐基Stack專(zhuān)業(yè)服務(wù)團(tuán)隊(duì)  
這篇文章主要介紹了K8s內(nèi)存溢出問(wèn)題剖析之排查與解決過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、背景

做redis壓測(cè)過(guò)程中,發(fā)現(xiàn)paas環(huán)境的redis被OOMKill老是不斷重啟

在這里插入圖片描述

Pod日志:

在這里插入圖片描述

二、排查方案

1. 可能是數(shù)據(jù)量超出了限制的大小

檢查數(shù)據(jù)目錄大小

2. 查看是否是內(nèi)存溢出

開(kāi)始排查

2.1 排查數(shù)據(jù)量(查看數(shù)據(jù)目錄大小是否超過(guò)limit限制)

limit限制為64G 查到數(shù)據(jù)目錄占用很少 忽略此問(wèn)題

在這里插入圖片描述

2.2 查看pod詳情發(fā)現(xiàn)問(wèn)題

在這里插入圖片描述

為了更準(zhǔn)確的定位問(wèn)題,查看是否是內(nèi)存泄露問(wèn)題,查看系統(tǒng)參數(shù)(正常是沒(méi)有輸出)

在這里插入圖片描述

確定是由于壓測(cè)導(dǎo)致的Cgroup內(nèi)存泄露問(wèn)題

定位原因以后解決問(wèn)題 :處理內(nèi)存泄露問(wèn)題(試了三個(gè)方案才得以解決)

三、解決過(guò)程

方案一:(修改grub文件)

  • 修改/etc/default/grub 為:
GRUB_CMDLINE_LINUX=“crashkernel=auto net.ifnames=0 biosdevname=0 intel_pstate=disable cgroup.memory=nokmem”

是追加

GRUB_CMDLINE_LINUX=“console=tty0 console=ttyS0 crashkernel=512M-2G:128M,2G:512M rd.lvm.lv=bel/root rhgb quiet cgroup.memory=nokmem” 把 cgroup.memory=nokmem

追加到最后即可

  • 生成配置:
/usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg
  • 重啟機(jī)器:
reboot
  • 驗(yàn)證:
cat /sys/fs/cgroup/memory/kubepods/burstable/pod*/*/memory.kmem.slabinfo 無(wú)輸出即可。

x版本cgroup.memory存在bug,docker或其他使用cgroup.memory中kmem功能的應(yīng)用會(huì)造成slab內(nèi)存泄漏 部分系統(tǒng)可以通過(guò)升級(jí)到4.x的修復(fù)版本來(lái)解決,或者通過(guò) cgroup.memory=nokmem 啟動(dòng)項(xiàng)來(lái)規(guī)避。 部分系統(tǒng)不支持cgroup.memory=nokmem 啟動(dòng)項(xiàng),可以通過(guò) cgroup_disable=memory 啟動(dòng)項(xiàng)來(lái)規(guī)避。(此方案解決部分機(jī)器,并未全部解決)

方案二:(升級(jí)內(nèi)核、Iaas建議)

由于服務(wù)器均為多系統(tǒng),可以進(jìn)行此操作

在這里插入圖片描述

既然是 3.x 的問(wèn)題,直接升級(jí)內(nèi)核到 5.x 及以上即可,內(nèi)核問(wèn)題解釋?zhuān)?/p>

https://github.com/torvalds/linux/commit/d6e0b7fa11862433773d986b5f995ffdf47ce672

https://support.mesosphere.com/s/article/Critical-Issue-KMEM-MSPH-2018-0006

這種方式的缺點(diǎn)是: 需要升級(jí)所有節(jié)點(diǎn),節(jié)點(diǎn)重啟的話(huà)已有 pod 肯定要漂移,如果節(jié)點(diǎn)規(guī)模很大,這個(gè)升級(jí)操作會(huì)很繁瑣,業(yè)務(wù)部門(mén)也會(huì)有意見(jiàn),要事先溝通。

這個(gè)問(wèn)題歸根結(jié)底是軟件兼容問(wèn)題,3.x 自己都說(shuō)了不成熟,不建議你使用該特性,k8s、docker卻 還要開(kāi)啟這個(gè)屬性。(此方案并不奏效)

方案三:(grubby在線(xiàn)修改內(nèi)核參數(shù))

查看當(dāng)前內(nèi)核版本

在這里插入圖片描述

--update-kernel 為當(dāng)前內(nèi)核版本文件
grubby --args=cgroup.memory=nokmem --update-kernel=/boot/vmlinuz-3.10.0-1160.el7.x86_64

重啟主機(jī) 查看系統(tǒng)參數(shù) (顯示正常)

在這里插入圖片描述

查看pod正常運(yùn)行

在這里插入圖片描述

附加知識(shí)點(diǎn):(內(nèi)存buff占用清理 -hcache)

wget https://silenceshell-1255345740.cos.ap-shanghai.myqcloud.com/hcache
chmod 755 hcache && mv hcache /usr/local/bin/
hcache --top 10

查看內(nèi)存 free -h

在這里插入圖片描述

  • buffers: 用于塊設(shè)備數(shù)據(jù)緩沖,記錄文件系統(tǒng)metadata(目錄,權(quán)限,屬性等)
  • cached: 用于文件內(nèi)容的緩沖

分別查看

在這里插入圖片描述

清理緩存

僅清除頁(yè)面緩存(PageCache)

sync; echo 1 > /proc/sys/vm/drop_caches

清除目錄項(xiàng)和inode

# sync; echo 2 > /proc/sys/vm/drop_caches

清除頁(yè)面緩存,目錄項(xiàng)和inode

# sync; echo 3 > /proc/sys/vm/drop_caches

清理交換空間:

swapoff -a && swapon -a

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • K8S中若要掛載其他命名空間中的 Secret操作方法

    K8S中若要掛載其他命名空間中的 Secret操作方法

    在Kubernetes中,通過(guò)創(chuàng)建ServiceAccount和RoleBinding,可以實(shí)現(xiàn)一個(gè)命名空間中的Pod掛載另一個(gè)命名空間中的Secret,以下是具體步驟和示例代碼,包括創(chuàng)建ServiceAccount、Role和RoleBinding,以及在Pod中使用這些資源掛載Secret,感興趣的朋友一起看看吧
    2025-03-03
  • Kubernetes?權(quán)限管理認(rèn)證鑒權(quán)詳解

    Kubernetes?權(quán)限管理認(rèn)證鑒權(quán)詳解

    這篇文章主要為大家介紹了Kubernetes?權(quán)限管理認(rèn)證鑒權(quán)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • kubernetes?k8s入門(mén)定義一個(gè)Pod

    kubernetes?k8s入門(mén)定義一個(gè)Pod

    這篇文章主要為大家介紹了k8s入門(mén)定義一個(gè)Pod以及破底的定義內(nèi)容詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多計(jì)步,早日升職加薪
    2022-03-03
  • 阿里云kubernetes查找鏡像中jar包的方法(docker查看鏡像中的jar)

    阿里云kubernetes查找鏡像中jar包的方法(docker查看鏡像中的jar)

    這篇文章主要給大家介紹了關(guān)于阿里云kubernetes查找鏡像中jar包的方法,也就是在docker查看鏡像中的jar,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • ES業(yè)務(wù)數(shù)據(jù)遷移遇到的精度問(wèn)題BUG

    ES業(yè)務(wù)數(shù)據(jù)遷移遇到的精度問(wèn)題BUG

    這篇文章主要為大家介紹了ES業(yè)務(wù)數(shù)據(jù)遷移遇到的BUG精度問(wèn)題,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Rainbond使用Dockerfile構(gòu)建便捷應(yīng)用運(yùn)行流程

    Rainbond使用Dockerfile構(gòu)建便捷應(yīng)用運(yùn)行流程

    這篇文章主要為大家介紹了Rainbond使用Dockerfile構(gòu)建便捷應(yīng)用運(yùn)行流程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • K8s集群中的DNS服務(wù)CoreDNS實(shí)戰(zhàn)案例詳解

    K8s集群中的DNS服務(wù)CoreDNS實(shí)戰(zhàn)案例詳解

    在 Kubernetes(K8s)中,DNS 服務(wù)是實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)和 Pod 通信的核心組件之一,用于解決集群內(nèi)資源通過(guò)域名而非 IP 地址進(jìn)行訪(fǎng)問(wèn)的需求,本文將詳細(xì)解析 K8s DNS 服務(wù)的原理、組件、配置及應(yīng)用場(chǎng)景,感興趣的朋友一起看看吧
    2025-06-06
  • 基于openEuler的Ceph分布式存儲(chǔ)集群部署指南

    基于openEuler的Ceph分布式存儲(chǔ)集群部署指南

    本文詳細(xì)介紹了如何在openEuler22.03LTS操作系統(tǒng)上部署Ceph分布式存儲(chǔ)集群,包括環(huán)境準(zhǔn)備、軟件倉(cāng)庫(kù)配置、集群初始化、存儲(chǔ)節(jié)點(diǎn)部署、存儲(chǔ)池創(chuàng)建、監(jiān)控集成和性能優(yōu)化等步驟,感興趣的朋友一起看看吧
    2025-03-03
  • K8s內(nèi)存溢出問(wèn)題剖析之排查與解決過(guò)程

    K8s內(nèi)存溢出問(wèn)題剖析之排查與解決過(guò)程

    這篇文章主要介紹了K8s內(nèi)存溢出問(wèn)題剖析之排查與解決過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-07-07
  • K8s部署Nginx集群,通過(guò)Ingress實(shí)現(xiàn)HTTPS域名訪(fǎng)問(wèn)過(guò)程

    K8s部署Nginx集群,通過(guò)Ingress實(shí)現(xiàn)HTTPS域名訪(fǎng)問(wèn)過(guò)程

    文章主要介紹了如何使用Ingress控制器和Nginx服務(wù)來(lái)實(shí)現(xiàn)HTTP到HTTPS的強(qiáng)制重定向,并解釋了Ingress控制器如何處理TLS終止和流量路由,通過(guò)配置Ingress和Nginx服務(wù),可以確保所有流量都通過(guò)HTTPS訪(fǎng)問(wèn),從而提高安全性
    2026-01-01

最新評(píng)論

平武县| 万全县| 吉木萨尔县| 凤阳县| 灵寿县| 额敏县| 乌拉特中旗| 永胜县| 叶城县| 视频| 奎屯市| 庆阳市| 盐津县| 稷山县| 金坛市| 青龙| 资阳市| 新密市| 山西省| 安西县| 七台河市| 垦利县| 镶黄旗| 建水县| 龙游县| 白玉县| 梨树县| 海南省| 井陉县| 大新县| 靖安县| 岳普湖县| 佛冈县| 沽源县| 清远市| 剑川县| 葫芦岛市| 河间市| 金华市| 云浮市| 金川县|