LINUX.ORG.RU

Сколько места отвести под swap если памяти много

 , ,


0

2

При установке нужно выбрать размер swap раздела.

В интернете рекомендуют умножить количество RAM на два и таким образом понять сколько места нужно под swap.

А у меня 128GB оперативной памяти. Долго жил с 8GB и в конце концов психанул и вставил максимум, который позволяет система.

И теперь получается, что на SSD размером в один терабайт нужно 256GB выделить только под свап. Который неизвестно, будет ли вообще использоваться в таких условиях ))

Может совсем отказаться от свапа? Или возникнут какие-то проблемы?

Я подумал, наверное гибернацию не получится сделать, если свапа не будет. Но, может под гибернацию хватит 64гига хотя бы? Может линукс сумеет не сохранять пустые куски оперативки?


В интернете рекомендуют умножить количество RAM на два

Эта методичка протухла ещё 10 лет назад

гибернацию

Давно пора выкинуть на мороз. В эпоху ssd и systemd система с нуля грузится и выключается быстрее, чем распердоливается с гибернацией при таком количестве оперативки.

alex1101
()

Проблемы могут возникнуть, это правда. Первая проблема: swap нужен на гибернации. Вторая проблема без swap линукс может тормозить, но это нужно чтобы занято оказалось поцентов эдак 70% физической памяти. Вторую проблему можно отдалить, если использовать zram.

Khnazile ★★★★★
()
Ответ на: комментарий от amd_amd

Нет, он нужен всегда: https://unix.stackexchange.com/questions/190398/do-i-need-swap-space-if-i-have-more-than-enough-amount-of-ram/190521#190521

Правда в случае ТСа его можно сделать мелким, 2-4 гига и в zram.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)

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

symon2014 ★★
()

Меньше слушай всякий безграмотный рак из интернетов и сам разберись что свап делает и что он будет делать лично для тебя.

У меня, к примеру, четырёхтерабайтный ссд под свап целиком размечен.
И я его использую и он увеличивает производительность моих процессов многократно.

In other news, ссд сейчас стали максимально дешёвыми, самое время воткнуть себе хотя бы 2ТБ.

Goury ★★★★★
()

Я отказался от своп-файла при 8 гб оперативы. Просто в какой-то момент посмотрел вывод stat и увидел, что за два года он ни разу не был задействован. Естественно, это с учетом моего полностью хомячкового пенсионерского использования системы. Кино, музон, браузер, консоль.

dmitry237 ★★★★
()

cat /sys/power/image_size

В интернете рекомендуют умножить количество RAM на два

Может

юзать вменяемый дистриб и не париться за то, чего не понимаешь.

mrjaggers
()

Свап 2 ГБ, оперативки 32 ГБ, свап при этом время от времени используется (возле часов выведен показометр). Кстати, если остро захотелось почистить свап вилкой, то можно сделать sudo swapoff -a && sudo swapon -a.

Mobutu_Sese_Seko
()

Я подумал, наверное гибернацию не получится сделать, если свапа не будет. Но, может под гибернацию хватит 64гига хотя бы? Может линукс сумеет не сохранять пустые куски оперативки?

Умеет. И более того - непустые куски оперативки он еще и сжимает. Так что понадобится для гибернации в самом худшем сучае 128 гигов. Но никак не 256.

Более того - при том что ты жил на 8 гигах - то реально ты скорее всего несмотря на наличие 128 не задействуешь по полной даже 32. Ну только если не замутишь на оставшейся памяти рамдиск и не будешь забивать его файлом. То есть если сейчас сделать 64 гига своп - то до начала гибернации он будет совершенно пуст. Если сгибернейтишься - то в зависимости от реально занятой памяти и сжимаемости ее содержимого. И этого более чем хватит на практике.

Qui-Gon ★★★★★
()
Ответ на: комментарий от hakavlad

Делай своп на zram.

Гибернация в свопе на zram не получится. Сам своп как своп для 128 гигов оперативки топикстартеру не нужен нафиг. Учитывая что он жил на 8 гигах - значит потребность в памяти там реально намного ниже и чел не крутит тысячи виртуалок и контейнеров, 128 там за глаза и с запасом.

При своей загрузке с сервером БД, вебсервером, парой виртуалок, фоксом с кучей вкладок, бурептицей, коллекцией мессенжеров и еще tmpfs для emerge в генту - практически ни разу не использовал своп имея 32ГБ оперативки.

Qui-Gon ★★★★★
()
Ответ на: комментарий от Herabora

И придёт OOM Killer,

Для этого должны быть какие-то конкретные условия? Ну если все, вообще все отжирает 3гб памяти при 128 доступных, хоть ты убейся больше не встречал. Наверное все под задачу, нет?

dmitry237 ★★★★
()
Ответ на: комментарий от alex1101

Давно пора выкинуть на мороз. В эпоху ssd и systemd система с нуля грузится и выключается быстрее, чем распердоливается с гибернацией при таком количестве оперативки.

