Про своп

13.07.2008 17:39:21

Немного поворчу.

Историю рекомендации свопа в размере 2-х размеров я не помню, кто-то когда-то на эту тему копался в какой-то статье, но увы. Поверью этому уже много-много лет. Более того, оно неоднократно разбиралось по косточкам и тут, и там, и ОЧЕНЬ много лет назад. Пожалуй, именно поэтому, каждый внеочередной раз, когда я вижу эту откровенно абсурдную, бессмысленную и вредную рекомендацию, глаза мои наливаются профессиональным красным цветом, а рука тянется к пулемёту, ну то есть, к клавиатуре и журналу, да.

Коротко о главном:

НИКОГДА НЕ ДЕЛАЙТЕ СВОП РАВНЫЙ ДВУМ РАЗМЕРАМ ОПЕРАТИВКИ.

Размер свопа диктуется не наличием оперативки, а потребностью в оперативке.

Если ты хочешь запустить нечто, что хочет сожрать гигабайт памяти, а у тебя 128 Мб её физически, то даже «истинно правильные» 256 Мб свопа тебе не помогут, увы. Равно и обратное! Если в той же ситуации у тебя 4 Гб памяти, то своп тебе вообще на фиг не нужен!!!

Понятно, что так точно прогнозировать потребление сложно, но, по факту, при наличии 1 Гб памяти сегодня своп вообще не нужен, процентах этак в 85 случаев. А при двух физических, так и в 95, пожалуй. Я на многих машинах делал установки без свопа и всё работает просто чудесно. Если нравится, можно выделить сколько-нибудь на всякий случай, но не надо при этом отталкиваться от наличия физической оперативки.

Единственное «но» и реальная увязка свопа с физической памятью, это технологии глубокой спячки для железа (hibernate/suspend-to-disk или как ещё где это нынче обзывается), когда содержимое памяти скидывается в тот самый своп и тут, да, он должен быть подходящего размера, в пределе как раз один полный размер физической оперативки. Но это несколько другая тема.

Много комментариев (3) к заметке “Про своп”

  1. Заметки простого инженера » Архив блога » Linux дома:

    […] Выбор жёсткого диска. Если ставим первый раз, лучше выбрать небольшой отдельный диск и всё поставить туда. Или не полениться, заранее выделить каким-нибудь partitioner’ом область жёсткого диска и поставить туда. Если выбрали второй вариант, то дождитесь загрузки окна с жёсткими дисками, потом дважды жамкните на выделенную область диска, отделите от неё… раньше здесь было следующее — 2хразмер оперативной памяти и выберите тип swap, но после замечаний много более опытного товарища решайте сами, нужен вам своп, или это полная фигня. Я склоняюсь ко второму. Остальное выделите под ext3 и поставьте ей точку монтирования /. Всё. Далее установщик предложит вам просмотреть всю информацию о будущей системе: язык, регион, раскладка клавиатуры, а также, чуть ниже, перечислит те области жёстких дисков, которые надо отформатировать. Проследите, чтобы форматировались только те разделы, которые вы выделили под swap и ОС. Будет обидно, если у вас форматнуться все винты. […]

  2. http://mdf-i.blogspot.com/:

    Кстати вот примечательно, что Linux почему-то юзает своп как-то половинчато… За последние версии отвечать не стану, но в какое-то время своп в линуксе юзался строго наполовину… из 512 мег юзалось не более 256, даже при острой необходимости. Видимо это связано с алгоритмами своппинга как-то.

  3. Роман:

    Всё равно с задачами, в первую очередь. Просто есть ещё скрытый резерв, так сказать, в виде кэшей диска. При действительно сильной необходимости (большой объём рабочих данных) сперва будут выкинуты из памяти кэши, а уж потом пойдёт своп. Параметр swapiness, если склероз не изменяет, на эти вещи влияет. Стало быть, не было столь серьёзной нагрузки. 🙂

Закомментировать

Вам бы, по-хорошему, зарегистрироваться сначала надобно, прежде чем комментарии оставлять. Но, в порядке исключения, можете попробовать с OpenID проскочить, вдруг.