systemd-readahead(8) Disk read ahead logic

Other Alias

systemd-readahead-replay.service, systemd-readahead-collect.service, systemd-readahead-done.service, systemd-readahead-done.timer

SYNOPSIS

systemd-readahead-replay.service

systemd-readahead-collect.service

systemd-readahead-done.service

systemd-readahead-done.timer

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

DESCRIPTION

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 disk 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.

OPTIONS

systemd-readahead understands the following options:

-h, --help

Prints a short help text and exits.

--max-files=

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

--file-size-max=

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

--timeout=

Maximum time (in usec) to to spend collecting data. Only valid for the collect command.

COMMANDS

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. The output lists approximately for each file how much will be read-ahead by the replay command.