日期:2014-05-16  浏览次数:20612 次

Linux free命令 ------笔记
  • 参数用法说明

man free 可以得到详细的信息,这里贴个中文的,读起来快。

?

语  法: ?free?[-bkmotV][-s?< 间隔秒数 >]

补充说明: free 指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。

参  数:

  -b?  以 Byte 为单位显示内存使用情况。

  -k?  以 KB 为单位显示内存使用情况。 ?

  -m?  以 MB 为单位显示内存使用情况。 ?

  -o?  不显示缓冲区调节列。 ?

  -s< 间隔秒数 >?  持续观察内存使用状况。 ?

  -t?  显示内存总和列。 ?

  -V?  显示版本信息。

?

  • free输出内容解析

???????????? total?????? used?????? free???? shared??? buffers???? cached
Mem:?????? 1022420???? 665104???? 357316????????? 0???? 107012???? 278204
-/+ buffers/cache:???? 279888???? 742532
Swap:????? 1045500???? 223188???? 822312

?

  • Mem这一行 :

????? total 物理内存总数 : 1022420

????? used 已经使用的内存数 : 665104

????? free 空闲的内存数 : 357316

????? shared 当前已经废弃不用,总是 0

????? buffers Buffer Cache 内存数 : 107012

????? cached Page Cache 内存数 : 278204

????? 关系: total = used + free

?

  • -/+ buffers/cache这一 :

????? -buffers/cache 的内存数: 279888 ( 等于第 1 行的 used - buffers - cached), 实际上是应用程序所使用的内存。
?????? +buffers/cache
的内存数 : 742532 ( 等于第 1 行的 free + buffers + cached), 是对应用程序来说还剩余的内存。

?

????? 可见 -buffers/cache 反映的是被程序实实在在吃掉的内存,而 +buffers/cache 反映的是可以挪用的内存总数。

对操作系统来讲 buffers/cached 都是属于被使用 , 所以它认为 free 只有 357316.

????? 对应用程序来讲是 (-/+ buffers/cach).buffers/cached 是等同可用的,因为 buffer/cached 是为了提高程序执行的性能,当程序使用内存时, buffer/cached 会很快地被使用。

?

  • 第三行是交换分区 swap, 列出已使用、空闲的 swap.

????? SWAP 就是 LINUX 下的虚拟内存分区 , 它的作用是在物理内存使用完之后 , 将磁盘空间 (