Olej писал(а):
1. обязателен ли swap?
2. какие есть способы (варианты) организации swap?
3. связано ли как-то использование swap с SSD?
4. какой размер выбирать для swap?
1. swap обязателен.
Вообще без swap систем может замечательно работать. И даже весьма долго... Но это до поры, до времени...
И падать система без свап никогда не будет.
Со swap как с понятием произошла дурная история, которая тянется ещё из Windows 3.11 ... с самим термином. Но swap Linux - это не выгрузка областей памяти на диск, а отображение логических страниц RAM на сектора диска (хотя при этом может происходить и выгрузка) - виртуализации.
При активной эксплуатации (в реальных условиях, а не "на поиграться") вся доступная RAM может исчерпаться практически на 100%. И тогда система истерически ищет хоть ненадолго освободить 1-2-3 физических страниц памяти, но без swap это невозможно, система начинает искать страницы, которые нужно просто утилизировать (самые неиспользуемые). и скорость системы может снизиться на 1-2-3 и более порядков! И выгребаться из этого состояния система может 1 минуту, 10 минут и т.д. ... и в это время вы не сможете вмешаться в её работу, её реакция отбита (или почти отбита).
(такую картину можно смоделировать если в современных браузерах открывать, открывать и открывать новые закладки ... и ещё при этом не перезагружать систему 2-3-5 дней ... в ждущем режиме)
Хуже того, что даже ядро Linux в некоторых случаях (достаточно редких) может потребовать загрузки-выгрузки образа страниц RAM. И здесь будут те же проблемы.
А при доступности swap таких эффектов не возникает.
3. SSD или не-SSD здесь вообще не при чём.
Увязывание SSD в контекст разговоров про swap связано, скорее всего, с
опасением испортить SSD перезаписью. Но я где-то встречал оценки, что перезапись swap на современных (последних) SSD может его убить ... но случится это, скорее всего, лет через 99 непрерывной эксплуатации.
Но нужно поискать и уточнить такие оценки специально.
4. Когда-то, на заре Linux и Windows ... да и других систем, QNX, например, во всех них рекомендовали размер swap = 2 * RAM - в 2 раза больше оперативной памяти. Но это мотивировалось тем, что они хотели
расширить размер
небольшой памяти!
А на сегодня задача расширения большой памяти (4-8-16Gb) не стоит. А задача -
подстраховаться на короткие периоды от клинча памяти, и освободить несколько страниц (по 4Kb для 32-бит, или 64Kb для 32-бит PAE) RAM. И вовсе не нужно, как советовали в древние времена, иметь swap размером в RAM*2 - более чем достаточно просто небольшого swap, скажем в 1Gb.