free 命令
2015-03-31 by dongnan
举个栗子
iscsi 服务器内存使用状态
free -m
total used free shared buffers cached
Mem: 15901 15740 160 0 14980 35
-/+ buffers/cache: 723 15177
Swap: 15999 0 15999
注意 buffers
字段。
结果分析
第1行 Mem
- total:表示物理内存总量。
- used:表示总计分配给缓存包含 (buffers 与cache)使用的数量,但其中可能部分缓存并未实际使用。
- free:系统未分配的内存。
- shared:共享内存用于在
UNIX
环境下不同进程之间共享数据,是进程间通信的一种方法。 - buffers:系统分配但未被使用的buffers 数量。
- cached:系统分配但未被使用的cache 数量。
- buffer 与cache 的区别见
第2行 -/+ buffers/cached
- used:也就是第一行中的
used - buffers-cached
也是实际使用的内存总量。 - free:未被使用的buffers 与cached 和未被分配的内存之和,这就是系统当前实际可用内存(
free+buffers+cached
)。
因为buffers和cached是系统为了提高性能申请的内存数,实际上当应用程序需要此功能时,是可以使用这些内存的,所以对应用程序来说,这些内存也是可以使用的。
第3行 swap
- 略...
buffer 与 cache 的区别
- buffer (缓冲): 作为buffer cache的内存,是块设备的读写缓冲区。
- cache (缓存): 作为page cache的内存, 文件系统的cache。
如果 cache
的值很大,说明cache
住的文件数很多。如果频繁访问到的文件都能被cache住,那么磁盘的读IO会非常小。
命令参数
-m
:以M
为单位查看内存使用情况(默认为kb
)。-b
:以字节为单位查看内存使用情况。