LinuxFree 命令内存分配信息
[root@SERVER60~]# 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 ] 表示OS申请的内存中,可用的buffer(用于写)
[Mem: cached ] 表示OS申请的内存中,可用的cache(用于读)
[-/+buffers/cache: used ] 表示已经使用的buffer和cache
[-/+buffers/cache: used ]= [Mem: used] - [Mem: buffers+ Mem: cached]
[-/+buffers/cache: free ] 表示剩余(可用)的buffer和cache(表示OS已经申请的内存中,可用的buffer和可用的cache + 剩余可供OS申请的内存[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 ,同上。