Подкачка Linux, кто использует

Обновлено: 03.07.2024

Я упоминаю Linux swap и swappiness почти в каждой статье о том, что делать после установки Linux. Вы знаете, что подкачка в Linux каким-то образом связана с оперативной памятью, и подкачка может повлиять на производительность вашей системы. Пришло время более подробно объяснить, что это такое и как его использовать.

Видео

Что такое Linux Swap?

Ядро Linux делит оперативную память на фрагменты памяти, а процесс подкачки заключается в том, что ядро ​​Linux использует пространство на жестком диске (пространство подкачки) для хранения информации из ОЗУ и, таким образом, освобождает место в ОЗУ. Вот почему, когда вы устанавливаете дистрибутив Linux, мастер установки обычно просит вас выделить одно место для системы и другое для свопа.

Использование подкачки — очень полезный способ расширения ОЗУ, поскольку он обеспечивает необходимую дополнительную память, когда пространство ОЗУ исчерпано и процесс необходимо продолжить. Это особенно рекомендуется, когда у вас менее 1 ГБ ОЗУ. Хотя в конечном итоге все зависит от вас.

Вам нужен Linux Swap?

Этот вопрос задают себе многие начинающие пользователи, когда начинают знакомиться с Linux. Фактически, это будет зависеть от использования и объема оперативной памяти вашего компьютера. Что касается использования, то есть процессы и приложения, которые действительно используют много памяти, например, Google Chrome. Тем не менее, большая часть современного оборудования поставляется с оперативной памятью не менее 8 ГБ, что делает процесс подкачки менее необходимым. Тем не менее, желательно иметь пространство подкачки, даже если у вас много оперативной памяти.

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

Примечание: пространство подкачки имеет один недостаток — оно намного медленнее, чем оперативная память. Таким образом, добавление области подкачки не ускорит работу вашего компьютера, а только поможет преодолеть некоторые ограничения, связанные с объемом оперативной памяти.

Раздел подкачки Linux

Я рекомендую вам создать раздел подкачки во время установки вашего дистрибутива Linux. Как правило, это рекомендуемые размеры раздела подкачки.

  • Если на вашем компьютере 1 ГБ ОЗУ или меньше, раздел подкачки должен быть в два раза больше ОЗУ.
  • Но если у вас от 2 ГБ до 4 ГБ ОЗУ, размер раздела подкачки должен составлять половину ОЗУ.
  • Наконец, если у вас более 4 ГБ ОЗУ, то достаточно 2 ГБ.

Но все зависит от вашего варианта использования.

Вы можете проверить тип и размер свопа с помощью этой команды:

Swapon output

Вывод подкачки

Выше у меня есть раздел подкачки размером 2 ГБ.

Файл подкачки Linux

В качестве альтернативы вы можете создать файл подкачки Linux после установки. Современное ядро ​​​​Linux позволяет использовать файл подкачки вместо раздела подкачки. Файл подкачки имеет то преимущество перед разделом подкачки, что вы можете легко изменить размер вашего файла подкачки в любое время, изменив размер файла подкачки.

Если вы хотите создать файл подкачки, сначала выполните эту команду:

Примечание: эта команда предназначена для создания файла подкачки размером 1 Гб. Замените 1G на нужное значение.

Далее необходимо установить правильные разрешения.

Затем отформатируйте файл для замены.

Наконец, включите обмен.

Создание свопа Linux файл

Создание файла подкачки Linux

Если вы хотите, чтобы изменения были постоянными, вам нужно отредактировать файл /etc/fstab и добавить следующее.

3. Добавьте файл подкачки linux в fstab

<р>3. Добавьте файл подкачки Linux в fstab

В конце проверьте состояние файла подкачки:

4. Проверьте Состояние файла подкачки Linux

<р>4. Проверьте состояние файла подкачки Linux

Если вы видите размер файла подкачки в столбце total, вы все сделали правильно.

Как удалить файл подкачки Linux

Если по какой-либо причине вам нужно удалить файл подкачки Linux, выполните следующие действия.

Сначала отключите обмен.

