| <?xml version='1.0'?> <!--*-nxml-*--> |
| <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |
| "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> |
| |
| <!-- |
| This file is part of systemd. |
| |
| Copyright 2010 Lennart Poettering |
| |
| systemd is free software; you can redistribute it and/or modify it |
| under the terms of the GNU Lesser General Public License as published by |
| the Free Software Foundation; either version 2.1 of the License, or |
| (at your option) any later version. |
| |
| systemd is distributed in the hope that it will be useful, but |
| WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| Lesser General Public License for more details. |
| |
| You should have received a copy of the GNU Lesser General Public License |
| along with systemd; If not, see <http://www.gnu.org/licenses/>. |
| --> |
| |
| <refentry id="systemd-readahead-replay.service" conditional='ENABLE_READAHEAD' |
| xmlns:xi="http://www.w3.org/2001/XInclude"> |
| |
| <refentryinfo> |
| <title>systemd-readahead-replay.service</title> |
| <productname>systemd</productname> |
| |
| <authorgroup> |
| <author> |
| <contrib>Developer</contrib> |
| <firstname>Lennart</firstname> |
| <surname>Poettering</surname> |
| <email>lennart@poettering.net</email> |
| </author> |
| </authorgroup> |
| </refentryinfo> |
| |
| <refmeta> |
| <refentrytitle>systemd-readahead-replay.service</refentrytitle> |
| <manvolnum>8</manvolnum> |
| </refmeta> |
| |
| <refnamediv> |
| <refname>systemd-readahead-replay.service</refname> |
| <refname>systemd-readahead-collect.service</refname> |
| <refname>systemd-readahead-done.service</refname> |
| <refname>systemd-readahead-done.timer</refname> |
| <refname>systemd-readahead</refname> |
| <refpurpose>Disk read ahead logic</refpurpose> |
| </refnamediv> |
| |
| <refsynopsisdiv> |
| <para><filename>systemd-readahead-replay.service</filename></para> |
| <para><filename>systemd-readahead-collect.service</filename></para> |
| <para><filename>systemd-readahead-done.service</filename></para> |
| <para><filename>systemd-readahead-done.timer</filename></para> |
| <cmdsynopsis> |
| <command>/usr/lib/systemd/systemd-readahead/systemd-readahead</command> |
| <arg choice="opt" rep="repeat">OPTIONS</arg> |
| <arg choice="plain">COMMAND</arg> |
| <arg choice="opt">DIRECTORY | FILE</arg> |
| </cmdsynopsis> |
| </refsynopsisdiv> |
| |
| <refsect1> |
| <title>Description</title> |
| |
| <para><filename>systemd-readahead-collect.service</filename> |
| is a service that collects disk usage patterns at boot |
| time. <filename>systemd-readahead-replay.service</filename> |
| 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.</para> |
| |
| <para><filename>systemd-readahead-done.service</filename> |
| is executed a short while after boot completed and signals |
| <filename>systemd-readahead-collect.service</filename> |
| to end data collection. On this signal, this service |
| will then sort the collected disk accesses and store |
| information about them in |
| <filename>/.readahead</filename>.</para> |
| |
| <para>Normally, both |
| <filename>systemd-readahead-collect.service</filename> |
| and |
| <filename>systemd-readahead-replay.service</filename> |
| 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 |
| <filename>systemd-readahead-collect.service</filename>.</para> |
| |
| <para>On rotating media, when replaying disk accesses |
| at early boot, |
| <filename>systemd-readahead-replay.service</filename> |
| 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, |
| <filename>systemd-readahead-collect.service</filename> |
| will also defragment and rearrange files on disk to |
| optimize subsequent boot times.</para> |
| </refsect1> |
| |
| <refsect1> |
| <title>Options</title> |
| |
| <para><filename>systemd-readahead</filename> understands |
| the following options:</para> |
| |
| <variablelist> |
| <varlistentry> |
| <term><option>--max-files=</option></term> |
| |
| <listitem><para>Maximum number of |
| files to read ahead. Only valid |
| for thes <command>collect</command> |
| command.</para></listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <term><option>--file-size-max=</option></term> |
| |
| <listitem><para>Maximum size of files |
| in bytes to read ahead. Only valid |
| for the <command>collect</command> |
| and <command>replay</command> |
| commands.</para></listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <term><option>--timeout=</option></term> |
| |
| <listitem><para>Maximum time in microseconds |
| to spend collecting data. Only valid |
| for the <command>collect</command> |
| command.</para></listitem> |
| </varlistentry> |
| |
| <xi:include href="standard-options.xml" xpointer="help" /> |
| <xi:include href="standard-options.xml" xpointer="version" /> |
| </variablelist> |
| |
| </refsect1> |
| |
| <refsect1> |
| <title>Commands</title> |
| |
| <para>The following commands are understood by |
| <filename>systemd-readahead</filename>:</para> <variablelist> |
| <varlistentry> |
| <term><command>collect |
| [<replaceable>DIRECTORY</replaceable>]</command></term> |
| <listitem> |
| <para>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. </para> |
| </listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <term><command>replay |
| [<replaceable>DIRECTORY</replaceable>]</command></term> |
| <listitem> |
| <para>Perform read-ahead on the |
| specified directory tree.</para> |
| </listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <term><command>analyze |
| [<replaceable>FILE</replaceable>]</command></term> |
| <listitem> |
| <para>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 <command>replay</command> |
| command.</para> |
| </listitem> |
| </varlistentry> |
| |
| </variablelist> |
| </refsect1> |
| |
| <refsect1> |
| <title>See Also</title> |
| <para> |
| <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry> |
| </para> |
| </refsect1> |
| |
| </refentry> |