free详解

無名 发表于: 2016-07-04   最后更新时间: 2016-08-07  
  •   7 订阅,1349 游览

直接上代码

                    total           used       free     shared    buffers     cached
Mem:                386024          377116     8908       0        21280      155468
-/+ buffers/cache:  200368          185656
Swap:               393552            0        393552
第二行(Mem):

total:总计物理内存的大小。
used:已使用多大。
free:可用有多少。
Shared:多个进程共享的内存总额。
Buffers/cached:磁盘缓存的大小。

第三行(-/+ buffers/cached):

used:已使用多大。
free:可用有多少。

第四行就不多解释了。

区别:

第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别。

这两个的区别在于使用的角度来看,第一行是从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是8908KB,已用内存是377116KB,其中包括,内核(OS)使用+Application(X,oracle,etc)使用的+buffers+cached.
第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。

所以从应用程序的角度来说,可用内存=系统free( memory+buffers+cached.)
如上例:

185656=8908+21280+155468

接下来解释什么时候内存会被交换,以及按什么方交换。
当可用内存少于额定值的时候,就会开会进行交换.







发表于: 1年前   最后更新时间: 1年前   游览量:1349
上一条: 理解virt res shr之间的关系
下一条: 在Linux中增加swap空间

评论…


  • 评论…
    • in this conversation
      提问