Если вы создали запись в файле /etc/fstab, удалите ее. Напомню, что это строка: /swapfile swap swap defaults 0 0 entry.

Наконец, удалите фактический файл подкачки Linux.

5. Удаление файла подкачки Linux

<р>5. Удаление файла подкачки Linux

Как настроить значение Swappiness

Подкачка — это свойство ядра Linux, определяющее, как часто будет использоваться пространство подкачки. Как известно, оперативная память работает быстрее, чем жесткий диск. Итак, каждый раз, когда вам нужно использовать своп, вы заметите, что некоторые процессы и приложения будут работать медленнее. Однако вы можете настроить систему так, чтобы она использовала гораздо больше оперативной памяти, чем подкачка. Это может помочь повысить общую производительность системы.

Обычно значение swappiness по умолчанию равно 60. Чем меньше это значение, тем больше оперативной памяти будет использоваться.

Чтобы проверить значение swappiness, выполните следующую команду:

Вы должны увидеть значение 60.

Показать значение swappiness по умолчанию значение

Показать значение swappiness по умолчанию

Если вы хотите изменить значение по умолчанию, вам нужно отредактировать файл /etc/sysctl.conf .

И добавьте следующее (10 — наиболее часто рекомендуемое значение):

Изменить значение подкачки

Изменить значение подкачки

Сохраните файл и закройте его с помощью сочетаний клавиш Ctrl+O и Ctrl+X. Для применения изменений необходимо перезагрузить систему.

Таким образом, ваше ядро ​​Linux будет использовать больше ОЗУ и меньше подкачки, но оно все равно будет подкачиваться, когда ваша оперативная память становится критически заполненной. Обычно этот параметр рекомендуется, если у вас более 4 ГБ ОЗУ.

Заключение

И в заключение, безопаснее иметь на компьютере место подкачки. Вы можете использовать либо раздел подкачки, либо файл подкачки. Последнее становится все более распространенным.

Подкачка в Linux — это техническая концепция, но знание того, как она работает, может повысить производительность системы. Просто поиграйте со значением swappiness.

Есть ли у вас что добавить по поводу свопа в Linux? Изменили ли вы значение по умолчанию swappiness? Дайте мне знать в комментариях.

Пожалуйста, поддержите этот проект:

Average Linux UserFollow Я являюсь основателем проекта Average Linux User, это хобби, над которым я работаю по ночам. Днем я ученый, который использует компьютеры для анализа генетических данных.

Мы знаем, что использование пространства подкачки в Linux вместо ОЗУ (памяти) может сильно снизить производительность. Итак, кто-то может спросить, поскольку у меня более чем достаточно доступной памяти, не лучше ли удалить пространство подкачки? Короткий ответ: нет. Есть преимущества в производительности, когда пространство подкачки включено, даже если у вас более чем достаточно оперативной памяти. Обновление, см. также Часть 2. Производительность Linux: почти всегда добавляйте подкачку (ZRAM).

Даже если на сервере установлено более чем достаточно памяти, вы часто обнаружите, что пространство подкачки будет использоваться после длительных периодов безотказной работы. См. приведенный ниже пример с сервера чата, работающего около месяца:

Выходные данные команды free -h показывают, что используется 308 МБ пространства подкачки. Когда я запускал проверки подкачки, не было никаких признаков продолжающейся или несвоевременной активности ввода-вывода подкачки. Кроме того, служба kswap не потребляла много процессорного времени. На самом деле процесса kswap нигде не было в топе (топ процессов, отсортированных по процессорному времени). Для подтверждения я использовал следующую команду:

…так что в этом случае, как и во многих других случаях, использование подкачки не влияет на производительность сервера Linux. Теперь давайте посмотрим, как пространство подкачки на самом деле может повысить производительность сервера Linux.

Преимущества пространства подкачки в системах с достаточным объемом оперативной памяти

поверх 512 ГБ сервер - использован своп 2GB

Это нормально и может быть полезно для систем Linux использовать некоторый объем подкачки, даже если есть еще доступная оперативная память. Ядро Linux будет перемещать страницы памяти, которые почти никогда не используются, в пространство подкачки, чтобы обеспечить еще больше кэшируемого пространства в памяти для более часто используемых страниц памяти (страница — это часть памяти). . Использование подкачки становится проблемой производительности, когда ядро ​​вынуждено постоянно перемещать страницы памяти в память и из пространства подкачки.

