Centos 7 изменить размер подкачки

Обновлено: 01.07.2024

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

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

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

Рекомендации, приведенные в таблице 15.1, «Рекомендуемое системное пространство подкачки», особенно важны для систем с небольшим объемом памяти (1 ГБ и меньше). Если в этих системах не будет выделено достаточно места подкачки, это может привести к нестабильности или даже к невозможности загрузки установленной системы.

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

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

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

Важно

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

Вы должны изменить пространство подкачки, пока система загружается в режиме восстановления, см. раздел Загрузка компьютера в режиме восстановления в Руководстве по установке Red Hat Enterprise Linux 7. При появлении запроса на монтирование файловой системы выберите Пропустить .

15.1. Добавление пространства подкачки

Иногда после установки необходимо добавить больше места подкачки. Например, вы можете увеличить объем оперативной памяти в вашей системе с 1 ГБ до 2 ГБ, но при этом останется только 2 ГБ пространства подкачки. Если вы выполняете операции с интенсивным использованием памяти или запускаете приложения, требующие большого объема памяти, может быть целесообразно увеличить объем области подкачки до 4 ГБ.

У вас есть три варианта: создать новый раздел подкачки, создать новый файл подкачки или расширить подкачку на существующем логическом томе LVM2. Рекомендуется расширить существующий логический том.

15.1.1. Расширение подкачки на логическом томе LVM2

По умолчанию Red Hat Enterprise Linux 7 использует все доступное пространство во время установки. Если это относится к вашей системе, то вы должны сначала добавить новый физический том в группу томов, используемую пространством подкачки.

После добавления дополнительного хранилища в группу томов пространства подкачки теперь можно расширить его.Для этого выполните следующую процедуру (при условии, что /dev/VolGroup00/LogVol01 — это том, который вы хотите увеличить на 2 ГБ):

Процедура 15.1. Расширение подкачки на логическом томе LVM2

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

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

Без подкачки сервер, на котором не хватает памяти, может начать убивать приложения, чтобы освободить память, или даже выйти из строя. Это может привести к потере несохраненных данных или простоям. Чтобы обеспечить надежный доступ к данным, для работы некоторых приложений требуется своп.

В этом руководстве мы расскажем, как создать и включить файл подкачки на сервере CentOS 7.

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

Если вам нужно повысить производительность сервера, рекомендуем обновить Droplet. Это приведет к лучшим результатам в целом и снизит вероятность возникновения проблем с оборудованием, которые могут повлиять на вашу службу.

Предпосылки

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

Вам потребуется сервер CentOS 7, установленный и настроенный пользователем без полномочий root с правами sudo. Если вы еще этого не сделали, вы можете выполнить шаги 1–4 в руководстве по начальной настройке сервера CentOS 7, чтобы создать эту учетную запись.

После того, как у вас появится пользователь без полномочий root, вы можете использовать его для подключения SSH к серверу CentOS и продолжить установку файла подкачки.

Проверьте систему на наличие информации о свопе

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

Мы можем увидеть, есть ли в системе какой-либо настроенный своп, используя swapon , утилиту свопинга общего назначения. С флагом -s swapon будет отображать сводку об использовании и доступности подкачки на нашем устройстве хранения:

Если команда ничего не возвращает, значит сводка пуста и файла подкачки не существует.

Еще один способ проверить наличие пространства подкачки — воспользоваться бесплатной утилитой, которая показывает общий объем используемой системой памяти. Мы можем увидеть наше текущее использование памяти и подкачки (в мегабайтах), набрав:

Как видите, общее пространство подкачки в системе равно 0. Это соответствует тому, что мы видели с swapon .

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

Обычный способ выделения пространства для подкачки — использование отдельного раздела, предназначенного для этой задачи. Однако изменение схемы разделов не всегда возможно из-за аппаратных или программных ограничений. К счастью, мы можем так же легко создать файл подкачки, который находится в существующем разделе.

Прежде чем мы это сделаем, мы должны знать о текущем использовании диска. Мы можем получить эту информацию, набрав:

Примечание: флаг -h просто указывает dh выводить информацию о диске в удобном для чтения формате. Например, вместо того, чтобы выводить необработанное количество блоков памяти в разделе, df -h сообщит нам об использовании и доступности пространства в M (для мегабайт) или G (для гигабайт).

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

Хотя существует множество мнений о подходящем размере пространства подкачки, на самом деле это зависит от требований вашего приложения и ваших личных предпочтений. Как правило, хорошей отправной точкой является объем, равный или удвоенный объем памяти в вашей системе.

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

Создать файл подкачки

Теперь, когда мы знаем доступное место для хранения, мы можем приступить к созданию файла подкачки в нашей файловой системе. Мы создадим файл с именем swapfile в нашем корневом (/) каталоге, хотя вы можете назвать этот файл по-другому, если хотите. В файле должно быть выделено столько места, сколько мы хотим для нашего файла подкачки, и он должен быть создан в одном непрерывном блоке.

Лучший способ сделать это — использовать утилиту dd. Эта команда создаст файл размером 4 гигабайта:

После ввода пароля для авторизации привилегий sudo будет создан файл подкачки. Это может занять некоторое время, после чего вам вернется подсказка. Мы можем убедиться, что для подкачки зарезервировано правильное количество места, используя ls :

Как видите, наш файл подкачки был создан с правильным объемом отведенного места.

Включить файл подкачки

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

Прежде чем мы это сделаем, мы должны настроить права доступа к нашему файлу подкачки, чтобы он не был доступен для чтения никому, кроме учетной записи root. Разрешение другим пользователям читать или писать в этот файл было бы огромным риском для безопасности. Мы можем заблокировать разрешения с помощью chmod :

