概述
1.页高速缓存主要是用来减少磁盘IO的操作,把磁盘的数据缓存到物理内存中
2.页高速缓存是由内存中的物理页面组成,其内容对应磁盘上的物理块
3.Linux使用回写技术,程序写操作直接写到缓存,然后回写进程周期性的将它们写到磁盘
4.在缓存回收方面,Linux使用的双链策略,维护两个链表,一个活跃,一个非活跃,处于活跃链表上的页表不会被换出,非活跃链表上的会被换出
5.在2.4版本之前,一个磁盘块可以同时驻留到页高速缓存和缓冲区高速缓存,这样重复缓存浪费资源,如今只有一个页高速缓存了
flusher线程
1.在下面三种情况时,缓存会更新到磁盘:
- 空闲内存不够了
- 缓存超时
- 用户使用sync和fsync系统调用的时候
2.膝上型计算机模式是一种页回写策略,也就是flusher会对准磁盘旋转的时机进行回写,其余传统方式一致,很多linux系统当计算机使用电池时会使用这种策略来省电
3.flusher不仅仅是一个线程,不同的flusher线程处理不同的设备队列,每个磁盘一个线程操作,降低了饥饿风险