Buffers and caches in 2.6 kernel
I'm trying to find a consistent explanation of what precisely the buffers and caches are used to hold. I've done a lot of reading online, and come across different answers (I suspect some of the documentation was old, and related to the 2.4 (or even 2.2) kernels).
total used free shared buffers cached
Mem: 2014 1769 244 0 12 110
My understanding is that the virtual filesystem implements 4 caches:
* page caching
* inode caching
* directory caching (d-cache)
* buffer caching
Actually, I've also read that these caches are implemented as one big cache at a lower level. But it's still useful to think of them as separate.
Inode and directory caching I'm ok with, but I'm a bit unclear on the difference between the buffer cache and page cache.
I'm also unclear how these 4 caches correspond to the 'cached' and 'buffers' columns in the output of 'free'. I would guess (from their relative size) that 'buffers' contains the inode/directrory caches, and 'cached' the page/buffer caches
Can anyone clarify please, or point me in the direction of some up to date documentation?