Linux настройки · 5 min read · Sep 29, 2025
Как изменить Swappiness вашей системы Linux

Что такое Swappiness?
Большинство пользователей Linux, которые когда-либо устанавливали дистрибутив, должны были заметить наличие “swap space” во время этапа разбиения (он часто обозначается как /sda5). Это выделенное пространство на вашем жестком диске, которое обычно устанавливается как минимум в два раза больше объема вашей оперативной памяти, и оно составляет общую виртуальную память вашей системы. Swap space также может быть предоставлено так называемым swap-файлом, который вы можете использовать, если не можете создать выделенный раздел под swap. В общем, разделы swap предпочтительнее swap-файлов с точки зрения скорости. Время от времени ядро Linux использует это пространство swap, копируя части из вашей оперативной памяти в swap, позволяя активным процессам, которым требуется больше памяти, чем физически доступно, работать.
Swappiness — это параметр ядра, который определяет, насколько (и как часто) ваше ядро Linux будет копировать содержимое оперативной памяти в swap. Значение по умолчанию для этого параметра составляет “60”, и оно может принимать значения от “0” до “100”. Чем выше значение параметра swappiness, тем более агрессивно ваше ядро будет использовать swap.
Почему это нужно менять?
Значение по умолчанию является универсальным решением, которое не может быть одинаково эффективным во всех индивидуальных случаях использования, аппаратных спецификациях и потребностях пользователей. Более того, swappiness системы является основным фактором, определяющим общую функциональность и производительность ОС. Сказав это, очень важно понять, как работает swappiness и как различные конфигурации этого элемента могут улучшить работу вашей системы и, следовательно, ваш повседневный пользовательский опыт.
Поскольку память RAM сейчас гораздо больше и дешевле, чем раньше, многие пользователи в настоящее время имеют достаточно памяти, чтобы почти никогда не использовать swap-файл. Очевидное преимущество, вытекающее из этого, заключается в том, что никакие системные ресурсы никогда не занимают процесс обмена, и кэшированные файлы не перемещаются туда и обратно из RAM в swap и наоборот без причины.
Как изменить Swappiness?
Значение параметра swappiness хранится в простом текстовом конфигурационном файле, расположенном в /proc/sys/vm и называется “swappiness”. Если вы перейдете туда через файловый менеджер, вы сможете найти файл и открыть его, чтобы проверить swappiness вашей системы. Вы также можете проверить его или изменить его через терминал (что быстрее), введя следующую команду:
sudo sysctl vm.swappiness=10или любое другое значение между “0” и “100” вместо значения “10”, которое я использовал. Чтобы убедиться, что значение swappiness было правильно изменено на желаемое, просто введите:
cat /proc/sys/vm/swappinessв терминале снова, и активное значение будет выведено.

Это изменение имеет немедленный эффект на работу вашей системы, и, следовательно, перезагрузка не требуется. На самом деле, перезагрузка вернет swappiness к его значению по умолчанию (60). Если вы тщательно протестировали желаемое значение обмена и обнаружили, что оно работает надежно, вы можете сделать изменение постоянным, перейдя в /etc/sysctl.conf, который является еще одним текстовым конфигурационным файлом. Вы можете открыть его как root (администратор) и добавить следующую строку внизу, чтобы определить swappiness: vm.swappiness=”ваше желаемое значение здесь”. Затем сохраните текстовый файл, и вы готовы!

