您的位置:首页 > 运维架构 > Linux

linux free 命令

2015-08-24 16:50 561 查看
[oracle@HadoopNameNode u01]$ free -m
total       used       free     shared    buffers     cached
Mem:          7762       7612        150          0        333       6466
-/+ buffers/cache:        812       6950
Swap:        23999         15      23984

Mem:表示物理内存统计
-/+ buffers/cached:表示物理内存的缓存统计
Swap: 表示硬盘上交换分区的使用情况,这里我们不去关心。

第1行
total:表示物理内存总量。
used:表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。
free:未被分配的内存。
shared:共享内存,一般系统不会用 到,这里也不讨论。
buffers:系统分配但未被使用的buffers 数量。
cached:系统分配但未被使用的cache 数量。buffer 与cache 的区别见后面。
total = used + free

第2行
used:也就是第一行中的used - buffers-cached 也是实际使用的内存总量。
free:未被使用的buffers 与cache 和未被分配的内存之和,这就是系统当前实际可用内存。
free 2= buffers1 + cached1 + free1 //free2为第二行、buffers1等为第一行

buffer 与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
从应用程序角度来 看,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。所以从应用程序的角度来说,可用内存=系统freememory+buffers+cached.
buffers是指用来给块设备 做的缓冲大小,他只记录文件系统的metadata以及 tracking in-flight pages.
cached是用来给流设备 比如文件 做缓冲。
也就是说:buffers是用来存储目录里面有什么内容,权限等等。

而cached直接用来记忆我们打开的文件

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

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

参数:
-b 以Byte为单位显示内存使用情况。
-k 以KB为单位显示内存使用情况。
-m 以MB为单位显示内存使用情况。
-o 不显示缓冲区调节列。
-s<间隔秒数> 持续观察内存使用状况。
-t 显示内存总和列。
-V 显示版本信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: