在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后处于活动使用状态或者之前处于活动使用状态的内存
参考文档:
原文:http://john88wang.blog.51cto.com/2165294/1827844