Что делать с сохранением рабочей сессии? inb4: Нет, речь не об обрубке с автозапуском открытых ранее приложений.

MagicMirror ★★
()
Ответ на: комментарий от alex1101

Потому что состояние не сохраняет. Тем временем в замке у Шефа:

$ uptime
 14:33:56 up 4 days, 20:15,  1 user,  load average: 0,98, 0,71, 0,77

Ноутбук, активно используется «ждущий режим», пока таскается с одного конца города на другой.

Mobutu_Sese_Seko
()
Последнее исправление: Mobutu_Sese_Seko (всего исправлений: 1)

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_storage_devices/getting-started-with-swap_managing-storage-devices

Для твоего объёма рекомендуют от 4 GB. Двойной объём RAM нужен при объёмах RAM до 2 GB. Я бы 8 GB посоветовал поставить.

Насчёт hibernate. Полагаю, что чудес не бывает и в худшем случае нужно будет 128+ GB для гибернации. Этот объём на диске должен быть зарезервирован, чтобы не было ситуации, когда тебе надо бежать, а у тебя ноутбук не хочет выключаться. А раз он должен быть зарезервирован - значит его логично резервировать именно свопом. Нужен ли тебе своп больше 128 GB - тебе видней, если у тебя задачи потребляют больше памяти, то нужно больше, если меньше - то нужен меньше.

vbr ★★★★
()
Последнее исправление: vbr (всего исправлений: 2)
Ответ на: комментарий от alex1101

Давно пора выкинуть на мороз. В эпоху ssd и systemd система с нуля грузится и выключается быстрее, чем распердоливается с гибернацией при таком количестве оперативки.

Гибернация нужна не для системы, а для человека. Чтобы открыл окна и работаешь, пока обновление для ядра не прилетит.

vbr ★★★★
()
Ответ на: комментарий от dmitry237

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

Вроде в режиме suspend-then-hibernate оно так и должно работать по умолчанию.

vbr ★★★★
()
Последнее исправление: vbr (всего исправлений: 1)
Ответ на: комментарий от vbr

Ну в этом сценарии все правильно. Наверное многое зависит от аккумулятора, у меня через двое суток сна ушло где-то 5% от заряда, временного промежутка больше этого у меня не случалось. Хотя на старом ноуте я вытаскиваю батерею (она съемная) (включаю, чтобы обновить), т.к. за месяц она расходуется на 80% даже при выключенном ноутбуке.

dmitry237 ★★★★
()

Правило х2 для свопа уже много лет не актуально. Если нужна гибернация, воткни отдельный NVMe на 250ГБ (можно и меньше, но вряд ли найдешь такой в продаже), да пошустрее, и отдай его под своп полностью. Если гибернация не нужна, разметь 2ГБ, этого хватит.

apex
()

Несколько сотен серверов крутятся без свопа уже лет 5 и никаких проблем нет. На ноутбуках и десктопах моих везде debian и тоже без свопа. Главное точно знать, что в любой момент времени потребление не будет выше предела.

Dimarius
()
Ответ на: комментарий от dmitry237

Для этого должны быть какие-то конкретные условия?

Откройте пару десятков страничек в браузере и привет.

Ну если все, вообще все отжирает 3гб памяти при 128 доступных, хоть ты убейся больше не встречал.

Не пробовали начать пользоваться компутером? Или у вас только эмулятор терминала на десктопе?

Herabora
()
Ответ на: комментарий от Herabora

Откройте пару десятков страничек в браузере и привет.

У меня столько закладок нет.

Не пробовали начать пользоваться компутером? Или у вас только эмулятор терминала на десктопе?

Еще браузер.

dmitry237 ★★★★
()
Ответ на: комментарий от dmitry237

У меня со сном s2idle за ночь уходит процентов 15, кажется (что уже рискованно), а deep меня выбешивает. Удивительным образом выбор происходит не запуском разных команд, а параметрами ядра (либо при загрузке, либо в глубинах /proc/), что не особо практично.

Так что приходится на кнопку выключения питания все-таки вешать hibernate.

Возможно, вас deep выбешивает меньше, но мне того не понять.

akho
()

Имхо - нынче если физической памяти «с запасом» swap нужен исключительно дабы обмануть overcommit и OOM. Выставляйте макс на 2x RSS per-process которую ожидаете.

ПыСы. Это от человека для которого 384GB RAM на машинке - скорее обыденность.

ПыПыСы. К сожалению там ещё есть вещи которые ядром by default выставляются в абс неразумные значения (вплоть до panics после), но я не думаю что у Вас до этого дойдёт.

bugfixer ★★★★★
()
Последнее исправление: bugfixer (всего исправлений: 1)
Ответ на: комментарий от hakavlad

Так она и не нужна. Гибернация - это дыра безопасности.

кому как. по мне так необходима. И думаю масса народа использующие ноутбук как ноутбук а не как компактный настольник под этим подпишутся.

Qui-Gon ★★★★★
()