Linux
為什麼 /proc/meminfo 在 Kernel Version 3.10 下顯示 MemAvailable?
我一直在使用 CentOS 7,它的核心版本是 3.10。要檢查核心版本,我輸入了“uname -r”並顯示了命令
3.10.0-957.1.3.el7.x86_64
據我所知,
MemAvailable
公制是在 Linux 核心版本 3.14 中引入的。但是,我跑了
/proc/meminfo
,這個命令顯示了MemAvailable
度量。MemTotal: 3880620 kB MemFree: 3440980 kB MemAvailable: 3473820 kB
為什麼我的 linux 顯示
MemAvailable
指標?我的 Linux 核心低於 3.14
您的核心將自己標識為 3.10,因為這是為 RHEL 7(和 CentOS 7)維護的基線 ABI。保留 ABI 以便除其他外,使用早期版本 RHEL 7 建構的核心模組將在以後的版本中繼續按原樣工作。
但是,如果在不破壞 ABI 的情況下可以做到這一點,則有用的核心功能會從新核心向後移植到 RHEL 核心。這包括
MemAvailable
,它甚至已被反向移植到 RHEL 6 中的“2.6.32”核心!發行說明中詳細說明了每個發行版核心中的更改;例如,參見RHEL 7.6 核心中的更改。有關其
MemAvailable
自身的解釋,請參閱如何跨發行版以可移植的方式獲得可用記憶體量?