Библиотека сайта rus-linux.net
Глава 5. Управление памятью
Этот раздел описывает основы управления памятью в Linux, виртуальную память и дисковый кэш-буфер. Описано все, что администратор системы должен учесть при настройке.
Что такое виртуальная память?
Linux поддерживает виртуальную память, то есть использует диск как расширение оперативной памяти так, чтобы эффективный размер пригодной для использования памяти был больше размера памяти, реально установленной в системе. Ядро пишет содержимое блока памяти, неиспользуемого в настоящее время на жесткий диск так, чтобы память могла использоваться для другой цели. Когда первоначальное содержание понадобится снова, оно будет считано обратно в память. Этот механизм сделано полностью прозрачным для пользователя; программы, запущенные под Linux, видят только большой доступный объем памяти, и не обращают внимания на то, что их части время от времени оказываются на диске. Конечно, чтение и запись жесткого диска медленнее, чем использование реальной памяти, так что программы не выполняются как быстро. Часть жесткого диска, который используется как виртуальная память, называется свопом.
Linux может использовать нормальный файл в любой файловой системе или отдельном разделе для свопа. Раздел для свопа быстрее, но проще изменить размер файла подкачки (нет никакой потребности к перераспределению целого жесткого диска и, возможно, устанавке всего с нуля). Когда Вы знаете, сколько места для свопа Вам надо, Вы должны использовать раздел для свопа, но если Вы не уверенные, лучше сначала использовать файл подкачки сначала, поработать с системой некоторое время, чтобы Вы могли получить представление о том, сколько места Вам нужно, и затем, когда вы будете уверены относительно размера, создать раздел для свопа.
Вы должны также знать, что Linux позволяет использовать несколько разделов и/или файлов подкачки в одно и то же время. Это означает, что, если Вы только иногда нуждаетесь в большом количестве виртуальной памяти, Вы можете устанавливать дополнительный файл подкачки в таких случаях, вместо того, чтобы хранить такой файл постоянно.
Примечание относительно терминологии операционной системы: информатика обычно различает между подкачкой (запись целого процесса, чтобы менять свободное место) и листание (запись только частей фиксированного размера, обычно несколько килобайт, одновременно). Листание обычно более эффективно, и именно его Linux и использует, но традиционно терминология в Linux употребляет все же термин подкачки.