Это ограничит права на чтение и запись только для учетной записи root. Мы можем убедиться, что файл подкачки имеет правильные разрешения, снова используя ls -lh:

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

Наш файл подкачки готов к использованию в качестве пространства подкачки. Мы можем начать использовать его, набрав:

Чтобы убедиться, что процедура прошла успешно, мы можем проверить, сообщает ли наша система о пространстве подкачки сейчас:

Эти выходные данные подтверждают, что у нас есть новый файл подкачки. Мы можем снова использовать бесплатную утилиту, чтобы подтвердить наши выводы:

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

Сделать файл подкачки постоянным

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

Отредактируйте файл с правами sudo в текстовом редакторе:

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

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

Измените настройки обмена (необязательно)

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

Обмен

Параметр подкачки определяет, как часто ваша система выгружает данные из памяти в пространство подкачки. Это значение от 0 до 100, представляющее процент использования памяти, который инициирует использование подкачки.

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

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

Мы можем увидеть текущее значение swappiness, прочитав файл конфигурации swappiness:

CentOS 7 по умолчанию использует параметр swappiness, равный 30, что является справедливой промежуточной точкой для большинства настольных компьютеров и локальных серверов. Для системы VPS мы, вероятно, хотели бы приблизить его к 0.

Мы можем установить для swappiness другое значение с помощью команды sysctl. Например, чтобы установить swappiness равным 10, мы могли бы ввести:

Эта настройка сохранится до следующей перезагрузки. Чтобы настройка сохранялась между перезагрузками, мы можем добавить выведенную строку в наш файл конфигурации sysctl:

Добавьте параметр swappiness в конец файла:

Когда вы закончите добавлять строку, вы можете сохранить и закрыть файл. Теперь сервер будет автоматически устанавливать swappiness на значение, которое вы указали при каждой загрузке.

Нехватка кеша

Еще одно связанное значение, которое вы, возможно, захотите изменить, — это vfs_cache_pressure. Этот параметр влияет на хранение специальных записей метаданных файловой системы. Постоянное чтение и обновление этой информации, как правило, требует больших затрат, поэтому более длительное хранение ее в кэше положительно сказывается на производительности вашей системы.

Вы можете увидеть текущее значение этого давления в кэше, повторно запросив файловую систему proc:

В текущих настройках наша система слишком быстро удаляет информацию об индексных дескрипторах из кэша.Мы можем установить более консервативное значение, например 50, с помощью sysctl :

Опять же, это действительно только для нашего текущего сеанса. Мы можем изменить это, добавив его в наш файл конфигурации, как мы сделали с нашей настройкой swappiness:

Внизу добавьте строку, указывающую новое значение:

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

Заключение

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

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

Хотите узнать больше? Присоединяйтесь к сообществу DigitalOcean!

Присоединяйтесь к нашему сообществу DigitalOcean, насчитывающему более миллиона разработчиков, бесплатно! Получайте помощь и делитесь знаниями в нашем разделе "Вопросы и ответы", находите руководства и инструменты, которые помогут вам расти как разработчику и масштабировать свой проект или бизнес, а также подписывайтесь на интересующие вас темы.

Итак, вы хотели бы добавить больше пространства подкачки в Redhat 7 или Centos 7 после установки.

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

Как увеличить пространство подкачки в Redhat 7 | Centos 7

Как увеличить пространство подкачки в Redhat 7 или Centos 7

4 Шаг по расширению логического тома

  1. Проверьте, достаточно ли места для расширения файла подкачки
  2. Отключить файл подкачки
  3. Расширить файл подкачки и отформатировать
  4. Включите файл подкачки и проверьте, не увеличился ли он.

[адинсертер блок=”3″]

Расширить подкачку существующего логического тома LVM2

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

Команды для проверки наличия места

[адинсертер блок=”3″]

Как увеличить объем подкачки

<р>1. Отключите подкачку для связанного логического тома:

swapoff -v /dev/mapper/centos-swap

<р>2. Измените размер логического тома LVM2 на 256 МБ:

lvm lvresize /dev/mapper/centos-swap -L +256M

<р>3. Отформатируйте новое пространство подкачки:

<р>4. Включите расширенный логический том:

<р>5. Проверьте правильность расширения логического тома:

cat /proc/swaps бесплатно

[адинсертер блок=”3″]

Обзор

Я надеюсь, что это руководство поможет вам в том, как добавить больше места подкачки в Redhat 7 или Centos 7 после установки, оно может быть очень полезным при увеличении физического объема оперативной памяти на вашей машине Redhat 7 или Centos 7.

Для просмотра других руководств по Redhat на моем веб-сайте нажмите здесь.

Чтобы ознакомиться с нашими дополнительными советами, загляните на мой канал YouTube и подпишитесь на видеоуроки по мере их выпуска, а если у вас есть какие-либо пожелания, оставьте комментарий ниже.

Узнайте, как изменить объем пространства подкачки, доступный в вашей системе 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 г. и дополнена дополнительной информацией редактором.

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

Объем оперативной памяти в системе Рекомендуемое пространство подкачки Рекомендуемое пространство подкачки, если разрешен переход в спящий режим
⩽ 2 ГБ удвоенный объем оперативной памяти в 3 раза больше оперативной памяти
> 2 ГБ – 8 ГБ Равно объему оперативной памяти удвоенному объему оперативной памяти
> 8 ГБ – 64 ГБ Не менее 4 ГБ в 1,5 раза больше оперативной памяти
> 64 ГБ Не менее 4 ГБ Спящий режим не рекомендуется