Swap

Swap

Сообщение Oleg65 » 26 янв 2018, 20:45

Сегодня в новостях случайно нашел такую такую статью. Очень спорный вопрос об объеме swap (раздела или файла подкачки). В нем до сих пор не пришли к согласию. Провожу свой вольный перевод:

Каким должен быть объем swap? Должен ли объем swap быть равен двойному объему ОЗУ или объем должен быть равен половине объема ОЗУ? Нужен ли вообще swap, если у моей системы есть какой-то объем ГБ ОЗУ?
Это наиболее часто возникающий вопрос при выборе размера раздела (файла) подкачки при установке Linux.
Ничего нового. Вокруг объема swap всегда было много путаницы.
В течение долгого времени рекомендуемый объем swap был вдвое меньше объема RAM, но это золотое правило больше не применимо к современным компьютерам. У нас есть системы с объемом оперативной памяти в 128 ГБ, у многих старых компьютеров даже нет такой емкости жесткого диска.
Так какой объем swap вы выделили бы системе с 32 ГБ ОЗУ? с 64GB? Это была бы смехотворная трата жесткого диска, не так ли?.
Прежде чем мы увидим, какой нужно иметь объем swap, давайте сначала узнаем что-то о swap-памяти. Это поможет вам понять, почему используется swap.
При запуске приложения ваша система использует Random Access Memory - память произвольного доступа (aka RAM). Когда работает несколько приложений, то ваша система управляется доступной оперативной памятью.
Но, если запущено достаточно много приложений или если приложениям требуется много оперативной памяти, то ваша система попадает в беду. Если для приложения требуется больший объем памяти, а вся оперативная память уже используется, то приложение аварийно завершится.
Когда ОЗУ исчерпано, то swap для вашей системы работает как буфер. Что происходит когда исчерпано ОЗУ? Ваша система Linux использует часть жесткого диска в виде буфера и исползует его для текущего приложения.
Звучит круто! Т.е. если вы выделите под swap 50% от объема ОЗУ, то ваша система сможет одновременно запускать сотни или, возможно, тысячи приложений? ВОТ И НЕТ!
Видите ли, здесь важна скорость. Доступ к данным в ОЗУ составляет порядка наносекунд. Доступ к данным на SSD составляет микросекунды, а доступ к данным на обычном жестком диске - миллисекунды. Это означает, что доступ к оперативной памяти в 1000 раз быстрее, чем к SSD и в 100 000 раз быстрее, чем к обычному жесткому диску.
Если приложение избыточно использует swap - его производительность ухудшится, поскольку он не сможет получать доступ к данным с той же скоростью, что и к данным в ОЗУ. Поэтому вместо того, чтобы задача выполнялась за 1 секунду - она будет выполняться несколько минут.
Другими словами, небольшой swap полезен. Большой будет бесполезен.
Так все таки, зачем же нужен swap?
Существует несколько причин по которым нужен swap.
Если ваша система имеет объем оперативной памяти менее 1 ГБ, то нужно использовать swap, поскольку большинство приложений быстро исчерпывают ОЗУ.
Если ваша система использует ресурсоёмкие приложения, такие как видеоредакторы, было бы неплохо использовать некоторое пространство подкачки, так как ОЗУ в этом случае может быть быстро исчерпана.
Если вы используете спящий (hibernation) режим, то вы должны использовать swap, потому что содержимое ОЗУ будет записываться в раздел swap. Это также означает, что объем swap должен быть, по крайней мере, равен объему ОЗУ.
Нужен swap, если можно ограничиться оперативной памятью?
Действительно хороший вопрос. Если у вас 32 ГБ или 64 ГБ ОЗУ,то скорее всего ваша система никогда не будет использовать всю оперативную память и, следовательно, никогда не будет использовать раздел swap.
Рискнете? Предполагается, что если ваша система имея 32 ГБ оперативной памяти также имеет жесткий диск объемом не менее 100 ГБ. При этом выделение пары GB для swap не повредит. Это обеспечит дополнительную стабильность, если неисправная программа начнет злоупотреблять ОЗУ.
Можно ли использовать Linux без swap?
Да, особенно если ваша система имеет достаточно большой объем оперативной памяти. Но, как объяснялось выше, немного swap всегда приветствуется.
Каким должен быть объем swap?
Сначала возникает вопрос: Каким должно быть идеальное пространство swap при установке Linux?
Проблема в том, что определенного ответа на этот вопрос нет. Есть только рекомендации.
У разных людей разные мнения относительно идеального объема swap. Даже основные дистрибутивы Linux не имеют одинакового мнения по объему swap.
Если вы принять предложения Red Hat, то размер swap рекомендуется для современных систем в 20% оперативной памяти (то есть 4 ГБ или выше ОЗУ).
CentOS даеть различные рекомендации по размеру раздела swap. Он предлагает объем swap:
Два объема ОЗУ, если ОЗУ меньше 2 ГБ
Размер ОЗУ + 2 ГБ, если размер ОЗУ составляет более 2 ГБ, т.е. 5 ГБ swap для 3 ГБ ОЗУ
Ubuntu имеет совершенно другой взгляд на объем swap, поскольку здесь учитывается спящий (hibernation) режим. Если вам нужна hibernation,то Ubuntu требует следующий объем swap от размера ОЗУ.
Рекомендуется:
Если ОЗУ меньше 1 ГБ, то объем swap должен быть не менее размера ОЗУ и не более, чем удвоенного объема ОЗУ
Если ОЗУ более 1 ГБ, объем swap должен быть не менее квадратного корня из объема ОЗУ и не более удвоенного объема ОЗУ
Если используется спящий режим, то размер swap должен быть равен размеру ОЗУ + квадратный корень от объема ОЗУ
Смущенны? Понятно, это сбивает с толку. Поэтому я создал таблицу, которая дает рекомендуемый Ubuntu размер swap на основе обема ОЗУ и необходимости hibernation.
RAM Swap (без Hibernation) Swap (с Hibernation)
256MB 256MB 512MB
512MB 512MB 1GB
1GB 1GB 2GB
2GB 1GB 3GB
3GB 2GB 5GB
4GB 2GB 6GB
6GB 2GB 8GB
8GB 3GB 11GB
12GB 3GB 15GB
16GB 4GB 20GB
24GB 5GB 29GB
32GB 6GB 38GB
64GB 8GB 72GB
128GB 11GB 139GB
Какой вы используете объем swap ?
Ответ не прост. Как я говорил ранее, в течение долгого времени swap рекомендовалось иметь вдвое больший объем, чем оперативная память. Мой Dell XPS 13 Ubuntu имеет объем swap 16 ГБ при 8 ГБ оперативной памяти. Даже Dell решила согласиться с золотым правилом swap=2xRAM.
Ну и какой объем swap вы предпочтете для своей ОС Linux?
Аватар пользователя
Oleg65
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 843
Стаж: 3 года 5 месяцев 6 дней
Откуда: г.Коломна Моск.обл.
Благодарил (а): 70 раз.
Поблагодарили: 201 раз.

