## Name

systemd-readahead-replay.service, systemd-readahead-collect.service, systemd-readahead-done.service, systemd-readahead-done.timer, systemd-readahead — systemd 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`

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

## See Also

systemd(1)