Другое преимущество заключается в том, что подкачка дает администраторам время отреагировать на проблемы с нехваткой памяти. Мы часто замечаем, что сервер работает медленно, и при входе в систему мы замечаем интенсивную подкачку. Без подкачки (как описано в следующем разделе) нехватка памяти может привести к гораздо более внезапным и серьезным цепным реакциям. Поэтому обычно я бы посоветовал установить пространство подкачки примерно на размер вашего самого большого процесса. Например, сконфигурированная память MySQL в файле my.cnf. Он может быть даже меньше, особенно если у вас есть мониторинг и/или оповещения.

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

Подводя итог:
— Даже если ОЗУ все еще доступно, ядро ​​Linux будет перемещать страницы памяти, которые почти никогда не используются, в пространство подкачки.
— Страницы памяти, которые какое-то время были неактивны, лучше подкачивать, оставляя часто используемые данные в кеше, и это должно происходить в то время, когда сервер наиболее простаивает, что и является целью ядра.
— Не устанавливайте слишком большое пространство подкачки, если это приведет к увеличению проблем с производительностью, простоям или времени отклика (без надлежащего мониторинга/предупреждений).

Пространство подкачки или отсутствие подкачки при нехватке доступной памяти

В отличие от приведенного выше случая, если у вас недостаточно памяти, подкачка будет использоваться довольно часто и заметно чаще во время пиковых требований к памяти. Если у вас недостаточно памяти и нет места подкачки, это часто приводит к невозможности выделения памяти для запросов, требующих большего количества страниц памяти. В крайнем случае ядро ​​развернет убийцу OOM для уничтожения процессов с большим объемом памяти (обычно MySQL, Java и т. д.).

Подводя итог:
— Swap I/O масштабируется очень плохо. Если страницы памяти не могут быть заменены только во время простоя сервера, вы должны настроить или отключить обмен. Обычно это не так, отсюда и заголовок этого сообщения в блоге «почти всегда».
— При отключенном свопе проблемы с производительностью становятся заметными очень быстро, и убийца OOM может вас достать! :)

Для сравнения, вот вывод free с использованием более старой версии free от procps-ng-3.3.1 на том же сервере:

Давление кэша ядра и подкачка

Теперь, когда вы включили своп. Рассмотрите возможность настройки нагрузки на кэш-память вашего сервера и тенденции к подкачке (vm.swappiness), следуя приведенному ниже руководству, взятому из предыдущей статьи: Linux-серверу требуется обновление оперативной памяти? Проверьте с помощью top, free, vmstat и sar:

vfs_cache_pressure — управляет тенденцией ядра освобождать память, которая используется для кэширования объектов каталогов и inode. (по умолчанию = 100, рекомендуемое значение от 50 до 200)

swappiness — этот элемент управления используется для определения того, насколько агрессивно ядро ​​будет менять местами страницы памяти. Более высокие значения повысят агрессивность; более низкие значения уменьшают объем свопа. (по умолчанию = 60, рекомендуемые значения от 1 до 60) Удалите значение swap для значения 0, но в большинстве случаев это не рекомендуется.

Для редактирования вы можете добавить или заменить эти строки в файле /etc/sysctl.conf. Например, если у вас мало памяти до обновления, вы можете попробовать что-то вроде:

Это повысит нагрузку на кэш, что может показаться несколько контрпродуктивным, поскольку кэширование положительно сказывается на производительности. Однако слишком частая подкачка значительно снижает общую производительность вашего сервера. Таким образом, меньшее количество кеша в памяти поможет уменьшить активность подкачки. Кроме того, если для vm.swappiness установлено значение 10 или меньше 1, это уменьшит подкачку дисков.

На исправном сервере с большим объемом доступной памяти используйте следующее:

