bash-3.00$ free total used free shared buffers cached Mem: 1572988 1509260 63728 0 62800 277888 -/+ buffers/cache: 1168572 404416 Swap: 2096472 16628 2079844
Mem:表示物理内存统计缓存
total:表示物理内存总量(total = used + free) used:表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。 free:未被分配的内存。 shared:共享内存,通常系统不会用到,这里也不讨论。 buffers:系统分配但未被使用的buffers 数量。 cached:系统分配但未被使用的cache 数量。
-/+ buffers/cache:表示物理内存的缓存统计bash
used2:也就是第一行中的used – buffers-cached 也是实际使用的内存总量。 //used2为第二行 free2= buffers1 + cached1 + free1 //free2为第二行、buffers1等为第一行 free2:未被使用的buffers 与cache 和未被分配的内存之和,这就是系统当前实际可用内存。
Swap:表示硬盘上交换分区的使用状况,这里咱们不去关心。
对于应用程序来讲,buffers/cached 是等于可用的,由于buffer/cached是为了提升文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。因此从应用程序的角度来讲 可用内存=系统free memory+buffers+cached. buffers是指用来给块设备作的缓冲大小,他只记录文件系统的metadata以及 tracking in-flight pages. cached是用来给文件作缓冲。 那就是说:buffers是用来存储,目录里面有什么内容,权限等等。 而cached直接用来记忆咱们打开的文件,若是你想知道他是否是真的生效,你能够试一下,前后执行两次命令#man X ,你就能够明显的感受到第二次的开打的速度快不少。
语 法: free [-bkmotV][-s <间隔秒数>]性能
参 数: -b 以Byte为单位显示内存使用状况。 -k 以KB为单位显示内存使用状况。 -m 以MB为单位显示内存使用状况。 -o 不显示缓冲区调节列。 -s<间隔秒数> 持续观察内存使用情况。 -t 显示内存总和列。 -V 显示版本信息。