[oracle@node1 ~]$ free
total used free shared buffers cached
Mem: 8165984 8119144 46840 0 164668 5920264
-/+ buffers/cache: 2034212 6131772
Swap: 8385888 66552 8319336
Mem:表示物理内存统计
-/+ buffers/cached:表示物理内存的缓存统计
Swap:表示硬盘上交换分区的使用情况,这里我们不去关心。
系统的总物理内存:8165984,但系统当前真正可用的内存b并不是第一行free 标记的 46840,它仅代表未被分配的内存。
第1行 Mem: total:表示物理内存总量。
used:表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。
free:未被分配的内存。
shared:共享内存,一般系统不会用到,这里也不讨论。
buffers:系统分配但未被使用的buffers 数量。
cached:系统分配但未被使用的cache 数量。buffer 与cache 的区别见后面。 total = used + free
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 第3行: 第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。
所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached.
-/+ buffers/cache后的第一个数字2034212表示系统当前真正使用的内存,此数值是 used - buffers - cached 即8119144 - 164668 - 5920264 = 2034212
-/+ buffers/cache后的第二个数字6131772表示系统当前真正可用的内存,此数值是 buffers + 5920264 + free 即 164668 + 5920264 + 46840 = 6131772
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13350499/viewspace-616153/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/13350499/viewspace-616153/