Факторы для рассмотрения
Существует несколько математических аспектов, связанных с swappiness, которые следует учитывать при изменении ваших настроек. Значение параметра, установленное на “60”, означает, что ваше ядро будет использовать swap, когда RAM достигнет 40% своей емкости. Установка его на “100” означает, что ваше ядро попытается использовать swap для всего. Установка его на 10 (как я сделал в этом руководстве) означает, что swap будет использоваться, когда RAM заполнена на 90%, так что если у вас достаточно оперативной памяти, это может быть безопасным вариантом, который легко улучшит производительность вашей системы.
Некоторые пользователи, однако, хотят всего и сразу, и это означает, что они устанавливают swappiness на “1” или даже “0”. “1” — это минимально возможная настройка “активного обмена”, в то время как “0” означает полное отключение обмена и возврат только тогда, когда RAM полностью заполнена. Хотя эти настройки все еще теоретически могут работать, тестирование их на системах с низкими характеристиками (2 ГБ RAM или меньше) может вызвать зависания и сделать ОС полностью неотзывчивой. В общем, нахождение золотой середины между общей производительностью системы и задержкой отклика требует довольно много экспериментов (как всегда).
Часто задаваемые вопросы
Что такое Swap Space в Linux?
Swap space в Linux — это часть жесткого диска, которая используется, когда RAM (оперативная память) полностью задействована. Когда системе требуется больше ресурсов памяти, и RAM заполнена, неактивные страницы в памяти перемещаются в swap space. Этот процесс предоставляет дополнительные ресурсы памяти системе за счет некоторой производительности, так как доступ к жесткому диску медленнее, чем доступ к RAM.
Что такое Swappiness в Linux?
Swappiness — это параметр ядра Linux, который контролирует степень, в которой система предпочитает использовать swap для временной памяти, вместо того чтобы сбрасывать страницы из системного кэша страниц. Swappiness может иметь значение от 0 до 100; более низкое значение означает, что обмена меньше, в то время как более высокое значение означает, что обмена больше.
Как я могу проверить текущее значение Swappiness?
Вы можете проверить текущее значение swappiness, выполнив команду cat /proc/sys/vm/swappiness в терминале. Это отобразит текущее значение swappiness, которое обычно установлено на 60 по умолчанию во многих дистрибутивах Linux.
Как изменить значение Swappiness?
Чтобы временно изменить значение swappiness, используйте команду sudo sysctl vm.swappiness=, заменив на желаемый уровень swappiness. Чтобы сделать изменение постоянным, добавьте vm.swappiness = в ваш файл /etc/sysctl.conf, а затем выполните sudo sysctl -p.
Увеличение Swappiness улучшает производительность?
Не обязательно. Увеличение swappiness может привести к более частому использованию swap space, что может замедлить систему, так как доступ к данным на жестком диске медленнее, чем в RAM. Однако это может помочь в ситуациях, когда память постоянно заполнена, и программы отключаются. Это баланс между тем, чтобы держать больше приложений в памяти и производственными затратами на использование swap space.
Хорошо ли иметь swap space больше, чем RAM?
Размер swap space зависит от нагрузки и конфигурации вашей системы. Раньше правило было таково: иметь swap space в два раза больше размера RAM. Однако с современными системами, имеющими большие объемы RAM, это часто не требуется. Важно следить за использованием памяти вашей системы и корректировать настройки соответственно.
Могу ли я запустить Linux без swap space?
Да, возможно запустить Linux без swap space, особенно на системах с большим объемом RAM. Однако отсутствие swap space может привести к проблемам, когда RAM исчерпана, например, к отключению приложений или нестабильности системы.
Как swappiness влияет на SSD (твердотельные накопители)?
Swappiness может быть важным фактором для систем, использующих SSD, так как частые записи в swap space могут потенциально сократить срок службы SSD из-за его ограничений по выносливости записи. Однако современные SSD, как правило, более долговечны, и фактическое влияние может варьироваться в зависимости от качества SSD и нагрузки.
Могу ли я изменить размер swap space на работающей системе?
Вы можете изменить размер swap space на работающей системе. Вы можете либо создать новый swap-файл, либо изменить размер существующего, а затем активировать или деактивировать его, используя команды swapon и swapoff. Всегда убедитесь, что изменение размера swap не нарушает стабильность системы.
Как я могу отслеживать использование swap на моей системе?
Чтобы отслеживать использование swap, вы можете использовать команды, такие как free -m, чтобы увидеть использование памяти и swap, vmstat для подробной статистики виртуальной памяти и top или htop, чтобы отслеживать использование памяти и swap в реальном времени вместе с другими системными метриками.
Get new posts in your inbox
No spam. Unsubscribe anytime.