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]
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.
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.
The following commands are understood by
systemd-readahead
:
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.
DIRECTORY
]¶Perform read-ahead on the specified directory tree.
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.