Linux /proc/meminfo 详解
~
MemTotal: 251996 kB
MemFree: 63224 kB
MemAvailable: 117940 kB
Buffers: 13080 kB
Cached: 90000 kB
SwapCached: 0 kB
Active: 73852 kB
Inactive: 86676 kB
Active(anon): 57448 kB
Inactive(anon): 46372 kB
Active(file): 16404 kB
Inactive(file): 40304 kB
Unevictable: 0 kB
Mlocked: 0 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 251996 kB
LowFree: 63224 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 57460 kB
Mapped: 74372 kB
Shmem: 46372 kB
Slab: 10624 kB
SReclaimable: 2420 kB
SUnreclaim: 8204 kB
KernelStack: 1952 kB
PageTables: 1840 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 125996 kB
Committed_AS: 1271032 kB
VmallocTotal: 770048 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
CmaTotal: 16384 kB
CmaFree: 16064 kB
- MemTotal:所有可用的内存大小,物理内存减去预留位和内核使用
- MemFree:表示系统尚未使用的内存(free命令看到的没有这个准确)
- MemAvailable:真正的系统可用内存,系统中有些内存虽然已被使用但是可以回收的,比如cache/buffer、slab(MemAvailable=可回收+MemFree)
- Buffers:用来给块设备做缓存的内存(文件系统的 metadata、pages)
- Cached:分配给文件缓冲区的内存(比如未保存的文件就是写到该缓冲区)
- SwapCached:被高速缓冲存储用的交换空间(硬盘的swap)的大小
- Active:经常使用的高速缓冲存储器页面文件大小
- Inactive:不经常使用的高速缓冲存储器文件大小
- Active(anon):活跃的匿名内存
- Inactive(anon):不活跃的匿名内存
- Active(file):活跃的文件使用内存
- Inactive(file):不活跃的文件使用内存
- Unevictable:不能被释放的内存页
- Mlocked:系统调用 mlock 家族允许程序在物理内存上锁住它的部分或全部地址空间。这将阻止Linux 将这个内存页调度到交换空间(swap space),即使该程序已有一段时间没有访问这段空间
- HighTotal:所有在 860MB(0x35C00000)以上的空间。主要是用户空间程序或缓存页
- HighFree:: 860MB 以下的空间。如果该空间用完了,系统可能会异常
- LowTotal:860MB 以上空间的可用空间
- LowFree:860MB 以下空间的可用空间
- SwapTotal:交换空间总内存
- SwapFree:交换空间空闲内存
- Dirty:等待被写回到磁盘的
- Writeback:正在被写回的
- AnonPages:未映射页的内存/映射到用户空间的非文件页表大小
- Mapped:映射文件内存
- Shmem:已经被分配的共享内存
- Slab:内核数据结构缓存
- SReclaimable:可收回slab内存
- SUnreclaim:不可收回slab内存
- KernelStack:内核消耗的内存
- PageTables:管理内存分页的索引表的大小
- NFS_Unstable:不稳定页表的大小
- Bounce:在低端内存中分配一个临时buffer作为跳转,把位于高端内存的缓存数据复制到此处消耗的内存
- WritebackTmp:FUSE用于临时写回缓冲区的内存
- CommitLimit:系统实际可分配内存
- Committed_AS:系统当前已分配的内存
- VmallocTotal:预留的虚拟内存总量
- VmallocUsed:已经被使用的虚拟内存
- VmallocChunk:可分配的最大的逻辑连续的虚拟内存
- CmaTotal:连续可用内存总量
- CmaFree:空闲连续可用内存