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

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

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

一、背景

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

在這里插入圖片描述

Pod日志:

在這里插入圖片描述

二、排查方案

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

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

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

開始排查

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

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

在這里插入圖片描述

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

在這里插入圖片描述

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

在這里插入圖片描述

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

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

三、解決過程

方案一:(修改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 無輸出即可。

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

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

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

在這里插入圖片描述

既然是 3.x 的問題,直接升級內(nèi)核到 5.x 及以上即可,內(nèi)核問題解釋:

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

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

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

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

方案三:(grubby在線修改內(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)行

在這里插入圖片描述

附加知識點(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)容的緩沖

分別查看

在這里插入圖片描述

清理緩存

僅清除頁面緩存(PageCache)

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

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

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

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

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

清理交換空間:

swapoff -a && swapon -a

總結(jié)

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

相關(guān)文章

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

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

    在Kubernetes中,通過創(chuàng)建ServiceAccount和RoleBinding,可以實(shí)現(xiàn)一個命名空間中的Pod掛載另一個命名空間中的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入門定義一個Pod

    kubernetes?k8s入門定義一個Pod

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

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

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

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

    這篇文章主要為大家介紹了ES業(yè)務(wù)數(shù)據(jù)遷移遇到的BUG精度問題,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(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)資源通過域名而非 IP 地址進(jìn)行訪問的需求,本文將詳細(xì)解析 K8s DNS 服務(wù)的原理、組件、配置及應(yīng)用場景,感興趣的朋友一起看看吧
    2025-06-06
  • 基于openEuler的Ceph分布式存儲集群部署指南

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

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

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

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

    K8s部署Nginx集群,通過Ingress實(shí)現(xiàn)HTTPS域名訪問過程

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

最新評論

青河县| 陵水| 巨鹿县| 长治县| 青龙| 合水县| 普陀区| 巴林左旗| 抚州市| 珠海市| 安庆市| 长乐市| 新建县| 乐亭县| 德钦县| 汉源县| 惠东县| 长泰县| 中西区| 布拖县| 南通市| 鹤庆县| 建平县| 武胜县| 永城市| 印江| 济源市| 海原县| 揭西县| 保定市| 松滋市| 广河县| 仪征市| 平南县| 迭部县| 开原市| 娄底市| 元谋县| 苍南县| 黎川县| 凤山县|