标签 cache 下的文章

Page Cache和Buffer Cache的区别

在监控中开始对着两个Cache有点搞不清楚,后来查了下,弄清楚了它们的区别,都是Cache但完全不是缓存一种东西,很好区分。 磁盘的操作有逻辑级(文件系统)和物理级(磁盘块),这两种Cache就是分别缓存逻辑和物理级数据的。 假设我们通过文件系统操作文件,那么文件将被缓存到Page Cache,如果需要刷新文件的时候,Page Cache将交给Buffer Cache去完成,因为Buffer Cache就是缓存磁盘块的。 也就是说,直接去操作文件,那就是Page Cache区缓存,用dd等命令直接操作磁盘块,就是Buffer Cache缓存的东西。 转自http://www.penglixun.co ...

Linux Cache 机制探究

经过研究了下Linux相关代码,把对Linux Cache实现的方式做一些总结。 相关源码主要在: ./fs/fscache/cache.c Cache实现的代码 ./mm/slab.c SLAB管理器代码 ./mm/swap.c 缓存替换算法代码 ./mm/mmap.c 内存管理器代码 ./mm/mempool.c 内存池实现代码 0. 预备:Linux内存管理基础 创建进程fork()、程序载入execve()、映射文件mmap()、动态内存分配malloc()/brk()等进程相关操作都需要分配内存给进程。不过这时进程申请和获得的还不是实际内存,而是虚拟内存,准确的说是“内存区 ...