free命令

某日,使用top查看linux机器内存使用情况

Mem:   8191876k total,  8070284k used,   121592k free,    80196k buffers
Swap:        0k total,        0k used,        0k free,  6041496k cached

第一眼看了free只有121592k ,共8G的内存,以为快用完了,咨询得知Mem包含了:
应用程序内存 + buffers+ cache,需要用free命令查看。

free -M

            total       used       free     shared    buffers     cached
Mem:          7999       7865        134          0         82       5878
-/+ buffers/cache:       1904       6095

查了查free的用法,得知

DESCRIPTION
       free  displays the total amount of free and used physical and swap memory in the sys-
       tem, as well as the buffers used by the kernel.  The shared memory column  should  be
       ignored; it is obsolete.


计算方法:
物理已用内存 = 实际已用内存 -buffers- cache = 7865M -82M - 5878M

物理空闲内存 = 总物理内存 - 实际已用内存 + bufffers + cache

应用程序可用空闲内存 = 总物理内存 - 实际已用内存

应用程序已用内存 = 实际已用内存 - buffers-cache

  • A buffer is something that has yet to be "written" to disk.
  • A cache is something that has been "read" from the disk and stored for later use.

buffer是用于存放要输出到disk(块设备)的数据的-------缓冲

cache是存放从disk上读出的数据-------缓存

这二者是为了提高IO性能的,并由OS管理。Linux和其他成熟的操作系统(例如windows),为了提高IO read的性能,总是要多cache一些数据


阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