Swap

Спонсор

Спонсор
 

Re: Swap

Сообщение ALEXX » 26 янв 2018, 23:28

у меня всегда в 2 раза больше оперативки..
Аватар пользователя
ALEXX
Администратор
Администратор
 
Сообщений: 1148
Фото: 35
Стаж: 3 года 6 месяцев 3 дня
Откуда: Королёв
Благодарил (а): 330 раз.
Поблагодарили: 187 раз.

Re: Swap

Сообщение ferum » 27 янв 2018, 12:31

Вангую что разработчики каждого отдельно взятого дистрибутива имеют свои соображения не просто так а с учётом особенностей построения сервисов и приложений. только совершенно не понятно зачем все эти таблицы с приблизительными и необъяснёными расчётами?
Вот ставите вы первый раз персонально дистрибутив на отдельно взятую конфигурацию железа, дайте инсталлятору сделать разметку автоматом. Не обязательно сохранять изменения на диск но оптимальный размер подкачки вы увидите.
Не все пользуются гибернацией, некоторые считают что своп не нужен вообще типа и так оперативки хватает. Да хватает, больше того с большим запасом. Я вот не играю в игрушки, пик нагрузок на всё каогда что нибудь компилирую. 8 гигов оперативки, смысла ставить больше для меня нет так как больше 3,5 гигов ни разу не использовал. Своп вообще не задействуется, за то когда что то ищешь в интернете могу открыть и 10 и 15 вкладок в браузере, потом мне всё надоело, оставляю вкладки и закрываю браузер, выключаю. На следующий подход всё сразу открывается. Есть и другие приложения которые держат недавнюю историю в своп.
ferum
Молчаливый гость
Молчаливый гость
 
