cat /proc/meminfo
项目 | 详解 |
---|---|
MemTotal | 所有可用的内存大小,物理内存减去预留位和内核使用。系统从加电开始到引导完成,firmware/BIOS要预留一些内存,内核本身要占用一些内存,最后剩下可供内核支配的内存就是MemTotal。这个值在系统运行期间一般是固定不变的,重启会改变 |
MemFree | 表示系统尚未使用的内存 |
MemAvailable | 真正的系统可用内存,系统中有些内存虽然已被使用但是可以回收的,Cached/Buffers/Slab都有一部分可以回收,所以这部分可回收的内存加上MemFree才是系统实际可用的内存 |
Buffers | 用来给块设备做缓存的内存,(文件系统的 metadata、pages) |
Cached | 分配给文件缓冲区的内存,vi创建一个文件时就会将未保存的内容写到该缓冲区 |
SwapCached | 被高速缓冲存储用的交换空间(硬盘的swap)的大小 |
Active | 经常使用的高速缓冲存储器页面文件大小 |
Inactive | 不经常使用的高速缓冲存储器文件大小 |
Active(anon) | 活跃的匿名内存 |
Inactive(anon) | 不活跃的匿名内存 |
Active(file) | 活跃的文件使用内存 |
Inactive(file) | 不活跃的文件使用内存 |
Unevictable | 不能被释放的内存页 |
Mlocked | 系统调用 mlock 家族允许程序在物理内存上锁住它的部分或全部地址空间。这将阻止Linux 将这个内存页调度到交换空间(swap space),即使该程序已有一段时间没有访问这段空间 |
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 | 可分配的最大的逻辑连续的虚拟内存 |