ureadahead (8) - Linux Manuals

ureadahead: Read files in advance during boot


ureadahead - Read files in advance during boot


ureadahead [OPTIONS]... [PACK]


ureadahead (über-readahead) is used during boot to read files in advance of when they are needed such that they are already in the page cache, improving boot performance.

When started without any arguments, it checks for the existance and age of the default pack file /var/lib/ureadahead/pack, and if not present or older than a month, will discard it and retrace the boot sequence. The pack will then contain information about the files opened during boot, and the blocks that were in memory at the completion of the boot.

If the file exists and is newer than a month old, or an alternate PACK path is given on the command-line, the files listed in the pack are opened and the blocks read into the page cache using the readahead(2) system call.

Pack files are automatically optimised for Solid-State Disks or rotational Hard Drives, depending on which you have.


May be used to report on ureadahead's operation. In particular, this causes information about the size of the pack file to be output when reading and a complete dump of the contents of the pack file after tracing.
Places ureadahead into the background once the pack file has been read, or once tracing has been enabled.

This is ignored when reading on rotational hard drives, since it's important for performance reasons not to contend with other processes for I/O.

Discards all pack files and forces re-tracing.
Normally when tracing, ureadahead will wait for a TERM or INT signal before concluding and generating the pack file. This option instead sets a timeout after which tracing is terminated.
Dump the contents of the pack file to standard output in a pretty format, does not trace or read the contents into memory.
Used with --dump to sort the output.

The default is open, which is the order that the files will be opened. path sorts by path name, disk sorts by on-disk location, and size sorts by the amount of data that will be read for that file.


PACK need not be the filename of a pack, instead it may be the name of a mount point (or indeed any non-file within the filesystem), in which case the pack for that device is read instead. This allows ureadahead to be called in the style ureadahead /usr for filesystems split across multiple devices.

Pack files for these other devices are also stored under /var/lib/ureadahead and are named mountpoint.pack

When tracing, these will be automatically generated.




Written by Scott James Remnant <scott [at] netsplit.com>


Report bugs at <https://launchpad.net/ubuntu/+source/ureadahead/+bugs>


Copyright © 2009 Canonical Ltd.

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.