/proc/meminfo文件中的統(tǒng)計(jì)信息變更說明
Alibaba Cloud Linux 2(內(nèi)核版本4.19.91-22.al7
開始)和Alibaba Cloud Linux 3的/proc/meminfo文件內(nèi)的匿名頁狀態(tài)統(tǒng)計(jì)信息Active(anon)
和Inactive(anon)
發(fā)生了變化。如果您的應(yīng)用程序正在使用該統(tǒng)計(jì)信息,統(tǒng)計(jì)信息的變化會導(dǎo)致變更前后查詢到的數(shù)據(jù)不一致。本文將對本次變化進(jìn)行詳細(xì)說明。
變更原因
Linux kernel社區(qū)在最新的版本中對匿名頁的回收進(jìn)行了優(yōu)化,分配的匿名頁默認(rèn)放置的位置由active LRU變更為了inactive LRU,因此對/proc/meminfo文件內(nèi)的統(tǒng)計(jì)信息Active(anon)
和Inactive(anon)
的數(shù)據(jù)產(chǎn)生了影響。社區(qū)合入信息如下所示:
社區(qū)合入版本:Linux Kernel 5.10
社區(qū)合入commit:b518154e59aab3ad0780a169c5cc84bd4ee4357e
Alibaba Cloud Linux 2(內(nèi)核版本4.19.91-22.al7.x86_64
開始)和Alibaba Cloud Linux 3的/proc/meminfo文件內(nèi)的統(tǒng)計(jì)信息Active(anon)
和Inactive(anon)
的數(shù)據(jù)將發(fā)生變化。
您可以在操作系統(tǒng)內(nèi)運(yùn)行uname -r命令獲取內(nèi)核版本信息。
變更詳情
Alibaba Cloud Linux 2的內(nèi)核在4.19.91-22.al7.x86_64
版本之前(不包含該版本),應(yīng)用程序申請的匿名頁(anon page)默認(rèn)被統(tǒng)計(jì)到/proc/meminfo文件的Active(anon)
中,當(dāng)內(nèi)存不足時才會被統(tǒng)計(jì)到Inactive(anon)
中。
當(dāng)內(nèi)核升級到4.19.91-22.al7.x86_64及其之后的版本時,應(yīng)用程序申請的匿名頁(anon page)默認(rèn)被統(tǒng)計(jì)到/proc/meminfo文件的Inactive(anon)
中,當(dāng)被訪問后才會切換到Active(anon)
中。因此,如果您在使用/proc/meminfo文件內(nèi)的Active(anon)
和Inactive(anon)
來統(tǒng)計(jì)匿名頁狀態(tài)的數(shù)據(jù),需要對本次變化進(jìn)行相應(yīng)的調(diào)整。
變更影響及建議
由于統(tǒng)計(jì)匿名頁狀態(tài)的信息(即Active(anon)
和Inactive(anon)
)發(fā)生變化,因此相同的應(yīng)用程序在本次變更前所查詢到的Active(anon)
和Inactive(anon)
的數(shù)據(jù),與變更后查詢的到數(shù)據(jù)將不一致。
建議您根據(jù)所使用的Alibaba Cloud Linux操作系統(tǒng)中最新的匿名頁狀態(tài)的統(tǒng)計(jì)數(shù)據(jù),對應(yīng)用程序的配置進(jìn)行相應(yīng)的調(diào)整。