swap

Руководства, вопросы, обсуждения
Правила форума
Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа.
Olej
Сообщения: 58
Зарегистрирован: 12 апр 2017, 16:59
Поблагодарили: 2 раза

swap

Сообщение Olej » 16 апр 2017, 17:35

Последние времена:

- RAM Linux обязательно перевалили минимум за 1Gb (ещё не так давно 256Mb было "за глаза"), нормой стало 4Gb, очень часто на типовом десктопе 8Gb или 16Gb ... про сервера здесь не говорим...
- многие переходят на быстрые твёрдотельные SSD диски.

В связи с этим очень говорят и пишут, даже очень авторитетные люди и источники, утверждают (и именно в такой формулировке):
У меня много оперативной памяти и диск SSD и именно поэтому у меня вообще нет swap и нет в нём нужды.


Я думаю (IMHO :!: ), что это принципиально неверно. И поэтому в деталях хотелось бы уточнить (и собрать из разных мест) всё о swap в этой теме:
    1. обязателен ли swap?
    2. какие есть способы (варианты) организации swap?
    3. связано ли как-то использование swap с SSD?
    4. какой размер выбирать для swap?
    5. как управлять (оптимизировать) работой swap.

Если у кого есть соображения, наблюдения, опыт использования на этот предмет - поделитесь.
Последний раз редактировалось Dja 23 июл 2017, 13:22, всего редактировалось 1 раз.
Причина: BB-codes

Olej
Сообщения: 58
Зарегистрирован: 12 апр 2017, 16:59
Поблагодарили: 2 раза

swap

Сообщение Olej » 16 апр 2017, 17:39

Olej писал(а):Источник цитаты Если у кого есть соображения, наблюдения, опыт использования на этот предмет - поделитесь.

Здесь эта замечательная тема была затронута, но только мельком и не получила продолжения:
В-третьих, swap такого размера нужен лишь тогда, когда требуется использовать гибернацию (suspend to disk). См. здесь: https://help.ubuntu.com/community/SwapFaq

Вообще советы с отключением swap, вынесением разных разделов на HDD и всем таким прочим попросту вредны: если вы боитесь испортить SSD и старательно выносите как можно больше всего на HDD, жертвуя производительностью, то зачем вообще было его покупать? Современные SSD живут довольно долго даже при интенсивной записи.
Подробности (несмотря на то, что блог о Windows, многое применимо и к другим ОС):
http://www.outsidethebox.ms/14402/
http://www.outsidethebox.ms/14432/
http://www.outsidethebox.ms/18156/

 ! Сообщение из: symon2014
За неуёмное пристрастие пользователя пофлудить и поспамить выдана "заслуженная" награда - БАН.

В сети
Аватара пользователя
Chocobo
Сообщения: 4188
Зарегистрирован: 27 авг 2016, 19:57
Решено: 102
Откуда: НН
Благодарил (а): 354 раза
Поблагодарили: 1111 раз

swap

Сообщение Chocobo » 16 апр 2017, 18:41

Наверное начать стоит с того, что изначально swap - это отделенное место на ПЗУ (файлом или разделом), предназначенное в основном для двух целей:
  • перемещать туда наборы страниц памяти для предотвращения выхода за доступные объёмы, во избежание Out of memory
  • для использования режима гибернации (сна), когда содержимое оперативной памяти временно записывается в своп, для возможности снизить энергопотребление в простое
Если режим сна планируется использовать - то все рекомендации сводятся к хотя бы 1,5Х размеру свопа относительно ОЗУ
Исходя из этого - необходимость в свопе зависит от объема ОЗУ в разрезе на возлагаемые к системе ресурсоёмкие до оперативной памяти задачи, и от профиля использования режимов энергосбережения.

Для примера - свежий скайп в процессе работы без труда выходит к планке в 1Гб, браузеры могут за 2-3Гб при полусотне вкладок, плюс системные нужды от 300-500 Мб, офисные приложения, почтовые клиенты, виртуальные машины, Steam... Оперативы на всех не напасешься :smile:

На случай 4-х Гб ОЗУ - зная прожорливость десктопных приложений и игр - я предпочту выделить хотя бы пару гб под своп.

При 8 Гб и выше - мне обычно хватает оперативной памяти, особо не отслеживая запущенные приложения и спустя три-четыре дня аптайма - утилизация обычно не превышает 5,5Гб и система продолжает шевелиться.
Но под чьи-то типовые задачи не хватит и этого объема, например несколько виртуалок парралельно (еще и без balooning'а), Java разработчикам запуск и отладка приложений с высоким -Xmx, JMC из этой же серии... Есть немало сценариев забить и 16 и 32 Гб, с серверами - так вообще отдельная история...

При любой аппаратной конфигурации - обращение к своппированным данным это явная просадка по производительности. Поэтому при наличии свопа в системе - превый важный твик это vm.swappiness, о нем уже тоже упоминали неожнократно, дефолтное значение в 60 означает что использование свопа начнется уже при 40% утилизации ОЗУ, что в подавляющем большинстве случаев не будет эффективным сценарием распределения ресурсов. При типовых десктопных задачах - этот параметр лучше держать ближе к нулю.

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

ЧЯДНТ

swap

Сообщение ЧЯДНТ » 16 апр 2017, 23:18

Olej писал(а):Источник цитаты Здесь эта замечательная тема была затронута, но только мельком и не получила продолжения:


Раз уж сослались на ветку, созданную мной, то вставлю свои пять копеек.
У меня как раз SSD, оперативки хватает для полноценной работы без свапа, но полностью отключать не стал, т.к. есть специфические задачи, которые легко съедают всю оперативку. Поэтому сделал vm.swappiness=10
ИМХО swap лучше ставить на SSD. Ибо на кой черт его покупать, если не использовать. У меня за 10-12 месяцев использования на Windows 10 и 1,5-2 на Mint ресурс по TBW 2,9 из 35. Если ничего не изменится, то ещё 10 лет будет жить. За свою жизнь нельзя быть настолько уверенным, чтоб SSD беречь :) Вообще, чтоб сберечь SSD нужно его не подключать.

А так согласен с Chocobo.

sana-555
Сообщения: 95
Зарегистрирован: 21 июл 2017, 17:38
Благодарил (а): 80 раз
Поблагодарили: 2 раза

swap

Сообщение sana-555 » 15 авг 2017, 13:34

Chocobo писал(а):Источник цитаты превый важный твик это vm.swappiness

Здесь нужно добавить эту строчку, и нужно ли перед vm.swappiness=1 поставить #, а то в этом файле все строки начинаются с #?
gksu gedit /etc/sysctl.conf

В сети
Аватара пользователя
Chocobo
Сообщения: 4188
Зарегистрирован: 27 авг 2016, 19:57
Решено: 102
Откуда: НН
Благодарил (а): 354 раза
Поблагодарили: 1111 раз

swap

Сообщение Chocobo » 15 авг 2017, 14:07

sana-555, те что с решетки - прописаны там как примеры некоторых конфигураций и не учитываются при парсинге конфига.
Изображение


Вернуться в «Параметры и оптимизация»

Кто сейчас на конференции

Сейчас этот форум просматривают: CCBot [Bot] и 0 гостей