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 ] 表示已经使用的buffercache

[-/+buffers/cache:  used ]= [Mem: used]  - [Mem: buffers+ Mem: cached]

 

[-/+buffers/cache:  free ] 表示剩余(可用)的buffercache表示OS已经申请内存中,可用buffer可用cache + 剩余可供OS申请的内存[Mem:free]

[-/+buffers/cache:  free ]=[Mem: free] +[Mem: buffers] + [Mem: cached]

 

一般来说,如果[ -/+ buffers/cache: free ]很大,则表明剩余内存较多。

[Mem: buffers][Mem: cached]也是反映剩余的buffercache,。

一张图看懂free命令显示的内存分配情况

wKiom1WD1bOSO6fUAAD9W9SgcJw530.jpg


如何判断内存的使用状态?

注意[Mem:  free]的大小并不能反映内存的实际使用情况。

1. 查看 -/+ buffers/cache :  free ,如果其值非常小,而swap使用的较多,即表明内存不够用了。

2. 查看 Mem: buffers  Mem: cached ,同上。