Это снизит нагрузку на кэш. Поскольку кэширование положительно влияет на производительность, мы хотим дольше хранить кэшированные данные в памяти. Поскольку кеш будет увеличиваться, мы по-прежнему хотим уменьшить объем операций подкачки, чтобы не увеличивать объем операций ввода-вывода подкачки.

Чтобы проверить текущие значения с помощью этих команд, используйте:

Чтобы временно включить эти настройки без перезагрузки, используйте следующие команды:

Справочные страницы для обеих бесплатных версий следует рассматривать независимо друг от друга. См. снимок экрана самой последней версии ниже.


< /p>

Теги: Linux, память, производительность, сервер, системные администраторы

Загрузите мою бесплатную 101 полезную команду Linux (PDF).

Кроме того, я буду уведомлять вас о публикации новых статей по Linux. - Подпишитесь сейчас и получите мой бесплатный PDF-файл.
(В среднем 1-2 письма в месяц.)

Узнайте, как изменить объем пространства подкачки, доступный в вашей системе Linux, и сколько вам действительно нужно.

символ цикла со стрелками для более быстрого отказа

В типичном компьютере есть два основных типа памяти. Первый тип, оперативная память (ОЗУ), используется для хранения данных и программ, пока они активно используются компьютером. Программы и данные не могут использоваться компьютером, если они не хранятся в оперативной памяти. ОЗУ — энергозависимая память; то есть данные, хранящиеся в оперативной памяти, теряются при выключении компьютера.

Жесткие диски – это магнитные носители, используемые для долговременного хранения данных и программ.Магнитный носитель энергонезависим; данные, хранящиеся на диске, сохраняются даже при отключении питания от компьютера. ЦП (центральный процессор) не может напрямую обращаться к программам и данным на жестком диске; сначала он должен быть скопирован в ОЗУ, и именно там ЦП может получить доступ к своим инструкциям по программированию и данным, с которыми будут работать эти инструкции. В процессе загрузки компьютер копирует определенные программы операционной системы, такие как ядро ​​и init или systemd, а также данные с жесткого диска в оперативную память, где к ним непосредственно обращается процессор компьютера, ЦП.

Второй тип памяти в современных системах Linux — это пространство подкачки.

Поменять местами

Дополнительные ресурсы по Linux

Основная функция области подкачки – замена оперативной памяти на диске, когда оперативная память заполняется и требуется больше места.

Например, предположим, что у вас есть компьютер с 8 ГБ ОЗУ. Если вы запускаете программы, которые не заполняют эту оперативную память, все в порядке, и подкачка не требуется. Но предположим, что электронная таблица, над которой вы работаете, увеличивается, когда вы добавляете больше строк, и это, плюс все остальное, что работает, теперь заполняет всю оперативную память. Без свободного пространства подкачки вам придется прекратить работу с электронной таблицей до тех пор, пока вы не освободите часть своей ограниченной оперативной памяти, закрыв некоторые другие программы.

Ядро использует программу управления памятью, которая обнаруживает блоки памяти, также известные как страницы, содержимое которых в последнее время не использовалось. Программа управления памятью выгружает достаточное количество этих относительно редко используемых страниц памяти в специальный раздел на жестком диске, специально предназначенный для «подкачки» или подкачки. Это освобождает оперативную память и освобождает место для ввода дополнительных данных в электронную таблицу. Те страницы памяти, которые выгружаются на жесткий диск, отслеживаются кодом управления памятью ядра и при необходимости могут быть выгружены обратно в ОЗУ.

Общий объем памяти на компьютере с Linux — это объем ОЗУ плюс пространство подкачки, и он называется виртуальной памятью.

Типы подкачки Linux

Linux поддерживает два типа пространства подкачки. По умолчанию в большинстве установок Linux создается раздел подкачки, но также можно использовать в качестве файла подкачки специально сконфигурированный файл. Раздел подкачки — это именно то, что следует из его названия — стандартный раздел диска, определяемый командой mkswap как пространство подкачки.

Файл подкачки можно использовать, если на диске нет свободного места для создания нового раздела подкачки или пространства в группе томов, где можно создать логический том для пространства подкачки. Это просто обычный файл, который создается и предварительно распределяется по заданному размеру. Затем запускается команда mkswap, чтобы настроить его как пространство подкачки. Я не рекомендую использовать файл для области подкачки без крайней необходимости.

