SWAP Сравнение версий

Различия

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

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:swap [2017/08/12 21:11]
[Размещение]
wiki:swap [2019/06/27 23:40] (текущий)
[Размер]
Строка 16: Строка 16:
  
 ===== Размер ===== ===== Размер =====
-По назначению размера SWAP в Интернете можно найти множество рекомендаций,​ однако универсального ответа нету.+В Интернете можно найти множество рекомендаций ​по определению размера SWAP, однако универсального ответа не существует.
  
 При определении размера SWAP следует учесть следующие аспекты:​ При определении размера SWAP следует учесть следующие аспекты:​
Строка 27: Строка 27:
 В зависимости от ответов на эти вопросы рекомендации по размеру SWAP будут значительно различаться. ​ В зависимости от ответов на эти вопросы рекомендации по размеру SWAP будут значительно различаться. ​
  
-Для машин с незначительным объемом памяти (меньше 2 Гб) рекомендуется создавать SWAP размером ​с оперативную память или немного больше.\\ +Для машин с незначительным объемом памяти (меньше 2 Гб) рекомендуется создавать SWAP размером ​от 1,5 до 2-х размеров ​оперативной памяти. И стоит попробовать изменять vm.swappiness,​ но лучше поискать возможность увеличить ​объем ​оперативной памяти.\\ 
-Для машин с объемом памяти ​2-4 Гб нужно решить,​ будет ли использоваться suspend to disk. Если да, то нужно создавать SWAP размером на 10-15% больше размера оперативной памяти. Если же suspend to disk использоваться не будет, то можно создать SWAP небольшого размера (от половины до трети от объема оперативной памяти). Можно не создавать SWAP при установке системы,​ а при необходимости добавить его позже как файл.\\ +Для машин с объемом памяти ​3-4 Гб нужно решить,​ будет ли использоваться suspend to disk. Если да, то нужно создавать SWAP размером на 10-15% больше размера оперативной памяти. Если же suspend to disk использоваться не будет, то можно создать SWAP небольшого размера (размером ​от половины до объема оперативной памяти). Можно не создавать SWAP при установке системы,​ а при необходимости добавить его позже как файл.\\ 
-На компьютерах с объемами оперативной памяти более ​4Gb имеет смысл создать SWAP размером в половину от объема оперативной памяти. При этом, если вы хотите использовать гибернацию,​ следует оценить загрузку оперативной памяти в процессе работы и задать величину SWAP, исходя из этого. К примеру,​ если объем оперативной памяти составляет 16 ГБ, а рабочая загрузка не превышает в среднем 5-6 ГБ, величины SWAP-раздела в 8 ГБ вам хватит для гибернации. При таком подходе следует помнить,​ что при использовании ресурсоёмких программ (рендеринг изображения,​ компиляция огромных проектов и т.п.) оперативная память может заполняться полностью,​ а SWAP - использоваться в качестве подкачки. В таких ситуациях размер SWAP нужно ​назначать индивидуально.\\+На компьютерах с объемами оперативной памяти более ​6Gb имеет смысл создать SWAP размером в половину от объема оперативной памяти. При этом, если вы хотите использовать гибернацию,​ следует оценить загрузку оперативной памяти в процессе работы и задать величину SWAP, исходя из этого. К примеру,​ если объем оперативной памяти составляет 16 ГБ, а рабочая загрузка не превышает в среднем 5-6 ГБ, величины SWAP-раздела в 8 ГБ вам хватит для гибернации. При таком подходе следует помнить,​ что при использовании ресурсоёмких программ (рендеринг изображения,​ компиляция огромных проектов и т.п.) оперативная память может заполняться полностью,​ а SWAP - использоваться в качестве подкачки. В таких ситуациях размер SWAP нужно ​выбирать индивидуально.\\
  
 При работе с секретными (зашифрованными) данными стоит либо шифровать SWAP, либо рассмотреть вариант с отказом от SWAP вовсе (зависит от размера оперативной памяти). Стоит также рассмотреть вариант с шифрованием всего диска. При работе с секретными (зашифрованными) данными стоит либо шифровать SWAP, либо рассмотреть вариант с отказом от SWAP вовсе (зависит от размера оперативной памяти). Стоит также рассмотреть вариант с шифрованием всего диска.
- 
 ===== Создание SWAP на разделе диска ===== ===== Создание SWAP на разделе диска =====
 Разобравшись с требованиями к SWAP, можно приступить к его созданию или изменению.\\ Разобравшись с требованиями к SWAP, можно приступить к его созданию или изменению.\\
