Swappiness: как настроить использование виртуальной памяти

подкачка виртуальной памяти

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

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

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

В нашей операционной системе создание виртуальной памяти обычно выполняется в процессе установки, когда мы определяем корневой раздел (/), раздел хранения (/ home) и раздел обмена или своп, который обычно реализуется в разделе / ​​dev / sda5. Параметр ядра, который управляет использованием виртуальной памяти, - это ранее упомянутая подкачка, и в основном мы можем сказать, что она отвечает за определение того, как часто мы обращаемся к разделу подкачки и сколько контента мы копируем в него, с помощью аргумента, который варьируется от 0 и 100.

Значение по умолчанию в установке Linux - 60., но, как легко предположить, не все конфигурации оборудования одинаковы, и поэтому нет смысла поддерживать этот уровень независимо от того, какой из них наш. Это значение хранится в файле / proc / sys / vm / swappiness, и мы можем проверить его:

cat / proc / sys / vm / swappiness

Он почти наверняка будет на уровне 60, и если это так, нам, возможно, придется его изменить, особенно если у нас более 4 ГБ оперативной памяти, так как в этом случае нам обычно требуется мало или совсем не требуется виртуальной памяти. Но прежде чем объяснять, как это изменить, давайте немного разберемся с логикой, лежащей в основе всего этого, о виртуальной памяти и подкачке; И дело в том, что когда по умолчанию установлено значение 60, ядру предлагается использовать виртуальную память, когда наша оперативная память имеет 40 процентов или меньше ее свободной емкости. Таким образом, если мы установим swappiness равным 100, виртуальная память будет использоваться все время, и если мы оставим его на очень низком уровне, он будет использоваться только тогда, когда наша оперативная память скоро закончится. Минимально возможное - 1, так как оставляя значение равным 0, мы полностью деактивируем виртуальную память..

Итак, что нам нужно сделать, это ввести следующую команду из терминала (Ctrl + Alt + T):

sudo sysctl vm.swappiness = 10

Теперь стоимость swappiness останется на уровне 10, и тогда виртуальная память практически не будет использоваться. После изменения этого значения не нужно перезагружать компьютер, вступает в силу немедленно, и на самом деле, если мы сбросим значение, оно будет расположено на 60, как и раньше, потому что нам нужно оставить это изменение навсегда установленным. Для этого после того, как мы использовали наш компьютер и убедились, что с новым значением swappiness все в порядке, мы выполняем:

судо нано /etc/sysctl.conf

после чего ищем текст vm.swappiness = и добавляем желаемое значение после символа «=». Сохраняем файл и теперь да, изменение будет постоянным.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Cesflo сказал

    Отличное объяснение !!! Очень хорошая статья !! В моем случае, когда я вношу это изменение при перезапуске ноутбука, оно возвращается к исходному значению 60, это похоже на то, что файл сохраняется, но при перезапуске он «форматируется». Я все пробовал безуспешно, вы хоть представляете, что может случиться? У меня 1ГБ ОЗУ.

    Спасибо!

    1.    Вилли Клю сказал

      Привет, Сезар, я рад, что тебе было интересно.

      Если значение теряется при перезагрузке системы, я бы посмотрел на /etc/rc.local и другие сценарии запуска (они различаются в зависимости от дистрибутива), так как это может быть установлено при запуске.

      Привет!

  2.   Паскуаль Мартин сказал

    Очень хорошее объяснение!

    В качестве дополнения, вот еще одна интересная статья о Swap и swappiness в Linux:

    http://www.sysadmit.com/2016/10/linux-swap-y-swappiness.html

  3.   состояние зрителя сказал

    ты не знаешь, насколько это хорошо для меня спасибо

  4.   Clerygo сказал

    С уважением,

    В моем /etc/sysctl.conf нет текста vm.swappiness =, искал хорошо, файл маленький. Если вам не нужно его добавлять, в статье говорится, что нужно найти и изменить значение, а не добавлять строку.

  5.   Льюис сказал

    С уважением,

    В моем /etc/sysctl.conf нет vm.swappiness = text. Если вам не нужно его добавлять, в статье говорится, что нужно найти и изменить значение, а не добавлять строку.

  6.   Nosferatus сказал

    Вы должны его создать, в конце файла ставите vm.swappiness = 10 и все.

    Если при перезапуске не сохраняется, это может быть связано с тем, что вы не используете команду sudo.

    Ubuntu: sudo gedit /etc/sysctl.conf
    Xubuntu: коврик для мыши sudo /etc/sysctl.conf

  7.   Сантьяго сказал

    Отличная статья. Спасибо!

  8.   Роберто сказал

    Можно поставить ноль. какие проблемы могут возникнуть?

  9.   Хосе Кастильо Авалос сказал

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

    bash: cat / proc / sys / vm / swappiness: файл или каталог не существует

    Что может быть вызвано этим?

    1.    Андрес Чоке Лопес сказал

      Ты плохо написал. Вы не поставили пробел после слова «кошка».

  10.   айсмоддинг сказал

    отлично, мы делимся этим в группе ubuntu на испанском языке https://t.me/ubuntu_es

  11.   Smith сказал

    Отлично, это сработало для меня на Debian 10.9

  12.   Хуан сказал

    Я компьютерный ученый, установил и протестировал несколько дистрибутивов, лучший вариант для настройки подкачки - написать в терминале

    судо нано /etc/sysctl.conf

    после нажатия Enter напишите ключ и введите снова, затем напишите в конце следующую строку

    vm.swappiness = 0

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

    Почему я написал ноль 0? Тесты уже проводились на разных компьютерах, которые я запрограммировал, потому что это лучший вариант, поскольку он использует чью разбивку на страницы, но, например, если хром или браузер открывается при открытии Facebook, потому что память обмена (свопинг или также называемая разбиением на страницы) будет увеличиваться но когда это закрытый сеанс и браузер или любая программа, поскольку память подкачки (своп) уменьшится, освобождая жесткий диск, что полезно во избежание его повреждения, помните, что память подкачки или вызываемая подкачка (подкачка) использует жесткий диск.

  13.   Норберто Гонсалес сказал

    Я не понял, извините. Если по умолчанию 60 для подкачки, которая будет активирована с отсутствующими 40 или менее, при установке параметра на 10. Разве он не будет активирован с 90 из свободных плунжеров? Замедляя обмен данными