做嵌入式開發對記憶體外洩很敏感,而對外洩的位置更重視。本文記錄一下從網路蒐集的/proc/meminfo
各參數的意義。還不完整,待補完。
Reference
關於/proc/meminfo的理解
linux/Documentation/filesystems/proc.txt
說明
#以下項目並不是每一個Linux 系統上都有的,根據你的Linux 設計和版本,可能多出或少了某些項。
參考資料中的第二項是最新的Linux 文件
#專案名稱 | 說明 |
---|---|
MemTotal | 所有可用的RAM 大小,實體記憶體減去預留位元和核心使用 |
MemFree | LowFree HighFree |
#Buffers | 用來給區塊裝置做快取的大小(檔案系統的metadata, tracking in-flight pages) |
#Cached | 檔案的緩衝區大小 |
SwapCached | 已經被交換出來的記憶體。與I/O 相關 |
Active | #經常(最近)被使用的記憶體 |
##Inactive | 最近不常使用的記憶體。這很容易被系統移做他用|
Active(anon)##? | |
? | |
##? | |
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 = ('vm.overcommit_ratio' * Physical RAM) | |
The amount of memory presently allocated on the system.(目前系統中分配了的記憶體?) |