Index · Directives · Python · libudev · gudev systemd 209

## Name

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

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

`--version`

  Prints a short version string 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 microseconds 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. For each file, the output lists approximately how much will be read ahead by the replay command.

## See Also

systemd(1)