Создание swap области

Swap файл является обычным файлом и ничем не выделяется для ядра. Имеет значение только то, что этот файл не содержит дыр и должен быть подготовлен для выполнения команды mkswap(8). Он должен размещаться на локальном диске и не может быть расположен в файловой системе, смонтированной через NFS.

Отсутствие дыр в swap файле очень важно. Под этот файл резервируется дисковое пространство таким образом, что ядро может быстро обработать блок данных без поиска отдельных секторов и т.п. Ядро просто использует все распределенные для этого файла сектора. Наличие дыры в файле означает, что в указанном месте нет распределенных секторов, что снижает скорость обмена данными.

В следующем примере показано, как создать swap файл, не содержащий дыр:

ttyp5 root ~  $ dd if=/dev/zero of=/extra-swap bs=1024 count=1024
1024+0 records in
1024+0 records out
ttyp5 root ~  $

где /extra-swap это имя swap файла, а его размер указан после параметра count=. Наиболее эффективно устанавливать объем этого файла кратным четырем, так как ядро производит обмен страницами по 4 килобайта в каждой. Если размер swap файла не кратен четырем, то последние несколько килобайт могут быть неиспользованными.

Swap раздел также особо не отличается от других разделов. Его можно создать также как и любой другой раздел, только единственное отличие состоит в том, что он не содержит какой-либо файловой системы. Следует устанавливать тип swap разделов равным 82 (Linux swap), что делает список разделов понятнее, хотя это не является необходимым для ядра.

После создания swap файла или раздела следует записать в его начало некоторую системную информацию, которую использует ядро. Для этого применяется команда mkswap(8):

ttyp5 root ~  $ mkswap /extra-swap 1024
Setting up swapspace, size = 1044480 bytes
ttyp5 root ~  $

Следует заметить, что swap область еще не используется. Она существует, но ядро ее не использует для работы с виртуальной памятью.

Менеджер памяти Linux ограничивает размер любой swap области 127.5 мегабайтами. Может быть создана swap область большего размера, но будут использоваться только первые 127.5 Мб. Однако можно создать до 16 swap областей с общим объемом почти 2 Гб.

В целом, swap область является критически важным компонентом для функционирования системы, особенно в случае ограниченного объема оперативной памяти. Однако следует помнить, что постоянное использование swap может указывать на нехватку оперативной памяти и может потребовать апгрейда аппаратного обеспечения.