LinuxFree 命令内存分配信息
[[email protected]~]# free -m
total used free shared buffers cached
Mem: 32099 31909 189 1 100 28679
-/+ buffers/cache: 3129 28969
Swap: 15999 0 15999
第二行的输出是操作系统的内存使用情况。
第三行的输出是应用程序的内存使用情况。
物理内存= [Mem: used] + [Mem:free]
物理内存= [-/+ buffers/cache: used] + [-/+ buffers/cache free]
[Mem: total] 总的物理内存
[Mem: used] 表示使用的内存
[Mem: free] 表示剩余的内存
[Mem: shared] 进程间共享的内存
[Mem: buffers ] 表示使用的内存中,没有使用的buffer
[Mem: cached ] 表示使用的内存中,没有使用的cache
[-/+buffers/cache: used ] 表示使用的内存中,已经使用的buffer和cache
[-/+buffers/cache: used ]= [Mem: used] - [Mem: buffers+ Mem: cached]
[-/+buffers/cache: free ] 表示剩余(可用)的buffer和cache(表示使用的内存中,没有使用的buffer和cache + 剩余可用的内存[Mem:free])
[-/+buffers/cache: free ]=[Mem: free] +[Mem: buffers] + [Mem: cached]
一般来说,如果[ -/+ buffers/cache: free ]很大,则表明剩余内存较多。
[Mem: buffers]和[Mem: cached]也是反映剩余的buffer和cache,。
一张图看懂free命令显示的内存分配情况
如何判断内存的使用状态?
注意[Mem: free]的大小并不能反映内存的实际使用情况。
1. 查看 -/+ buffers/cache : free ,如果其值非常小,而swap使用的较多,即表明内存不够用了。
2. 查看 Mem: buffers Mem: cached ,同上。
bufers和cached 是可以被快速回收。
free命令的所有输出值都是从/proc/meminfo中读出的。