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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.