LINUX.ORG.RU
решено ФорумAdmin

swap

 


0

1

здрасьте здрасьте люди добрые удалось выяснить и принять, что swap просто необходим для правильной работы ядра Linux. ok. помогите пожалуйста перенести swap на tmpfs. как сделать так, чтобы при старте все искало swap не на ssd, а знало что swap располагается в tmpfs и выгружало все туда? это вобще возможно?

tmpfs располагается в памяти, когда она есть, а когда её начинает не хватать, выгружается в swap при его наличии. А для твоих целей лучше подошла бы более простая ramfs, не выгружаемая на диск. Но делать этого я не советую, т. к. ты непроизводительно будешь расходовать память. Может, тебе нужен zswap? См., например, https://www.hippolab.ru/linux-zswap-optimiziruem-rabotu-s-podkachkoy.

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

нужно чтобы swap обязательно распалагался в оперативной памяти... наверное да, правильнее было бы сделать ramdisk. можете дать совет как лучше сделать swap на ramdisk? создастся ли ramdisk вперед swap или это без разницы?

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

Ram — модуль ядра Linux. Он увеличивает производительность путём предотвращения подкачки страниц на диск, используя сжатое блочное устройство в оперативной памяти, ПОКА НЕ ПОЯВИТСЯ НЕОБХОДИМОСТЬ ИСПОЗОВАТЬ ФАЙЛ ПОДКАЧКИ НА ЖЕСТКОМ ДИСКЕ. значит неподходит.

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

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

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

используя сжатое блочное устройство в оперативной памяти, ПОКА НЕ ПОЯВИТСЯ НЕОБХОДИМОСТЬ ИСПОЗОВАТЬ ФАЙЛ ПОДКАЧКИ НА ЖЕСТКОМ ДИСКЕ.

Но если у тебя нет подкачки на ssd, то не будет использовать. Хотя, повторюсь, я не советую. По мне лучше zswap.

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

я создаю swap не попричине нехватки оперативной памяти. поэтому мне разумнее было бы сделать swap в оперативной памяти. тут очевидно. но есть еще пара моментов для меня, которые требуют, чтобы swap был полностью расположен на ramdisk. и может случиться так, что ssd будет отсутсвовать совсем. но за это не стоит цепляться, вопрос в том, как создать swap на ramdisk

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

я учел ваш совет по поводу

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

еще бы хотел услышать один от вас, как создать swap на ramdisk

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

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

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

@Jameson совершенно правильно сказал: zram именно то, что ты хочешь. Работает в памяти. Если памяти не хватит, а на диске есть другой swap, то он будет задействован, иначе новые программы откажутся загружаться из-за нехватки памяти, а старые не получат дополнительную память, если запросят.

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

То что ты хочешь умеет zram. Без ssd или какого либо физического носителя вообще. Но ты почему то этого не понимаешь и изобретаешь квадратный велосипед. То что ты процитировал говорит о ВОЗМОЖНОСТИ использовать ещё и физический свап, но не об НЕОБХОДИМОСТИ его использовать.

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

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

ну конечно не понимаю. иначе зачем бы я спрашивал вас. ну про zram есть инфа. нельзя ли было объяснить как сделать и на ramdisk. я бы сделал и так и так и выбрал бы более подходящий вариант. что в этом плохого?

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

для zswap все равно нужен физический файл

Да, именно поэтому мне он кажется лучше.

Но вообще это вкусовщина…

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

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

и на ramdisk

Допустим, процессы сожрали оперативу, пришло время выталкивать память в своп.

Сколько места есть на рамдиске? 0. Как ты туда вытолкнешь что-то?

А если диск сжатый - zram - то можно вытолкнуть, путем сжатия. Сжал 2 гига - получил один гиг свободной памяти.

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

То что ты хочешь умеет zram. Без ssd или какого либо физического носителя вообще. Но ты почему то этого не понимаешь и изобретаешь квадратный велосипед. То что ты процитировал говорит о ВОЗМОЖНОСТИ использовать ещё и физический свап, но не об НЕОБХОДИМОСТИ его использовать.

я просто хотел swap в оперативной памяти. и мне понравилась идея разместить его в ramdisk. ну понравилась. почему я должен от нее отказаться? пусть даже zram лучше на словах. я хочу убедиться в этом сам. для этого нужно протеститьи swap на ramdisk. и попричине того что я хочу на ramdisk опять началось то что я туп, не умею читать.... ну вы это умные, так объясните пожалуйста как сделать на swap на ramdisk и тема закрыта. к чему обиды?

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

как сделать на swap на ramdisk

Без сжатия - никак. Память переполнена - своппинг без сжатия невозможеню Или свопь на диск, или сжимай в оперативе с использование zram

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

jameson совершенно правильно сказал: zram именно то, что ты хочешь.

почему jameson лучше меня знает что я хочу? я решил что хочу swap на ramdisk. у меня был только один вопрос теперь к уважаемым форумчанам, как это сделать... но тема опять пошла не туда. опять хейт опять обиды.

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

еще бы хотел услышать один от вас, как создать swap на ramdisk

Используй модуль ядра brd вместо zram, получишь устройство /dev/ram0 (см. https://www.k-max.name/linux/ramdisk-ramfs-tmpfs-in-linux/), дальше создаёшь на нём своп, как написал анонимус.

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

ПОКА НЕ ПОЯВИТСЯ НЕОБХОДИМОСТЬ ИСПОЗОВАТЬ ФАЙЛ ПОДКАЧКИ НА ЖЕСТКОМ ДИСКЕ. значит неподходит.

Если не будет дополнительного свопа на жестком, то и и не будет свопить на диск.

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

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

А ещё я не вижу смысла всё это обсуждать, когда можно прочитать как работает свап в принципе, и зачем он нужен, а затем прочитать как работает zram\zswap. И просто сделать, не выпрашивая готовых команд, просто прочитав и поняв инструкции.

Кстати и сотворить желаемый тобою идиотизм тоже очень просто - гуглишь как сделать рамдиск. Гуглишь как превратить блочное устройство в свап. Гуглишь как подключить свап. Для всего этого не надо создавать тем на форуме, это всё элементарно гуглится.

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

Я этому существу уже пытался помогать, в его предыдущей реинкарнации, он в ответ вылил ведро соплей и дерьма и добился таки своего забана. Он не смешной, он больной. Так что игнор всё же

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

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

Assembler ()

SWAP в оперативной памяти это грабли.

С чего вы решили что он необходим?

Linux не свопится без необходимости, если полез в подкачку значит ОЗУ не хватило, делайте выводы.

Запихнув свап в ОЗУ получите сбой системы, гарантированнно

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

полез в подкачку значит ОЗУ не хватило

В норме в подкачку сбрасываются неактивные анонимные страницы для освобождения места под файловые. Не только при острой нехватке памяти.

Запихнув свап в ОЗУ получите сбой системы, гарантированно

Своп в zram не приводит к сбою.

anonymous ()