1. page cache /buffer cache 的区别:
磁盘的操作有逻辑级(文件系统)和物理级(磁盘块),这两种Cache就是分别缓存逻辑和物理级数据的。
假设我们通过文件系统操作文件,那么文件将被缓存到Page Cache,如果需要刷新文件的时候,Page Cache将交给Buffer Cache去完成,因为Buffer Cache就是缓存磁盘块的。
假设我们通过文件系统操作文件,那么文件将被缓存到Page Cache,如果需要刷新文件的时候,Page Cache将交给Buffer Cache去完成,因为Buffer Cache就是缓存磁盘块的。
2. free 里面的page cache /buffer cache
$free -m
total used free shared buffers cached
Mem: 129169 110777 18392 0 585 102936
-/+ buffers/cache: 7255 121914
Swap: 1952 714 1238
(1). 里面的cached: 指的就是page cache
(2). 里面的buffers:buffer cache
3.内存锁 lock的应用
(1). 我们用文件系统读取文件(cat *.txt) 会把数据写到page cache 里面;我们可以对文件进行加lock;如果一旦把内存中的数据加锁lock;
这样再内存不过时就不会把已经加上lock的数据交换到swap或者磁盘;这样能避免核心数据被交换出;因为核心数据被交换出去buffer cache或者磁盘
再次读取会影响服务的性能;latency timeout