日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

容器智能運(yùn)維平臺提供內(nèi)存診斷功能,可以覆蓋Kubernetes集群上常見的內(nèi)存問題,包括內(nèi)存泄漏、內(nèi)存碎片化、OOM等。診斷結(jié)果以圖表的方式展示系統(tǒng)內(nèi)存整體使用情況,將容器內(nèi)的緩存和共享內(nèi)存歸屬到具體的文件夾下,清晰展示系統(tǒng)內(nèi)存使用情況,便于運(yùn)維。本文介紹內(nèi)存診斷的具體內(nèi)容。

內(nèi)存診斷包括內(nèi)存總覽、內(nèi)存分析和OOM分析,用于瀏覽節(jié)點(diǎn)及Pod內(nèi)存使用情況,可以幫您快速了解系統(tǒng)的內(nèi)存狀態(tài)。

根據(jù)集群配置,具體檢查項(xiàng)可能稍有不同。實(shí)際結(jié)果請以診斷頁面結(jié)果為準(zhǔn)。

重要

使用故障診斷功能時(shí),系統(tǒng)將在您的集群節(jié)點(diǎn)上執(zhí)行數(shù)據(jù)采集程序并收集檢查結(jié)果。采集的信息包括系統(tǒng)版本,負(fù)載、Docker、Kubelet等運(yùn)行狀態(tài)及系統(tǒng)日志中關(guān)鍵錯(cuò)誤信息。數(shù)據(jù)采集程序不會采集您的業(yè)務(wù)信息及敏感數(shù)據(jù)。

內(nèi)存總覽

內(nèi)存總覽主要對內(nèi)存相關(guān)風(fēng)險(xiǎn)一鍵檢查,快速識別系統(tǒng)是否存在內(nèi)存問題。主要包括以下檢查項(xiàng)。

檢查項(xiàng)

說明

內(nèi)存泄露

排查操作系統(tǒng)內(nèi)核是否存在泄露,以及泄露的類型,支持slab、Vmalloc和伙伴系統(tǒng)(allocpage)三種泄露識別。

內(nèi)存利用率

系統(tǒng)內(nèi)存利用率。

Memcg殘留

評估Memory cgroup是否存在殘留,過多的殘留會嚴(yán)重影響系統(tǒng)性能,以及造成統(tǒng)計(jì)數(shù)據(jù)異常。

內(nèi)存碎片化

評估系統(tǒng)是否存在內(nèi)存碎片化,內(nèi)存碎片化會導(dǎo)致系統(tǒng)性能下降。

THP浪費(fèi)率

評估透明大頁浪費(fèi)率。

內(nèi)存總覽以圖表形式展示系統(tǒng)所有內(nèi)存的使用情況,包括內(nèi)核內(nèi)存、用戶態(tài)的應(yīng)用內(nèi)存和空閑內(nèi)存。

  • 內(nèi)核內(nèi)存(kernel):操作系統(tǒng)內(nèi)核內(nèi)存總使用量。

  • 應(yīng)用內(nèi)存(app):用戶態(tài)程序內(nèi)存總使用量。

  • 空閑內(nèi)存(free):系統(tǒng)空閑內(nèi)存。

相關(guān)概念

名詞

解釋

內(nèi)存泄露

指程序動(dòng)態(tài)分配的內(nèi)存由于某種原因未釋放,造成系統(tǒng)內(nèi)存利用率升高,導(dǎo)致程序運(yùn)行速度減慢甚至系統(tǒng)崩潰等嚴(yán)重后果。

內(nèi)存利用率

內(nèi)存利用率=(總內(nèi)存-可用內(nèi)存)x100/總內(nèi)存,其中文件緩存屬于可用內(nèi)存,不影響內(nèi)存利用率。

Memcg殘留

當(dāng)內(nèi)存控制組(Memory cgroup)由于系統(tǒng)異常,沒有正常釋放時(shí),Memcg殘留會影響系統(tǒng)性能。

內(nèi)存碎片化

內(nèi)存碎片是指系統(tǒng)長時(shí)間遠(yuǎn)行后,由于空閑的連續(xù)內(nèi)存區(qū)域太小,導(dǎo)致不能滿足系統(tǒng)連續(xù)內(nèi)存分配請求,從而出現(xiàn)內(nèi)存分配延時(shí),引起業(yè)務(wù)抖動(dòng)。

THP浪費(fèi)率

THP(Transparent Huge Page)是指內(nèi)核中2 MiB或1 GiB大小的大頁面(普通的小頁面大小為4 KiB)。

當(dāng)系統(tǒng)開啟透明大頁時(shí),內(nèi)核會根據(jù)進(jìn)程的實(shí)際情況動(dòng)態(tài)分配透明大頁,透明大頁可以減少TLB(Translation Lookaside Buffer) Miss的出現(xiàn)概率,從而提升應(yīng)用程序的性能。

THP帶來性能提升的同時(shí),產(chǎn)生了一定副作用,即可能產(chǎn)生Memory bloating(內(nèi)存膨脹)問題。由于透明大頁申請釋放的粒度為2 MiB(即512個(gè)小頁面),透明大頁更容易產(chǎn)生內(nèi)存浪費(fèi),進(jìn)而導(dǎo)致內(nèi)核分配的內(nèi)存容量大于實(shí)際需要的內(nèi)存容量。Memory bloating可能引發(fā)OOM(Out Of Memory)。例如,一個(gè)應(yīng)用程序?qū)嶋H需要使用2個(gè)小頁面,即8 KiB內(nèi)存,但內(nèi)核分配了1個(gè)透明大頁。此時(shí),除去應(yīng)用程序?qū)嶋H需要的內(nèi)存(2個(gè)小頁面),透明大頁剩下的內(nèi)存(510個(gè)小頁面)大小均為0。最終可能會因RSS(Resident Set Size)內(nèi)存用量增加而導(dǎo)致OOM。