Сообщений: 12
Стаж: 6 месяцев 5 дней
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.

Re: Swap

Сообщение shursh » 27 янв 2018, 13:07

ОЗУ 4 Гб, SWAP 1 ГБ, вполне комфортно. Система Ubuntu MATE 16.04.3
Изображение
Аватар пользователя
shursh
Уважаемый участник
Уважаемый участник
 
Сообщений: 306
Фото: 68
Стаж: 3 года 5 месяцев 5 дней
Откуда: Беларусь, Брест
Благодарил (а): 105 раз.
Поблагодарили: 90 раз.

Re: Swap

Сообщение Oleg65 » 27 янв 2018, 13:22

ОЗУ 8Гб, сейчас на домашнем десктопе swap 1Гб. То же достаточно комфортно, гибернация не используется... Однако, при работе над переводом ABS Guide (cлава богу недавно закончил), вроде и файл-то сам по себе небольшой, при производстве гиперссылок в документе использовался swap (около 1000 страниц и бесконечное множество гиперссылок), причем чем дальше, тем время производства гиперссылок доходило до 5 минут на ссылку. Без подкачки доходило до 10 минут на ссылку!!! У детей на ноутах - swap = 2xОЗУ - никаких проблем с гибернацией и суспендом. Так что объем подкачки надо выбирать из стоящих перед вами задач, ИМХО. Но вот что в статье интересно: почему корень квадратный от ОЗУ + ОЗУ?
Аватар пользователя
Oleg65
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 843
Стаж: 3 года 5 месяцев 6 дней
Откуда: г.Коломна Моск.обл.
Благодарил (а): 70 раз.
Поблагодарили: 201 раз.

Re: Swap

Сообщение symon2014 » 31 янв 2018, 09:38

Oleg65 писал(а):

Но вот что в статье интересно: почему корень квадратный от ОЗУ + ОЗУ?

Не совсем уверен, но какая то часть тела подсказывает , при интесивной работе часть свопа уже занята, и при уходе в сон вряд ли система заморачивается , чтобы подчистить себе место, а просто записывает туда рам. И получается , что двойного размера точно хватит при любом раскладе. (ИМХО)
symon2014
Разговорчивый гость
Разговорчивый гость
 
Сообщений: 34
Стаж: 1 год 2 месяца 25 дней
Благодарил (а): 3 раз.
Поблагодарили: 2 раз.

Re: Swap

Сообщение Oleg65 » 31 янв 2018, 16:16

symon2014 писал(а):

Oleg65 писал(а):

Но вот что в статье интересно: почему корень квадратный от ОЗУ + ОЗУ?

Не совсем уверен, но какая то часть тела подсказывает , при интесивной работе часть свопа уже занята, и при уходе в сон вряд ли система заморачивается , чтобы подчистить себе место, а просто записывает туда рам. И получается , что двойного размера точно хватит при любом раскладе. (ИМХО)

Ну как бэ так.... ну.... своп бывает нужен...
Аватар пользователя
Oleg65
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 843
Стаж: 3 года 5 месяцев 6 дней
Откуда: г.Коломна Моск.обл.
Благодарил (а): 70 раз.
Поблагодарили: 201 раз.

Re: Swap

Сообщение symon2014 » 31 янв 2018, 18:05

Но лучше всё таки памяти побольше, заметил , если в своп хоть 10 метров залетит, машина на ручник встаёт, на слабых заметно бывает.
symon2014
Разговорчивый гость
Разговорчивый гость
 
Сообщений: 34
Стаж: 1 год 2 месяца 25 дней
Благодарил (а): 3 раз.
Поблагодарили: 2 раз.

Re: Swap

Сообщение DMULF » 04 фев 2018, 13:47

Это только моё мнение.
Для спящего режима хватит объём оперативной памяти плюс от 10% до 50%.
Больше чем установленный физический размер оперативной памяти не будет.
У меня ОП 8192MB+20%(1648,4MB)=9830,4MB округлил до 10GB
Никаких проблем с оперативной памятью нету.
Аватар пользователя
DMULF
Молчаливый гость
Молчаливый гость
 
Сообщений: 17
Стаж: 10 месяцев 20 дней
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.


Вернуться в Разное

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2