Linux 中 /proc/meminfo 的含義


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

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

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) ?
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 區域中可用的最大的連續內存塊的大小


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM