LINUX.ORG.RU
Форум — Admin  

swap

 


0

1

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

☆

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

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

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

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

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

jameson

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

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

ни прикаких условиях система не должна искать swap на ssd. система должна знать, что swap расположен в оперативной памяти. 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 - единственный способ, при котором своп не располагается на ПЗУ.

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

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

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

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

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

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

Создание свопа на сжатом блочном устройстве, расположенном в оперативе:

modprobe zram
echo 8G > /sys/block/zram0/disksize
mkswap -L zram0 /dev/zram0
swapon -d -p 100 /dev/zram0
anonymous
()
Ответ на: комментарий от Jameson

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

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

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

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

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

и на ramdisk

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

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

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

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

Выгрузка на диск - это неприемлимые лаги, вплоть до зависания.

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

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

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

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

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

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

А мне нравится идея разместить 20 литров воды в 10-литровом ведре.

anonymous
()
Ответ на: комментарий от 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

Никакого хейта. Если ты объяснишь мне, как залить 20 литров воды в 20 литровое ведро, то и я объясню тебе как разместить своп на рамдиске.

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

Увы, ТС всё так же непоходимо туп, как и в предыдущих темах.

Наверное некоторым просто не дано освоить компуктер.

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

в 10 литровое, конечно. Не разлив мимо

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

будь мужчиной

А ты еще и сексист. Какой позор.

anonymous
()

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

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

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

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

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

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

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

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

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

anonymous
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.