System information

Tuning the Memory Management Subsystem 185
Similar percentage value as above. When this is exceeded, applications that want
to write to the pagecache are blocked and start performing writeback as well. The
default value is 40 (%).
These two values together determine the pagecache writeback behavior. If these
values are increased, more dirty memory is kept in the system for a longer time.
With more dirty memory allowed in the system, the chance to improve throughput
by avoiding writeback I/O and to submitting more optimal I/O patterns increases.
However, more dirty memory can either harm latency when memory needs to be re-
claimed or at data integrity (sync) points when it needs to be written back to disk.
15.3.3 Readahead parameters
/sys/block/<bdev>/queue/read_ahead_kb
If one or more processes are sequentially reading a file, the kernel reads some da-
ta in advance (ahead) in order to reduce the amount of time that processes have
to wait for data to be available. The actual amount of data being read in advance
is computed dynamically, based on how much "sequential" the I/O seems to be.
This parameter sets the maximum amount of data that the kernel reads ahead
for a single file. If you observe that large sequential reads from a file are not fast
enough, you can try increasing this value. Increasing it too far may result in reada-
head thrashing where pagecache used for readahead is reclaimed before it can
be used, or slowdowns due to a large amount of useless I/O. The default value is
512 (kb).
15.3.4 Further VM Parameters
For the complete list of the VM tunable parameters, see /usr/src/linux/Doc
umentation/sysctl/vm.txt (available after having installed the ker-
nel-source package).
15.4 Non-Uniform Memory Access
(NUMA)
Another increasingly important role of the VM is to provide good NUMA allocation
strategies. NUMA stands for non-uniform memory access, and most of today's mul-