Linux的这一特性,主要是利用空闲的物理内存,划分出一部份空间,做为cache、buffers ,以此提高数据访问性能。
页高速缓存(cache)是Linux内核实现的一种主要磁盘缓存。它主要用来减少对磁盘的I/O操作。
具体地讲,是通过把磁盘中的数据缓存到物理内存中,把对磁盘的访问变为对物理内存的访问。
磁盘高速缓存的价值在于两个方面:
第一,访问磁盘的速度要远远低于访问内存的速度,因此,从内存访问数据比从磁盘访问速度更快。
第二,数据一旦被访问,就很有可能在短期内再次被访问到。
buffers与cached的异同
buffers是用来缓冲块设备做的,它只记录文件系统的元数据(metadata)以及 tracking in-flight pages, cached是用来给文件做缓冲。
"buffers主要用来存放目录里面有什么内容,文件的属性以及权限等等。而cached直接用来记忆我们打开过的文件和程序"。
cached和buffers与读写没有半毛钱关系,它们都是缓存,唯一的区别是,
cat /dev/sda1 > /dev/null,这样/dev/sda1内容进入buffers,
cat /mnt/aaa/bbb.c > /dev/null,则/mnt/aaa/bbb.c的内容进入cached。