System information

Tuning the Memory Management Subsystem 181
as inode tables, allocation bitmaps, and so forth. Buffercache can be reclaimed simi-
larly to pagecache.
15.1.4 Buffer Heads
Buffer heads are small auxiliary structures that tend to be allocated upon pagecache
access. They can generally be reclaimed easily when the pagecache or buffercache
pages are clean.
15.1.5 Writeback
As applications write to files, the pagecache (and buffercache) becomes dirty. When
pages have been dirty for a given amount of time, or when the amount of dirty mem-
ory reaches a particular percentage of RAM, the kernel begins writeback. Flusher
threads perform writeback in the background and allow applications to continue run-
ning. If the I/O cannot keep up with applications dirtying pagecache, and dirty data
reaches a critical percentage of RAM, then applications begin to be throttled to pre-
vent dirty data exceeding this threshold.
15.1.6 Readahead
The VM monitors file access patterns and may attempt to perform readahead. Reada-
head reads pages into the pagecache from the file system that have not been requested
yet. It is done in order to allow fewer, larger I/O requests to be submitted (more effi-
cient). And for I/O to be pipelined (I/O performed at the same time as the application
is running).
15.1.7 VFS caches
15.1.7.1 Inode Cache
This is an in-memory cache of the inode structures for each file system. These contain
attributes such as the file size, permissions and ownership, and pointers to the file da-
ta.