Пробивка

Перегрузка может произойти, когда общая виртуальная память, как ОЗУ, так и пространство подкачки, становится почти заполненной. Система тратит так много времени на подкачку блоков памяти между пространством подкачки и оперативной памятью и обратно, что на реальную работу остается мало времени. Типичные симптомы этого очевидны: система становится медленной или полностью перестает отвечать на запросы, а индикатор активности жесткого диска горит почти постоянно.

Если вам удастся ввести такую ​​команду, как free, которая показывает загрузку ЦП и использование памяти, вы увидите, что загрузка ЦП очень высока, возможно, в 30–40 раз больше, чем количество ядер ЦП в системе. Еще одним признаком является то, что и ОЗУ, и пространство подкачки почти полностью выделены.

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

Каков правильный объем пространства подкачки?

Много лет назад эмпирическое правило для объема пространства подкачки, которое должно быть выделено на жестком диске, равнялось удвоенному объему оперативной памяти, установленной на компьютере (разумеется, тогда оперативная память большинства компьютеров измерялась в КБ). или МБ). Таким образом, если бы компьютер имел 64 КБ ОЗУ, раздел подкачки размером 128 КБ был бы оптимальным размером. Это правило учитывало тот факт, что в то время размеры ОЗУ обычно были довольно малы и что выделение более чем двукратного объема ОЗУ для пространства подкачки не улучшало производительность. Имея более чем вдвое больше оперативной памяти для подкачки, большинство систем тратили больше времени на перегрузку, чем на выполнение полезной работы.

Оперативная память стала недорогим товаром, и сегодня большинство компьютеров имеют объем оперативной памяти, исчисляемый десятками гигабайт. Большинство моих новых компьютеров имеют не менее 8 ГБ ОЗУ, один — 32 ГБ, а моя основная рабочая станция — 64 ГБ. Мои старые компьютеры имеют от 4 до 8 ГБ оперативной памяти.

При работе с компьютерами с огромным объемом оперативной памяти ограничивающий фактор производительности для пространства подкачки намного ниже множителя 2X. Онлайн-руководство по установке Fedora 28, которое можно найти в Интернете по адресу Руководство по установке Fedora, определяет современные представления о распределении пространства подкачки. Я включил ниже некоторые обсуждения и таблицу рекомендаций из этого документа.

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

Таблица 1: Рекомендуемое системное пространство подкачки в документации Fedora

Объем оперативной памяти

Рекомендуемый объем подкачки

Рекомендуемый обмен с переходом в спящий режим

в 2 раза больше оперативной памяти

в 3 раза больше оперативной памяти

Равно объему оперативной памяти

в 2 раза больше оперативной памяти

в 0,5 раза больше оперативной памяти

в 1,5 раза больше оперативной памяти

более 64 ГБ

спящий режим не рекомендуется

На границе каждого из перечисленных выше диапазонов (например, система с 2 ГБ, 8 ГБ или 64 ГБ системной оперативной памяти) по своему усмотрению выбирайте пространство подкачки и поддержку гибернации. Если ресурсы вашей системы позволяют, увеличение пространства подкачки может повысить производительность.

Конечно, у большинства администраторов Linux есть собственное представление о подходящем объеме пространства подкачки, как и почти обо всем остальном. Таблица 2 ниже содержит мои рекомендации, основанные на моем личном опыте работы в различных средах. Они могут вам не подойти, но, как и в случае с таблицей 1, они могут помочь вам начать работу.

Таблица 2: Рекомендуемое системное пространство подкачки по авторам

Рекомендуемый объем подкачки

Одно из соображений в обеих таблицах заключается в том, что по мере увеличения объема ОЗУ добавление большего пространства подкачки после определенного момента просто приводит к перегрузке задолго до того, как пространство подкачки даже близко не будет заполнено. Если у вас слишком мало виртуальной памяти при соблюдении этих рекомендаций, вам следует добавить больше оперативной памяти, если это возможно, а не больше места подкачки. Как и во всех рекомендациях, влияющих на производительность системы, используйте то, что лучше всего подходит для вашей конкретной среды. Это потребует времени и усилий, чтобы поэкспериментировать и внести изменения в зависимости от условий вашей среды Linux.

