systemd-readahead-replay.service

systemd
Developer Lennart Poettering lennart@poettering.net
systemd-readahead-replay.service 8
systemd-readahead-replay.service systemd-readahead-collect.service systemd-readahead-done.service systemd-readahead-done.timer systemd-readahead Disk read ahead logic

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

## See Also

systemd 1