操作系统磁盘缓存
磁盘缓存
为了减少CPU读取IO设备的次数,从而提高系统性能,系统会在物理内存中为磁盘分配一块地方用来做磁盘缓存。磁盘数据会通过磁盘缓存进行读写。
当我们在读一个文件的时候,操作系统会检查磁盘缓存中是否存在,存在直接返回,不存在再去执行真正的IO操作;
当在写文件时,也不是直接写磁盘文件。而是写入缓存中,这时写过的缓存会被标记为脏页,操作系统会定期地将文件回写到磁盘中。
Linux中可以通过free查看磁盘缓存的大小。
free -w -h
总计 已用 空闲 共享 Buffers Cache 可用
内存: 15Gi 7.8Gi 2.0Gi 729Mi 1.4Gi 4.3Gi 6.6Gi
之前的buffer cache和PageCache是分开的,目前的Linux内核两者是融合的。
很多地方都在强调Buffer Cache和PageCache的区别,我觉得实际意义不大,只是一种逻辑概念区别而已。
参考资料:
Linux内核Page Cache和Buffer Cache关系及演化历史
--------EOF---------
微信分享/微信扫码阅读
微信分享/微信扫码阅读