Linux 中 /proc/meminfo 的含義

作嵌入式開發對內存泄露很敏感,而對泄露的位置更加關注。本文記錄一下從網上搜集的/proc/meminfo各參數的含義。還不完整,待補完。html

本文地址:https://segmentfault.com/a/1190000007114036linux

Reference

關於/proc/meminfo的理解
linux/Documentation/filesystems/proc.txtgit

說明

如下項目並非每個 Linux 系統上都有的,根據你的 Linux 設計和版本,可能多出或者少了某些項。
參考資料中的第二項是最新的 Linux 文檔github

項目名 說明
MemTotal 全部可用的 RAM 大小,物理內存減去預留位和內核使用
MemFree LowFree + HighFree
Buffers 用來給塊設備作緩存的大小(文件系統的 metadata, tracking in-flight pages)
Cached 文件的緩衝區大小
SwapCached 已經被交換出來的內存。與 I/O 相關
Active 常常(最近)被使用的內存
Inactive 最近不常使用的內存。這很容易被系統移作他用
Active(anon) ?
Inactive(anon) ?
Unevictable ?
Mlocked ?
HighTotal 全部在 860MB(0x35C00000)以上的空間。主要是用戶空間程序或緩存頁
LowTotal 860MB 如下的空間。若是該空間用完了,系統可能會異常
HighFree 860MB 以上空間的可用空間
LowFree 860MB 如下空間的可用空間
SwapTotal 交換空間總和
SwapFree RAM 暫存在 Swap 中的大小
Dirty 等待寫回的數據大小
WriteBack 正在寫回的數據大小
Mapped 映射文件大小
AnonPages 映射到用戶空間的非文件頁表大小
Shmem ?
Slab 內核數據結構緩存
SReclaimable Slab 的一部分。當內存壓力大時,能夠 reclaim
SUnreclaim 不能夠 reclaim 的 Slab
KernelStack ?
PageTables 最底層的頁表的內存空間
NFS_Unstable 已經發給 NFS 服務器、可是還沒有被確認(committed)寫入到穩定存儲的頁表
Bonce ?
WritebackTmp Memory used by FUSE for temporary writeback buffers
CommitLimit CommitLimit = ('vm.overcommit_ratio' * Physical RAM)
Committed_AS The amount of memory presently allocated on the system.(系統中目前分配了的內存?)
VmallocTotal vmalloc 內存大小
VmallocUsed 已被使用的虛擬內存大小
VmallocChunk 在 vmalloc 區域中可用的最大的連續內存塊的大小
相關文章
相關標籤/搜索