systemd-readahead (8) - Linux Manuals

systemd-readahead: Disk read ahead logic


systemd-readahead-replay.service, systemd-readahead-collect.service, systemd-readahead-done.service, systemd-readahead-done.timer, systemd-readahead - Disk read ahead logic






/usr/lib/systemd/systemd-readahead/systemd-readahead [OPTIONS...] COMMAND [DIRECTORY | FILE]


systemd-readahead-collect.service is a service that collects disk usage patterns at boot time. systemd-readahead-replay.service is a service that replays this access data collected at the subsequent boot. Since disks tend to be magnitudes slower than RAM, this is intended to improve boot speeds by pre-loading early at boot all data on disk that is known to be read for the complete boot process.

systemd-readahead-done.service is executed a short while after boot completed and signals systemd-readahead-collect.service to end data collection. On this signal, this service will then sort the collected disk accesses and store information about them in /.readahead.

Normally, both systemd-readahead-collect.service and systemd-readahead-replay.service are activated at boot so that access patterns from the preceding boot are replayed and new data collected for the subsequent boot. However, on read-only media where the collected data cannot be stored, it might be a good idea to disable systemd-readahead-collect.service.

On rotating media, when replaying disk accesses at early boot, systemd-readahead-replay.service will order read requests by their location on disk. On non-rotating media, they will be ordered by their original access timestamp. If the file system supports it, systemd-readahead-collect.service will also defragment and rearrange files on disk to optimize subsequent boot times.


systemd-readahead understands the following options:


Maximum number of files to read ahead. Only valid for thes collect command.


Maximum size of files in bytes to read ahead. Only valid for the collect and replay commands.


Maximum time in microseconds to spend collecting data. Only valid for the collect command.

-h, --help

Print a short help text and exit.


Print a short version string and exit.


The following commands are understood by systemd-readahead:

collect [DIRECTORY]

Collect read-ahead data on early boot. When terminating, it will write out a pack file to the indicated directory containing the read-ahead data.

replay [DIRECTORY]

Perform read-ahead on the specified directory tree.

analyze [FILE]

Dumps the content of the read-ahead pack file to the terminal. For each file, the output lists approximately how much will be read ahead by the replay command.