Readahead is a system call of the Linux kernel that loads a file's contents into the page cache. This prefetches the file so that when it is subsequently accessed, its contents are read from the main memory ( RAM) rather than from a hard disk drive (HDD), resulting in much lower file access latencies. [1] [2]
Many Linux distributions use readahead on a list of commonly used files to speed up booting. In such a setup, if the kernel is booted with the profile boot parameter, it will record all file accesses during bootup and write a new list of files to be read during later boot sequences. This will make additional installed services start faster, because they are not included in the default readahead list. [3]
In Linux distributions that use systemd, readahead binary (as part of the boot sequence) was replaced by systemd-readahead. [4] [5] However, support for readahead was removed from systemd in its version 217, being described as unmaintained and unable to provide expected performance benefits. [6]
Certain experimental page-level prefetching systems have been developed to further improve performance. [7]
Readahead is a system call of the Linux kernel that loads a file's contents into the page cache. This prefetches the file so that when it is subsequently accessed, its contents are read from the main memory ( RAM) rather than from a hard disk drive (HDD), resulting in much lower file access latencies. [1] [2]
Many Linux distributions use readahead on a list of commonly used files to speed up booting. In such a setup, if the kernel is booted with the profile boot parameter, it will record all file accesses during bootup and write a new list of files to be read during later boot sequences. This will make additional installed services start faster, because they are not included in the default readahead list. [3]
In Linux distributions that use systemd, readahead binary (as part of the boot sequence) was replaced by systemd-readahead. [4] [5] However, support for readahead was removed from systemd in its version 217, being described as unmaintained and unable to provide expected performance benefits. [6]
Certain experimental page-level prefetching systems have been developed to further improve performance. [7]