在Linux下可以使用/proc/meminfo文件查看操作系统内存的使用状态
# cat /proc/meminfo MemTotal: 16333852 kB MemFree: 1633564 kB Buffers: 212448 kB Cached: 4422808 kB SwapCached: 0 kB Active: 10343096 kB Inactive: 3784128 kB Active(anon): 7954776 kB Inactive(anon): 1537404 kB Active(file): 2388320 kB Inactive(file): 2246724 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 2047992 kB SwapFree: 2047992 kB Dirty: 672 kB Writeback: 0 kB AnonPages: 9491968 kB Mapped: 34240 kB Shmem: 212 kB Slab: 375180 kB SReclaimable: 316296 kB SUnreclaim: 58884 kB KernelStack: 27456 kB PageTables: 35396 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 10214916 kB Committed_AS: 19743752 kB VmallocTotal: 34359738367 kB VmallocUsed: 303556 kB VmallocChunk: 34359420140 kB HardwareCorrupted: 0 kB AnonHugePages: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 10240 kB DirectMap2M: 16766976 kB
注意这个文件显示的单位是kB而不是KB,1kB=1000B,但是实际上应该是KB,1KB=1024B
这个显示是不精确的,是一个已知的没有被更正的历史遗留问题。因为很多程序依赖这个文件查看内存使用的是kB字符
MemTotal: 16333852 kB
MemTotal是可使用内存的总量,单位是KB,物理内存减去一些保留内存和内核二进制代码占用的内存
MemFree: 1633564 kB
MemFree 剩下没有被使用的物理内存,单位是kibibytes,即KB
Buffers: 212448 kB
Buffers 临时存储原始磁盘块的总量,单位是KB
Cached: 4422808 kB
Cached 用作缓存内存的物理内存总量,单位是KB
SwapCached: 0 kB
SwapCached 曾经被移入到swap,然后又回到主内存,但是仍然也在swapfile中保留的总内存大小。这样可以节省I/O,应为内存不需要再移入到swap
Active: 10343096 kB
Active 最近经常被使用的内存大小总量,单位是KB。
Inactive: 3784128 kB
Inactive 最近不是经常使用的内存,单位是KB
Active(anon): 7954776 kB
匿名和tmpfs/shmem内存总量,单位是KB. 自上次系统移动一些什么东西到swap后处于活动使用状态或者之前处于活动使用状态的内存
参考文档:
本文出自 “Linux SA John” 博客,请务必保留此出处http://john88wang.blog.51cto.com/2165294/1827844
原文地址:http://john88wang.blog.51cto.com/2165294/1827844