Добавление пространства подкачки в дисковую среду, отличную от LVM

Из-за изменения требований к пространству подкачки на хостах с уже установленным Linux может возникнуть необходимость изменить объем пространства подкачки, определенный для системы. Эту процедуру можно использовать для любого общего случая, когда необходимо увеличить объем пространства подкачки. Предполагается, что имеется достаточно свободного места на диске. Эта процедура также предполагает, что диски разбиты на «сырые» разделы EXT4 и разделы подкачки и не используют управление логическими томами (LVM).

Основные шаги просты:

Отключите существующее пространство подкачки.

Создайте новый раздел подкачки нужного размера.

Перечитайте таблицу разделов.

Настройте раздел как пространство подкачки.

Добавьте новый раздел /etc/fstab.

Перезагрузка не требуется.

В целях безопасности, прежде чем отключать подкачку, как минимум убедитесь, что никакие приложения не запущены и пространство подкачки не используется. Команды free или top могут сообщить вам, используется ли пространство подкачки. Чтобы быть еще безопаснее, вы можете вернуться к уровню запуска 1 или однопользовательскому режиму.

Отключите раздел подкачки с помощью команды, отключающей все пространство подкачки:

Теперь отобразите существующие разделы на жестком диске.

Отображает текущие таблицы разделов на каждом диске. Определите текущий раздел подкачки по номеру.

Запустите fdisk в интерактивном режиме командой:

На данный момент fdisk является интерактивным и работает только с указанным диском.

Используйте подкоманду fdisk p, чтобы убедиться, что на диске достаточно свободного места для создания нового раздела подкачки. Пространство на жестком диске показано в виде блоков по 512 байт и начального и конечного номеров цилиндров, поэтому вам, возможно, придется выполнить некоторые математические расчеты, чтобы определить доступное пространство между и в конце выделенных разделов.

Используйте подкоманду n, чтобы создать новый раздел подкачки. fdisk спросит у вас начальный цилиндр. По умолчанию он выбирает цилиндр с наименьшим доступным номером. Если вы хотите изменить это, введите номер пускового цилиндра.

Команда fdisk теперь позволяет вводить размер разделов в нескольких форматах, включая номер последнего цилиндра или размер в байтах, КБ или МБ. Введите 4000M, что даст около 4 ГБ места на новом разделе (например), и нажмите Enter.

Используйте подкоманду p, чтобы убедиться, что раздел создан так, как вы его указали. Обратите внимание, что раздел, вероятно, не будет точно таким, как вы указали, если вы не использовали конечный номер цилиндра. Команда fdisk может распределять дисковое пространство только с приращением на целых цилиндрах, поэтому ваш раздел может быть немного меньше или больше, чем вы указали. Если раздел не тот, который вам нужен, вы можете удалить его и создать заново.

Теперь необходимо указать, что новый раздел должен быть разделом подкачки. Подкоманда t позволяет указать тип раздела. Поэтому введите t , укажите номер раздела, и когда он запросит тип раздела с шестнадцатеричным кодом, введите 82, который является типом раздела подкачки Linux, и нажмите Enter.

Когда вы довольны созданным разделом, используйте подкоманду w, чтобы записать новую таблицу разделов на диск. Программа fdisk завершит работу и вернет вас в командную строку после завершения записи исправленной таблицы разделов. Вероятно, вы получите следующее сообщение, когда fdisk завершит запись новой таблицы разделов:

На этом этапе вы используете команду partprobe, чтобы заставить ядро ​​​​перечитать таблицу разделов, чтобы не было необходимости выполнять перезагрузку.

Теперь используйте команду fdisk -l, чтобы вывести список разделов, и новый раздел подкачки должен быть среди перечисленных. Убедитесь, что новый тип раздела — «Linux swap».

Необходимо изменить файл /etc/fstab, чтобы он указывал на новый раздел подкачки. Существующая строка может выглядеть так:

