Здесь, в 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 = и добавляем желаемое значение после символа «=». Сохраняем файл и теперь да, изменение будет постоянным.
15 комментариев, оставьте свой
Отличное объяснение !!! Очень хорошая статья !! В моем случае, когда я вношу это изменение при перезапуске ноутбука, оно возвращается к исходному значению 60, это похоже на то, что файл сохраняется, но при перезапуске он «форматируется». Я все пробовал безуспешно, вы хоть представляете, что может случиться? У меня 1ГБ ОЗУ.
Спасибо!
Привет, Сезар, я рад, что тебе было интересно.
Если значение теряется при перезагрузке системы, я бы посмотрел на /etc/rc.local и другие сценарии запуска (они различаются в зависимости от дистрибутива), так как это может быть установлено при запуске.
Привет!
Очень хорошее объяснение!
В качестве дополнения, вот еще одна интересная статья о Swap и swappiness в Linux:
http://www.sysadmit.com/2016/10/linux-swap-y-swappiness.html
ты не знаешь, насколько это хорошо для меня спасибо
С уважением,
В моем /etc/sysctl.conf нет текста vm.swappiness =, искал хорошо, файл маленький. Если вам не нужно его добавлять, в статье говорится, что нужно найти и изменить значение, а не добавлять строку.
С уважением,
В моем /etc/sysctl.conf нет vm.swappiness = text. Если вам не нужно его добавлять, в статье говорится, что нужно найти и изменить значение, а не добавлять строку.
Вы должны его создать, в конце файла ставите vm.swappiness = 10 и все.
Если при перезапуске не сохраняется, это может быть связано с тем, что вы не используете команду sudo.
Ubuntu: sudo gedit /etc/sysctl.conf
Xubuntu: коврик для мыши sudo /etc/sysctl.conf
Отличная статья. Спасибо!
Можно поставить ноль. какие проблемы могут возникнуть?
Привет и спасибо Вилли Клю за вашу статью, которая разъясняет мне процесс использования памяти подкачки, но это вызвало у меня огромное сомнение, потому что при входе в терминал и выполнении указанных вами команд он возвращает сообщение, в котором говорится:
bash: cat / proc / sys / vm / swappiness: файл или каталог не существует
Что может быть вызвано этим?
Ты плохо написал. Вы не поставили пробел после слова «кошка».
отлично, мы делимся этим в группе ubuntu на испанском языке https://t.me/ubuntu_es
Отлично, это сработало для меня на Debian 10.9
Я компьютерный ученый, установил и протестировал несколько дистрибутивов, лучший вариант для настройки подкачки - написать в терминале
судо нано /etc/sysctl.conf
после нажатия Enter напишите ключ и введите снова, затем напишите в конце следующую строку
vm.swappiness = 0
затем одновременно нажмите ctrl и x, он сгенерирует вопрос: если вы хотите сохранить новое предложение в файле, нажмите клавишу Y, чтобы сказать да, и n, чтобы оно не сохранялось.
Почему я написал ноль 0? Тесты уже проводились на разных компьютерах, которые я запрограммировал, потому что это лучший вариант, поскольку он использует чью разбивку на страницы, но, например, если хром или браузер открывается при открытии Facebook, потому что память обмена (свопинг или также называемая разбиением на страницы) будет увеличиваться но когда это закрытый сеанс и браузер или любая программа, поскольку память подкачки (своп) уменьшится, освобождая жесткий диск, что полезно во избежание его повреждения, помните, что память подкачки или вызываемая подкачка (подкачка) использует жесткий диск.
Я не понял, извините. Если по умолчанию 60 для подкачки, которая будет активирована с отсутствующими 40 или менее, при установке параметра на 10. Разве он не будет активирован с 90 из свободных плунжеров? Замедляя обмен данными