THP浪費(fèi)率=THP零頁數(shù)x100%/THP總頁面數(shù)。

伙伴系統(tǒng)

伙伴系統(tǒng)是Linux內(nèi)核用來管理物理內(nèi)存頁的一種算法,它管理起來的內(nèi)存分為了不同的組,總共11組,每個(gè)組中的內(nèi)存塊大小都是一樣的,都是2的冪次方個(gè)物理頁,一個(gè)內(nèi)存頁一般是4 KB,所以大小一般是4 KB、8 KB、16 KB、32 KB……4 MB。

Slab

Linux操作系統(tǒng)的一種基于伙伴系統(tǒng)的小內(nèi)存分配器。

Vmalloc

Linux操作系統(tǒng)的一種基于伙伴系統(tǒng)的非線性映射內(nèi)存分配器。

filecache

Linux在讀寫文件時(shí),用內(nèi)存緩存磁盤文件的內(nèi)容,程序訪問文件時(shí)直接操作內(nèi)存,從而加快程序?qū)ξ募淖x寫。

匿名內(nèi)存

在系統(tǒng)運(yùn)行過程中動(dòng)態(tài)分配(new、malloc、mmap)給進(jìn)程的堆和棧所占的內(nèi)存,沒有實(shí)際的文件名與之相關(guān)聯(lián)。

共享內(nèi)存

共享內(nèi)存允許兩個(gè)或更多進(jìn)程訪問同一塊內(nèi)存,是進(jìn)程通信方式之一。

tmpfs

Linux臨時(shí)文件系統(tǒng),是一種基于內(nèi)存的文件系統(tǒng),讀寫的文件內(nèi)容只存在內(nèi)存中。

hugetlb

基于文件系統(tǒng)的大頁內(nèi)存。

內(nèi)核內(nèi)存

內(nèi)核態(tài)內(nèi)存重點(diǎn)關(guān)注Sunreclaim及伙伴系統(tǒng)的使用量,內(nèi)存泄露通常都是指這兩個(gè)指標(biāo)異常。

指標(biāo)

說明

Sreclaimable

Slab可回收內(nèi)存。

Sunreclaim

Slab不可回收內(nèi)存。

PageTables

內(nèi)核頁表占用內(nèi)存。

Vmalloc

內(nèi)核調(diào)用Vmalloc分配的內(nèi)存。

KernelStack

進(jìn)程的內(nèi)核堆棧總內(nèi)存。

AllocPages

內(nèi)核調(diào)用alloc_pages等接口直接從伙伴系統(tǒng)分配的內(nèi)存量,此類內(nèi)存無法通過任何節(jié)點(diǎn)文件獲取,使用過多會造成內(nèi)存黑洞。

應(yīng)用內(nèi)存

用戶態(tài)的應(yīng)用內(nèi)存重點(diǎn)關(guān)注匿名內(nèi)存、共享內(nèi)存及文件緩存內(nèi)存。

指標(biāo)

說明

filecache

文件緩存內(nèi)存,此類內(nèi)存可以通過drop caches回收。

anon

匿名內(nèi)存,程序堆和棧內(nèi)存,匿名內(nèi)存占用過多,需要評估業(yè)務(wù)進(jìn)程是否有內(nèi)存泄露,系統(tǒng)是否開啟了透明大頁。

mlock

系統(tǒng)鎖住的內(nèi)存量。

huge

hugetlb大頁內(nèi)存量。

buffer

塊設(shè)備以及文件系統(tǒng)元信息占用的內(nèi)存量。

shmem

共享內(nèi)存(tmpfs)。業(yè)務(wù)進(jìn)程退出后,經(jīng)常會忘記刪除tmpfs文件,或者在打開狀態(tài)直接刪掉tmpfs文件,都會操作shmem泄露。

內(nèi)存分析

內(nèi)存分析包括進(jìn)程內(nèi)存和Pod內(nèi)存分析。

進(jìn)程內(nèi)存

以進(jìn)程維度按內(nèi)存大小排序,并分解成匿名內(nèi)存、文件緩存和共享內(nèi)存。

Pod內(nèi)存

Pod內(nèi)存分析功能夠解析容器組和容器內(nèi)部文件緩存和共享內(nèi)存對應(yīng)的文件,以及文件緩存活躍和非活躍的占比。

檢查項(xiàng)

說明

Pod

Pod名稱。

容器

容器名稱。

文件名

文件名全路徑。

緩存

文件占用的緩存(filecache)大小。

容器內(nèi)緩存

文件占用緩存在容器內(nèi)的大小(存在不同容器的進(jìn)程操作相同文件)。

活躍緩存

文件緩存最近已被使用部分的大小。

非活躍緩存

文件緩存處于最近未被使用的大小。

OOM分析

對系統(tǒng)發(fā)生的OOM進(jìn)行快速診斷,并輸出診斷結(jié)論,主要包括以下內(nèi)容。

檢查項(xiàng)

說明

主機(jī)OOM次數(shù)

從開機(jī)到診斷時(shí)刻,主機(jī)OOM總次數(shù)。

剩余內(nèi)存

系統(tǒng)剩余內(nèi)存。

Low水線

系統(tǒng)配置的Low水線,剩余內(nèi)存低于Low水線時(shí),會觸發(fā)內(nèi)存異步回收。

容器

Pod名字、容器ID或者cgroup名稱。

limit

容器設(shè)置的內(nèi)存limit。

usage

容器內(nèi)存使用量。

OOM次數(shù)

容器發(fā)生OOM總次數(shù)。

OOM類型

OOM的類型,目前包括Host(主機(jī))和cgroup。