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