分类: LINUX
2009-11-30 10:33:48
# free
total used free shared buffers cached
Mem: 2074408 2022076 52332 0 60756 1476860
-/+ buffers/cache: 484460 1589948
Swap: 4128760 0 4128760
数值之间的关系:
1、>>>>>2074408 = 2022076 + 52332
2、>>>>>2022076 = 484460 + 60756 + 1476860
3、>>>>>1589948 = 52332 + 60756 + 1476860
对于应用程序来说
可用的内存=系统free的内存(52332)+buffers(60756)+cached(1476860)
(标号3所示)
引用
buffers与cached的区别:
buffers是指用来给块设备做的缓冲大小,他只记录文件系统的metadata以及
tracking in-flight
pages.
cached是用来给文件做缓冲。
也就是说buffers是用来存储,目录里面有什么内容,权限等等。
而cached直接用来记忆我们打开的文件,如果你想知道他是不是真的生效,你可以试一下,先后执行两次命令#man
X ,你就可以明显的感觉到第二次的开打的速度快很多。
区别
第二行(mem)的used/free与第三行(-/+
buffers/cache) used/free的区别。
这两个的区别在于使用的角度来看,
第一行是从OS的角度来看,因为对于OS,buffers/cached都是属于被使用,所以他的可用内存是52332KB,已用内存是2022076KB,其中包括,内核(OS)和应用程序使用的大小(484460)+buffers(60756)+cached(1476860)。(标号2所示)
第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached
是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。当可用内存少于额定值的时候,
buffer/cached会被释放。