Строка 45: Строка 44:
 <code bash>​sudo blkid</​code>​ <code bash>​sudo blkid</​code>​
 Теперь пропишем строку в /etc/fstab Теперь пропишем строку в /etc/fstab
-<code bash>​echo "​UUID=<​UUID swap-раздела>​ swap swap defaults 0 0"| sudo tee -a /​etc/​fstab</​code> ​+<code bash>​echo "​UUID=<​UUID swap-раздела>​ swap swap defaults,​pri=<​Приоритет (от 0 до 32767)> ​0 0"| sudo tee -a /​etc/​fstab</​code> ​
 ===== SWAP с динамически изменяемым размером ===== ===== SWAP с динамически изменяемым размером =====
 Если вы не хотите думать об объеме SWAP, имеет смысл воспользоваться утилитой **swapspace** (динамический менеджер подкачки). Эта утилита работает в фоновом режиме и динамически управляет подкачкой. При необходимости swapspace автоматически создаёт дополнительные файлы подкачки требуемого размера. Неиспользуемые файлы подкачки удаляются и не занимают место.\\ ​ Если вы не хотите думать об объеме SWAP, имеет смысл воспользоваться утилитой **swapspace** (динамический менеджер подкачки). Эта утилита работает в фоновом режиме и динамически управляет подкачкой. При необходимости swapspace автоматически создаёт дополнительные файлы подкачки требуемого размера. Неиспользуемые файлы подкачки удаляются и не занимают место.\\ ​
Строка 54: Строка 53:
  
 ===== Параметр vm.swappiness ===== ===== Параметр vm.swappiness =====
-Основной параметр,​ влияющий на работу системы со swap, - это **vm.swappiness**. ​Этот параметр задает процент **свободной** оперативной памяти,​ при котором начинается использование подкачки. Без особой необходимости трогать его не рекомендуется.+Основной параметр,​ влияющий на работу системы со swap, - это **vm.swappiness**. ​Очень приблизительно этот параметр ​можно определить так: он задает процент **свободной** оперативной памяти,​ при котором начинается использование подкачки. ​Более точное определение смысла этой переменной можно уяснить из описания которое было дано в рассылке kernel.org - [[http://​lwn.net/​Articles/​83588/​|статья на английском]].\\ 
 +Без особой необходимости трогать его не рекомендуется.
  
-Скорректировать значение,​ применяемое при загрузке системы,​ можно, указав в файле /​etc/​sysctl.conf значение vm.swappiness. Пример: ​мы хотим использовать подкачку при 30% свободной оперативной памяти. ​+Скорректировать значение,​ применяемое при загрузке системы,​ можно, указав в файле /​etc/​sysctl.conf значение vm.swappiness. Пример: ​
 <code bash>​echo "​vm.swappiness=30"​| sudo tee -a /​etc/​sysctl.conf</​code>​ <code bash>​echo "​vm.swappiness=30"​| sudo tee -a /​etc/​sysctl.conf</​code>​
 Мгновенно применить эту настройку можно с помощью следующей команды:​ Мгновенно применить эту настройку можно с помощью следующей команды:​
Строка 72: Строка 72:
 Маленькое значение vm.swappiness (минимальное значение:​ 0) будет заставлять ядро использовать больше оперативной памяти под память процессов (в ущерб буферам и кэшам),​ тогда как большое значение (максимальное значение:​ 100) будет выделять больше памяти под кэши и буфера (в ущерб памяти для процессов). Маленькое значение vm.swappiness (минимальное значение:​ 0) будет заставлять ядро использовать больше оперативной памяти под память процессов (в ущерб буферам и кэшам),​ тогда как большое значение (максимальное значение:​ 100) будет выделять больше памяти под кэши и буфера (в ущерб памяти для процессов).
  
-Нужно понимать:​ ни одно значение vm.swappiness не изменит волшебным образом производительность компьютера ​в лучшую сторону. Урезаете кеши - понижаете отзывчивость системы при работе с файлами,​ урезаете память процессов - снижаете отзывчивость системы при переключении задач. ​+Нужно понимать:​ ни одно значение vm.swappiness не увеличит волшебным образом производительность компьютера ​многократно. Урезаете кеши - понижаете отзывчивость системы при работе с файлами,​ урезаете память процессов - снижаете отзывчивость системы при переключении задач. ​
  
 Нужное вам значение,​ скорее всего, стоит подбирать экспериментально. Нужное вам значение,​ скорее всего, стоит подбирать экспериментально.