где X — номер раздела. Добавьте новую строку, похожую на эту, в зависимости от расположения вашего нового раздела подкачки:

Обязательно используйте правильный номер раздела. Теперь вы можете выполнить последний шаг в создании раздела подкачки. Используйте команду mkswap, чтобы определить раздел как раздел подкачки.

Последний шаг — включить подкачку с помощью команды:

Ваш новый раздел подкачки теперь подключен к сети вместе с ранее существовавшим разделом подкачки. Вы можете использовать команду free или top, чтобы убедиться в этом.

Добавление подкачки в дисковую среду LVM

Если в настройках вашего диска используется LVM, изменить пространство подкачки будет достаточно просто. Опять же, это предполагает наличие свободного места в группе томов, в которой находится текущий том подкачки. По умолчанию процедуры установки Fedora Linux в среде LVM создают раздел подкачки как логический том. Это упрощает задачу, поскольку вы можете просто увеличить размер тома подкачки.

Вот шаги, необходимые для увеличения объема пространства подкачки в среде LVM:

Отключить обмен.

Увеличьте размер логического тома, предназначенного для подкачки.

Настройте том с измененным размером как пространство подкачки.

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

Вы можете видеть, что текущий размер подкачки составляет 8 ГБ. В этом случае мы хотим добавить 2 ГБ к этому объему подкачки. Во-первых, остановите существующий обмен. Возможно, вам придется остановить запущенные программы, если используется пространство подкачки.

Теперь увеличьте размер логического тома.

Выполните команду mkswap, чтобы превратить весь этот 10-гигабайтный раздел в пространство подкачки.

Включите обмен обратно.

Теперь проверьте наличие нового пространства подкачки с помощью команды list block devices. Опять же, перезагрузка не требуется.

Вы также можете использовать команду swapon -s или top , free или любую из нескольких других команд, чтобы проверить это.

Обратите внимание, что разные команды отображают или требуют в качестве входных данных специальный файл устройства в разных формах. Существует несколько способов доступа к определенным устройствам в каталоге /dev. В моей статье «Управление устройствами в Linux» содержится дополнительная информация о каталоге /dev и его содержимом.

Эта статья была первоначально опубликована в сентябре 2018 г. и дополнена дополнительной информацией редактором.

Пространство подкачки в Linux используется, когда объем физической памяти (ОЗУ) заполнен. Если системе требуется больше ресурсов памяти, а ОЗУ заполнено, неактивные страницы в памяти перемещаются в пространство подкачки. Хотя пространство подкачки может помочь машинам с небольшим объемом ОЗУ, его не следует рассматривать как замену большего объема ОЗУ. Пространство подкачки расположено на жестких дисках, которые имеют более медленное время доступа, чем физическая память.

Пространство подкачки может быть выделенным разделом подкачки (рекомендуется), файлом подкачки или комбинацией разделов подкачки и файлов подкачки.

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

Таблица 7.1. Рекомендуемое системное пространство подкачки

Важно

Файловые системы и тома LVM2, назначенные в качестве пространства подкачки, не могут использоваться при изменении. Например, никаким системным процессам не может быть назначено пространство подкачки, а также никакое количество подкачки не должно выделяться и использоваться ядром. Используйте команды free и cat /proc/swaps, чтобы проверить, сколько и где используется swap.

Лучший способ изменить пространство подкачки — загрузить систему в режиме восстановления, а затем следовать инструкциям (для каждого сценария) в оставшейся части этой главы. Инструкции по загрузке в режиме восстановления см. в Руководстве по установке Red Hat Enterprise Linux. При появлении запроса на монтирование файловой системы выберите Пропустить .

Читайте также:

Объем оперативной памяти в системе Рекомендуемый объем пространства подкачки
4 ГБ ОЗУ или меньшеминимум 2 ГБ подкачки
4–16 ГБ оперативной памятине менее 4 ГБ подкачки
16–64 ГБ оперативной памятине менее 8 ГБ подкачки
64–256 ГБ ОЗУ минимум 16 ГБ пространства подкачки
256 ГБ до 512 ГБ оперативной памятиминимум 32 ГБ подкачки