buffer和cache及内存的关系



先执行一条简单的命令 [root@server ~]# free -m
                   total          used       free       shared    buffers     cached
Mem:           879           313        566          0         46          193
-/+ buffers/cache:         74         805
Swap:          2047          0          2047
而后会获得这样的一个结果
在显示结果中有三行:
第一行    Mem:该行使内存的使用和分配状态。
               total:表示总物理内存是879M。
               used:这里表示的不是总内存使用情况而是内存分配给buffer和cache的大小(看到这行满了你们不用担忧)。
               free :表示未分配的物理内存的大小。
               shared:这个看别人说是共享内存,我没用过,但愿知道LZ兄弟姐妹们给点指点呵呵。
               buffers:表示物理内存已经分配给buffer,可是buffer尚未使用的大小。
               cached:表示物理内存已经分配给cache,可是cache尚未使用的大小。
第二行     -/+ buffers/cache: 表示物理内存分配给buffer和cache的大小(就是那个313)的使用状况统计。
               used1(区别上面的used):表示物理内存分配给buffer和cache的(仍是上面那个313)使用状况。
               free1(区别上面的free):表示未被使用的物理内存。这个才是真实内存剩余的大小,即还有多少可用内存
第三行     交换空间(就不在这里讲了)


那么内存与buffer和cache在数值上是又有着怎样的关系呢:
total=used+free
       =used1+free1
       =buffers+cached+used1+free

buffer(缓冲区)是还未被写入磁盘,cache(缓存)是已经被从磁盘中读取和存入磁盘以备后用。转自:http://bbs.linuxtone.org/thread-17134-1-4.html
相关文章
相关标签/搜索