Обмен
ке Linux в процессе установки, скорее всего, на жесткий диск будет добавлен раздел подкачки вместе с разделами для самого Linux. Но для чего нужен этот раздел подкачки и действительно ли он необходим?Также читайте: Нужен ли мне своп в Ubuntu? Реалистичный подход
Что такое своп?
Когда многозадачной операционной системе не хватает физической памяти, она не может запускать новые процессы или выделять больше памяти существующим процессам. Чтобы решить эту проблему, в локальном хранилище (часто
Contents
Что такое своп?
яется специальный блок места, который служит временным хранилищем для процессов, которые в данный момент не выполняются. ОС «вытесняет» неактивный процесс из памяти на жесткий диск. Это освобождает память для новой работы. Когда неактивный процесс снова станет активным, он будет перемещён обратно из локального хранилища в память. Эта процедура называется заменой.Действительно ли необходимо пространство подкачки?
Является ли пространство подкачки технически необходимым? Нет. Linux может работать без него, а в некоторых ситуациях, например, во встроенных решениях, Linux можно запускать без подкачки. Если ОС попадает в ситуацию, когда ей не хватает памяти, она паникует и останавливается. Если физической оперативной памяти достаточно, машина заработает без проблем.
Практически ли необходимо пространство подкачки? Да. Хотя подкачка замедляет работу компьютера (поскольку чтение и запись на жесткий диск происходит намного медленнее, чем доступ к оперативной памяти), а наличие большого количества физической памяти на борту является лучшим решением, позволяющим избежать подкачки, существуют вполне обоснованные ситуации, когда подкачка желательна. Например, во время загрузки системы могут быть процессы, которые выполняются (и, таким образом, потреб
Действительно ли необходимо пространство подкачки?
име ожидания в течение очень длительных периодов времени. Или память, которая выделяется, записывается и больше никогда не используется. В таких ситуациях алгоритм подкачки начнет переносить эту память на жесткий диск и таким образом освободить ценную системную память. Это фактически гарантирует постоянную доступность максимального объема оперативной памяти и, таким образом, повышает производительность.На машинах, у которых недостаточно физической оперативной памяти для размещения всего в памяти, использование пространства подкачки необходимо!
Для полноты стоит упомянуть, что в Linux также есть подсистема под названием Out-Of-Memory Killer (OOM), которая вместо того, чтобы останавливать ядро, когда ему не хватает памяти, начинает убивать процессы, чтобы освободить ресурсы.. Его действия настраиваются.
Сколько места подкачки мне следует выделить?
Не существует абсолютного правила, и поскольку место на жестком диске стоит дешево (доллар за гигабайт), лучше выделить слишком много места, чем слишком мало. Как правило, у вас должно быть в два или три раза больше места подкачки, чем физической памяти.
Добавление раздела подкачки без расширения раздела подкачки
Есть два способа добавить пространство подкачки в систему без изменения существующего раздела подкачки. Один из способов — использовать раздел подкачки на другом диске, другой — использовать файл подкачки .
Чтобы использовать другой жесткий диск, создайте раздел типа «Linux swap» (код 82), а затем запустите команду «mkswap
», чтобы подготовить пространство подкачки:
mkswap /dev/sdb2
Где /dev/sdb2
— имя созданного вами раздела. Чтобы немедленно использовать пространство подкачки, используйте команду «swapon
»:
swapon /dev/sdb2
Используйте «swapon -s
», чтобы получить список используемых в данный момент пространств подкачки. Чтобы навсегда добавить пространство подкачки в систему, вам нужно будет отредактировать файл /etc/fstab
и добавить строку, подобную этой:
/dev/sdb2 none swap sw 0 0
Если ваша система использует уникальные идентификаторы для именования дисков, используйте команду blkid
, чтобы получить список идентификаторов устройств. Строка для монтирования пространства подкачки в /etc/fstab
будет выглядеть примерно так:
UUID=036da155-1ea1-4392-b8d4-700f65aa1ead none swap sw 0 0
Чтобы использовать файл для подкачки, создайте большой пустой файл (с помощью dd
) в файловой системе, которую вы хотите использовать для подкачки. Например, чтобы создать файл размером 1 ГБ, введите:
dd if=/dev/zero of=/store/swapfile bs=1024Сколько места подкачки мне следует выделить?де /store/swapfile
— путь к файлу подкачки в нужной файловой системе.Как и в случае с дополнительным разделом подкачки, файл теперь необходимо подготовить с помощью
mkswap
, а затем использовать сswapon
. Его также необходимо добавить в файл/etc/fstab
. Процедура точно такая же, как описано выше, но в качестве параметра пространства подкачки вам нужно использовать/store/swapfile
, а не/dev/sdb2
.Добавление раздела подкачки без расширения раздела подкачки
t.ru/2015/08/21/upravlyat-ispolzovaniem-podkachki-v-linux/" title="изменено, чтобы определить, насколько агрессивно следует пытаться вытеснить процессы из памяти">изменено, чтобы определить, насколько агрессивно следует пытаться вытеснить процессы из памяти . Эта тенденция контролируется переменной ядра под названиемswappiness
. Значениеswappiness
, равное 0, означает, что ядро будет избегать подкачки, насколько это возможно, а 100 означает, что ядро будет агрессивно использовать пространство подкачки. Значение по умолчанию для многих дистрибутивов Linux — 60. Это число можно изменить динамически с помощью этой команды:sudo sysctl vm.swappiness=10Чтобы навсегда установить значение, необходимо изменить (или добавить, если она не существует) переменную
vm.swappiness
в файле/etc/sysctl.conf
.Если у вас возникнут вопросы по поводу подкачки в Linux, дайте нам знать.
Эта статья была впервые опубликована в декабре 2013 года и обновлена в августе 2020 года.
Изображение предоставлено: менять