Пользователи систем, использующих механизм zRAM для сжатого хранения раздела подкачки в памяти, столкнулись с проблемой, приводящей к сбою загрузки после обновления ядра Linux до версии 6.12. Проблема проявляется в Gentoo, Void и других дистрибутивах, поддерживающих zRAM и предлагающих пакеты с новыми версиями ядра...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=62451
Желтый заголовок. Это некорректная сборка ядра привела к проблемам, а не изменение в ядре.
Отмаза не засчитана. Разрабы ядра известны тем что не соблюдают обратную совместимость.
> Разрабы ядра известны тем что не соблюдают обратную совместимость.Вообще-то наоборот, они известны как соблюдающие малейшую совместимость с
"user-space", a.out несколько десятилетий поддерживали после того как
все давно уже было заменено elf.
Расскажи это создателям модулей для ядра.
Модули ядра и юзерспейс, что, как бы, намекает, это в разных адресныых пространствах.
Не ну тогда можно ломать все хорошо (нет)
Внутриядерный API хоть перелопать, главное - не менять интерфейс с юзерспейсом. Т.е., не менять системные вызовы. Тогда это не ломает юзерспейс.
анон не понимающий разницу между user space и kernel space нам особенно нужен и дорог, да.
Так это для корпораций соблюдали, у которых проприетарных программ накомпилировано. Не для FOSS-дистров, сопровождаемых волонтёрами, не платящами взносы в Linux Foundation. Рыночек порешал.
Linux Foundation оплачивать уже бесполезно, если хочется развивать ядро. Читайте свежий отчет: https://www.linux.org.ru/forum/talks/17820501
Ты же не думаешь, что это частные лица оплачивают? Это корпораци себе вечеринки оплачивают. А разработку они оплачивают через себя, через зарплатный фонд.
До 2016 в совете директоров LF были представители сообщества, их туда пускали за номинальные $99 в год. Но их по-тихому убрали https://www.information-age.com/linux-foundation-causes-upro.../
По твоей ссылке человек выручку называет доходом(ну спасибо, что не прибылью)
Читать его «анализ» смысла нет точно, ну не знает человек о чем вообще пишет
Он просто делает краткую выдержку из англоязычного отчёта. Понимаешь лучше - сделай лучше, он даже ссылку на отчёт привёл
Но каких-то внятных данных от анона, как ни странно, нет
Еще разок
Ты дал ссылку на чувака который излагает свои конспирологические теории и пытается что-то рассказать, но не знает даже базы экономических терминов и путает выручку с доходом
О чем дальше говорить, если он не понимает терминов?
Все что он пишет это его фантазии без понимания того самого отчетаА мне никто не заплатил за нормальный обзор
Рекомендую: можешь скормить ссылку на отчет NotebookLM от Google и ты получишь нормальный обзор на понятном тебе языке, без бредней человека не понимающего смысл слов и тем более не понимающего сам отчет
> Еще разок
> Ты дал ссылку на чувака который излагает свои конспирологические теории и пытается
> что-то рассказать, но не знает даже базы экономических терминов и путает
> выручку с доходомЯ не давал никаких ссылок. Я лишь спросил о более развёрнутой аргументации критики исходного материала. Как ни странно, этого не нашлось
> О чем дальше говорить, если он не понимает терминов?
> Все что он пишет это его фантазии без понимания того самого отчетаПо ссылке выше, тот тип однозначно ссылается на англоязычный фин. отчёт
Те термины могут быть просто издержками перевода. Не все являются 50-летними бухгалтершами вроде тебя и могут не понимать разницы. Но ты ведь, очевидно, понимаешь, не так ли ? И где та разница на фоне фин. отчёта ?
> А мне никто не заплатил за нормальный обзор
> Рекомендую: можешь скормить ссылку на отчет NotebookLM от Google и ты получишь
> нормальный обзор на понятном тебе языке, без бредней человека не понимающего
> смысл слов и тем более не понимающего сам отчетТебе никто не платил и за то, чтобы ты в принципе появлялся тут со своим единственно-правильным мнением( у которого, как подобает, нет никаких доказательств )
Тем не менее, своё "невероятно-ценное" мнение ты тут оставил
Ну значит и иди ***. Собсно, туда куда шёл. Твоего мнения никто не спрашивал, если не можешь ответить развёрнуто, то зачем вообще полез со своим ***-мнением, которое ничем не обосновано, даже самим тобой и даром никому не нужно ?
Они и не должны. Именно для таких случаев существует make oldconfig, который показывает все новые/изменившиеся опции и спрашивает что с ними делать.
А кто неглядя на шару со старым конфигом новое ядро собирает - сам виноват.
Если в ченджлоге нет "мы поломали всё кхeрам" то почему бы ему и дальше не работать? Но нельзя просто так зарелизить ядро не поломав его совместимость чуть менее чем полностью (;
Разрабы ВСЕХ долгоживущих ядер известны тем что не соблюдают обратную совместимость.
Виноваты мейнтейнеры ядра в этих дистрибутивах. Которые, вместо того чтобы посмотреть на чейджлог, следуют github-js/go-dependabot парадигме BUMP THAT VERSION RIGHT NOW!!, BUMP, BUMP!.
> Это некорректная сборка ядра привела к проблемам, а не изменение в ядре.С одной стороны да, а с другой сейчас опций ядра тысячи и добавляют еще и еще.
Очевидно что подобного рода проблема должна была в конце концов возникнуть,
если не блокировать добавление новых опций.Усидчивый человек может и готов сесть и прочитать сто страниц с перечислением
опций и их описаний. Но 1000 или 10 тысяч очевидно уже никакой усидчивости не хватит.
Знаешь, даже 100 страниц - это очень много, если их надо перечитывать после каждого минорного релиза ядра.Проблем бы вообще не возникло, если бы в KConfig оставили предыдущих механизм для совместимости, но добавили бы громкого ора, что задепрекейтят, причём не во время сборки, а в рантайме, если ядро было собрано с устаревшими опциями. И на счётчик поставили бы, на год, с конкретным дедлайном. За год бы все дистры мигрировали, и пользователям такое вообще не было бы отгружено.
Проблемы бы не возникло если бы просто по умолчанию все было включено, как и раньше.
Но какая-то умная маша решила по умолчанию сэкономить десять килобайт оперативы.
Если бы умная Маша решила отдать у меня 10 КБ оперативы, я бы возмущался даже больше. Нельзя жертвовать риалтаймовые ресурсы в обмен на удобство разработки. Это путь в никуда.
Это как раз таки путь к развитию. Включаем логику. Выше удобство - выше скорость - быстрее получаем результат - выше оплата труда. А экономить почти бесплатный ресурс ради того, чтоб кому-то спалось слаще - это путь именно что в никуда. Ты же не экономишь 50 рублей, чтобы воды себе купить, а не страдать от жажды, потому что дома кран есть.
Если бы тебе были так критичны эти 10Кб - ты бы просто пересобрал ядро под себя ! Или не ?
Модет, просто все новые по умолчанию в состоянии OFF ? А кому надо, узнавшим о новшествах из новостей и т.д., сами поинтересуются что это, да как. Сами включат, если им это оказалрсь полезным.
Ну они так и сделали: новые выставили по умолчанию в OFF. А те, кто не узнал, что в этих новых нужно включить ту, которая отвечает за используемый алгоритм сжатия, лоcocнyли
Можно не читать, достаточно лишь при сборке нового ядра дергать make oldconfig.
Оно само найдет изменения в конфигах и спросит что делать с каждой новой/изменившейся опцией.
Вы ещё про телеметрию в ллвм20 не видели.
Проблемы на твоей стороне, потому что ты путаешь поиски виноватых с поисками причин. В цепочке причинно-следственных связей все узлы кроме последнего являются причинами. Более того, цепочка может быть не цепочкой, а деревом сходящимся к одному узлу, причины которого мы ищем. То есть, причин может быть много, и какую из причин выносить в заголовок новости, это вопрос довольно мутный. Здесь явно вынесена та переменная, значение изменилось и привело к проблемам. Это изменение легко проходит тест but-for (если-бы-не): если бы не изменение, то проблем бы не было. А раз так, то твои намёки на то, что это не было причиной, абсолютно мимо кассы.Но тебя ведь не причины интересуют, а поиск виноватого, так? И ты небось не видишь разницы, между поиском причин и поиском виноватых, так? Но поиск виноватых - это другая проблема, которая гораздо сложнее первой, и гораздо сложнее, чем представляют анонимы в интернете, которые легко с первого взгляда могут определить виноватого в любой ситуации. Если тебе интересно ознакомиться с этими вопросами, то я могу кинуть парой ссылок:
https://en.wikipedia.org/wiki/Causation_(law) это общая статья о каузации в юриспруденции, которая примерно даёт обзор проблемы
https://en.wikipedia.org/wiki/Causation_in_English_law это тоже общая статья в стиле предыдущей, но она чуть более конкретна, поскольку фокусируется на практиках английского суда.
https://en.wikipedia.org/wiki/Proximate_and_ultimate_causation эта статья мне нравится примером, на котором она демонстрирует proximate и ultimate причины. И даже не сам пример, а подход к его разбору очень показателен, что может продемонстрировать "дерево причин" которое я упоминал в первом абзаце.
Если тебе этого покажется мало, ты спроси, я тебе могу и книжек накидать.
Расширитель оперативное памяти сломался.Ужас какой.
Тебе 640Кб уже хватило?
У него 64 гига, тут недавно хвастался.
Подтверждаю, 64гб есть у любого анонима.
Виртуальной памяти 64 Гб.
Физической. Аноним может себе позволить.
Это не расширитель оперативки - тот называется zswap. Это сжатое блочное устройство в оперативке, которое волею выдачи гугла используется для размещения свопа.И на самом деле крайне важная штука. Из всех ОС только линуксы могут работать так, как будто оперативки на 30-50% больше.
Вот это уже интересно. Можно замоунтить zram через fstab как tmpfs?
tmpfs /tmpfs tmpfs nodev,nosuid,noatime,size=100G,mode=1777 0 0tmpfs монтируется так. Оно по умолчанию просто в RAM.
Можешь просто настроить так tmpfs и своп на zram. Тогда при сбросе файлов в этот tmpfs файлы будут улетать в своп и соответственно в zram, т к содержимое tmpfs может свопиться.
Они могут быть настроены по отдельности, и содержимое tmpfs будет свопиться в zram.
Интересует tmpfs с функцией прозрачного сжатия. Например возможность задать 50% памяти под tmpfs раздел, который будет отъедать память только по мере наполнения файлами.
Своп не подходит так как срабатывает только при переполнении раздела или же имеется в виду tmpfs минимального размера, объем которого обеспечит постоянный слив в zram?
И ещё вопрос - zram своп отъедает память сразу или по мере накопления?
Нашел что-то, но работает крайне странно - факт сжатия не замечен хоть стоит lz4 по дефолту, а после удаления файлов память не освобождается (проверял с du, df, free)> echo 4G > /sys/block/zram0/disksize
> mkfs.ext4 -m0 /dev/zram0
> mount /dev/zram0 /mnt/mem
Upd: Судя по zramctl сжатие работает, но запись ограничена суммарным размером файлов до сжатия. Может быть ext4 не предназначен для работы поверх zram либо нужно задавать больший размер для zram0 учитывая этот нюанс.
А зачем ты какую-то дичь творишь руками?
Есть systemd-zram-generator(https://github.com/systemd/zram-generator)
Через него делается и `/tmp`, если тебе это нужно, там в образце конфига вроде даже был готовый вариант или глянь в доку
Sys-d решение не-переносимое между разными системами. И по ссылке тоже шелл one-liner, более запутанный - https://github.com/systemd/zram-generator/tree/c16f4dd2e1db0...Поэтому, для конечного пользователя не подходит.
Как раз systemd-решение полностью переносимо между всеми мэйнстримными дистрибами, а твои портянки и костыли не переносимы
Хватит уже нести дичь
Твои костыли не переносимы и плюс к тому если ты сдохнешь, то другие задолбаются разбираться
А то что сделано при помощи systemd просто работает и спокойно сопровождается любым человеком способным прочесть документацию
Данные из tmpfs автоматически вытесняются в swap согласно выставленному значению swappiness. Если единственный swap на zram, то всё будет автоматически сжиматься в него. Только не забудь зарезервировать достаточно памяти под zram через min_free_kbytes и admin_reserve_kbytes. И low-memory killer неплохо бы настроить, чтобы всё это добро не накрылась при первой утечке памяти в каком-нибудь приложении.
>admin_reserve_kbytesЭто так не работает.
А что ему мешает работать? Что min_free_kbytes, что admin_reserve_kbytes - оба костыли одной категории.
> Из всех ОС только линуксы могут работать так, как будто оперативки на 30-50% больше.Правда?
https://answers.microsoft.com/en-us/windows/forum/all/why-is...
https://macperformanceguide.com/Mavericks-virtual-memory.html
Не позорься
Да, в винде начиная с каких-то билдов 10ки есть «сжатая» память
Но вот хочешь скажу, что я вижу прямо сейчас?Используется(сжатая)
45,0ГБ(64,2 МБ)Понимаешь, да? Используется 45 гигов, сжатой 64 метра
Прекрасно сжимаем, да?
И так примерно всегда
Формально есть сжатие, фактически ничего не сжимается
Впрочем когда я на этой же машине работаю, а не играю, то ни свопа, ни сжатия никакого под линухой я не использую вообще, потому что нет необходимости при 128 гигах оперативы что-то сжимать
А зачем тут винда должна что-то сжимать если она и так использует только 35% памяти.
>[оверквотинг удален]
> Но вот хочешь скажу, что я вижу прямо сейчас?
> Используется(сжатая)
> 45,0ГБ(64,2 МБ)
> Понимаешь, да? Используется 45 гигов, сжатой 64 метра
> Прекрасно сжимаем, да?
> И так примерно всегда
> Формально есть сжатие, фактически ничего не сжимается
> Впрочем когда я на этой же машине работаю, а не играю, то
> ни свопа, ни сжатия никакого под линухой я не использую вообще,
> потому что нет необходимости при 128 гигах оперативы что-то сжиматьWindows сжимает в фоновом режиме только least used memory, и не моментально, а по заданным временным таймерам которые только microsoft известны.
Если у тебя из 45 ГБ занятой ОЗУ приложения используют активно всю эту 45 ГБ оперативку, то никакого чуда не произойдет. Это баланс между производительностью и сжатием озу.
Если у тебя 64 ГБ озу, а занято 45 ГБ, то windows не видит причины по которой ей необходимо судорожно сжимать озу и записывать ее в pagefile.sys, тем самым экономятся CPU cycles и I/O. Когда порог подойдет к 60 ГБ ты увидишь сколько ГБ windows сжала и сбросила в swap.
В венде можно как вкл/выкл файл подкачки, так и вкл/выкл memory compression. И имхо после моих долгих наблюдений, что именно только в Windows, весь этот механизм работает лучше линукса и лучше чем в macos.
А ты пробовал в винде выключать своп?
Не вот написать «можно выключить», а реально выключить совсем?
Попробуй, будет интересный экспиренсМногие виндовые проги начинают истерично орать, что у тебя нет свопа
При этом если ты сделаешь своп на 16 метров, то они все дружно успокоятся, но он должен быть. Такова суровая правда винды. Потому проще вообще не выключать, чем морочиться с созданием хотя бы махонького
В линухе же я его просто не создаю, нет необходимости, все работает исправно без него
> В линухе же я его просто не создаю, нет необходимости, все работает
> исправно без негоТак забей свою ОЗУ на 95% потом приходи рассказать что стряслось.
Ты сначала отключи своп в винде
У тебя реально ничего не будет работать
> А ты пробовал в винде выключать своп?
> Не вот написать «можно выключить», а реально выключить совсем?
> Попробуй, будет интересный экспиренсЯ выключал и проверял работу игры Last Epoch на 16 гб озу пару лет назад. Игра просто крашится на старте. Так как это Unity, а программисты алкаши-бухарики то и результат соответствующий. С 8 гб pagefile.sys + Memory Compression игра идет более менее.
На распиаренной fedora где zram включен из коробки игра просто крашилась на старте с 16 гб озу + 8 гб swap разделом и zram. Вот такой вот он swap+zram в линуксе.
Под Ubuntu с 16 гб озу + 8 гб swap разделом и ядром xanmod игра играла примерно как под windows, конечно фпс был пониже, X11 все таки тормоза все дела.
Также люди тестировали под apple m1/m2, macos, и приходили к выводу, что для игры нужен ноутбук/mac mini/studio хотя бы с 32гб RAM, иначе она крашится, хотя "сжатая память" есть и у них, угу.
Дык игрушка наверняка память забивает сжатыми текстурами. И если они в физическую память не влезают, то хоть тресни - нужен своп, поскольку сжиматься они не будут. Чем текстура в свопе лучше текстуры на диске - вопрос разработчикам игрушки.
Объясни, раз разбираешься: почему я могу хотеть замедлять память, если можно выключить своп и пользоваться оперативкой без тормозов? Как по мне, так если памяти мало надо ещё один сервер втыкать, а не тормозить и без того нагруженную машину.
Наличие быстрого свопа даёт тебе время отреагировать на его рост до того как начнут сыпаться сервисы на твоём серваке.
Ну это мне как раз без разницы, рядом ещё десять таких же стоят. Раньше упадёт — раньше алерт придёт — раньше проблему починят.
>Наличие быстрого свопа даёт тебе время отреагировать на его ростКаким образом? При недостатке памяти linux уходит в вечный своп, единственная альтернатива - oom клиллер, плюс подобные шаманства.
Нет, потому что оно никому не надо, кроме инвалидов по памяти, типа Распберри.
Хотя массовые макбуки, что подешевле, тоже слабы по памяти, но они свопбуки по изначальному замыслу, в смысле своп быстрый.
> Нет, потому что оно никому не надо, кроме инвалидов по памяти, типа
> Распберри.О, нашёлся наконец то кто то, у кого всегда и на всё хватает оперативки! Наверное просто счасливчик, не слышавший о гугле и их софте.
> Нет, потому что оно никому не надо, кроме инвалидов по памяти, типа
> Распберри.так они и по свапу такие же инвалиды, куда им свопить - на флэшку тормозную? И по zram тоже инвалиды, ЭТО neon не ускорит.
>Из всех ОС только линуксы могут работать так, как будто оперативки на 30-50% больше.Я так ещё аж под DOS 6.22 делал.
>>Я так ещё аж под DOS 6.22 делал.Прям со сжатием на лету? Я как то не слышал что для ДОСа был своппинг и рам-диски и тем более свопинг на сжатые рам-диски или что то аналогичное.
Вся суть маргинальных дистров - отсутствие тестирования. И вот опять "что-то пошло не так".
> Вся суть маргинальных дистров - отсутствие тестирования. И вот опять "что-то пошло не так".У меня Fedora из-за этого сама переехала lz4 -> lzo_lre, тож маргинальная?)
> У меня Fedora из-за этого сама переехала lz4 -> lzo_lre, тож маргинальная?)я не знаю, куда она у тебя переехала, но я писал про тестирование. Fedora - это дистр для тестирования на комьюнити следующих релизов Enterprise Linux.
> Fedora - это дистр для тестирования на комьюнити следующих релизов
> Enterprise LinuxЯ не знаю, кто вам такое сказал, но он явно идиот. RH тратит на тестирование и фикс багов в Fedora больше, чем тратится на любой другой дистр. Любой.
Там в конфиге вообще много чего поменяли, у меня около десятка опций послетало. Причём не при переходе на ветку 6.12, а где-то посреди её использования, что странно.
А говорят ещё виндоуз меняет настройки после апдейта.
Вообще свапом не пользуюсь, мониторю свободную память, не запускаю программы если памяти не хватает. Если компиляторы в процессе работы свап не используют, зачем он нужен?
А кем вы работаете? Чем занимаетесь? Как выглядит рабочий процесс?
На серверах всегда своп отключен. В контейнерах ограничение на макс использование памяти. На десктопе 64 гига и тоже своп не нужен.
Не юзал своп с нулевых. Оперативная память к счастью стоит недорого по сравнению с остальными комплектующими, цены которых взлетели с "гейминг" трендом.
Низкого вы мнения об ИИ-исследователях однако.
Если память потечёт, то система со свапом уйдёт в свап, но её можно будет реанимировать, а без свапа тупо свалится...
Ровно наоборот. Система со свопом и оверкоммитом свалится в трешинг и из него не выйдет. Система со свопом и без оверкоммита тоже свалится в трешинг, но не настолько тяжёлый. И таки выйдет из него, когда программа упадёт по OOM. Без свопа программа сравнительно быстро упадёт по OOM.
> Без свопа программа сравнительно быстро упадёт по OOM.Вопрос только какая программа...
да твой шелл, конечно, через который ты пытаешься перехватить управление - ежу же (оомному йожу) понятно - все время аллоцирует память и пытается зохватить ресурсы (целых четыре килобайта вот только что запросила!) - прибить немедленно!Подумаешь, недоофис в фоне 32 гига сожрал и повис, кто ж на такие мелочи внимание будет обращать!
Ну да, поместить админский шелл в отдельную cgroup с выключенным OOMKiller это слишком сложно.
Это не просто сложно, а офигительно сложно ... Аж 3 новых сущности изучать ... стек современного одмина переполнится.
Пусть лучше падает, чем продолжает работать?
Let it crash!
Да, пусть лучше падает, чем продолжает ТАК работать. Какая мне разница, что программа в итоге доработает, если я к этому моменту состарюсь?
На самом деле, лучше, если "так работает". Объясню почему так считаю. Вот есть у твоей программы пользователи, железо у них разное и линуксы тоже разно настроены. И вот если программа начнет тупить и всё повиснет при тяжелых расчетах, то он задумается и может даже догадается, почему всё так. А если запущенная программа просто исчезнет, даже не выведя ошибку. Это намного сложнее(без приглашения админа) для понимания того, что же случилось.
В dmesg и в drkonqi всё есть.
А оно точно работает, или просто вечно занято свапом? Если оставить систему в таком состоянии на два часа, то часы в гуи ни на секунду не сдвинутся.
"оба хуже"btw, похоже с новыми модными тенденциями - oom проходит мимо программ в s-state. А почему они в нем - догадаться нетрудно...
Для справки:
SysRq+F прибивает "жрущий" процесс, и система моментально отвисает.
SysRq+B принудительно перезагружает систему.
>SysRq+F прибивает "жрущий" процесс, и система моментально отвисает.Если эти комбинации включены. Кстати работоспособность такой системы не гарантируется.
Когда система в глубоком трешинге, даже намлок не будет пахать.
> без свапа тупо свалитсяТак хорошо же! Мониторинг заметит что сервер не отвечает и просигналит куда надо. А своппиться оно может так, что со стороны без эвристики будет тяжело понять нормально ли всё работает, и если не работает, то что именно. Если сервак начал свапиться — оно как кот в коробке, и жив и мёртв одновременно.
Обратной совместимости на уровне конфигурации ядра никто и не обещал
Проблема в... дистрах и стейтфул пакетных менеджерах. Объясняю: у меня в NixOS есть возможность запустить обновление в QEMU перед тем, как накатывать ее на систему. Такую проблему я бы отловил еще в виртуалке, а не пялился бы широко раскрытыми моргающими глазами на внезапно незагружающуюся реальную систему. Более того, даже если бы я не использовал виртуалку, я бы тут же перезагрузился на предыдущую генерацию системы, выбрав ее в systemd-boot. Вот так вот. А все благодаря дистру и пакетному менеджеру nix. В "традиционных" стейтфул-шлаках такое тупо невозможно.
Как будто в любом другом дистре не останется выбора старого ядра после установки нового.
Загрузка может слететь не только из-за обновившегося ядра. В NixOS генерация -- это вся коллекция пакетов, а не только kernel.rpm.
На совсем непредсказуемый случай должен быть бэкап либо снапшоты. Ваш вариант с экзотическими танцами, выражаясь по-местному, не нужен.
Какие ещё танцы? Это всё прозрачно работает через меню загрузчика. Танцы с костылями это как раз бэкапить корень. Как ты его накатишь то, если у тебя система не грузится?
> Вот так вот. А все благодаря дистру и пакетному менеджеру nix. В "традиционных" стейтфул-шлаках такое тупо невозможно.я НХНП что тебе дополнительно доступно - у тебя тоже самое ядро
В NixOS пользователю доступна вся система целиком, начиная от ядра, и кончая версиями библиотек и интерпретаторов. И после обновления можно перезагрузится в старый вариант, систему без обновления.
Снапшоты btrfs тоже доступны из grub.
И как это работает? Вот например логи, они едины для всей системы, или же после загрузки со снапшота они будут писаться в отдельное место? Те же самые обновления будут скачиваться повторно? Добавляется ли в grub новый снапшот при установке обновления? Что насчёт пользовательских данных, например /var/lib? Насколько легко прыгать между снапшотами, чтобы отладить какую-то проблему?
старый друг лучше новых двух
Старый конь борозды не испортит.
> Старый конь борозды не испортит.он в неё ложится и спит
Сжатие раздела? Я думал времена dblspace.bin давно прошли... Кому-то не хватает тормозов и потерь данных?
флопик повышенной плотности йес!
Для чего нужен свап знаю, свапом пользуюсь, но вот пару дней назад для опытов его отключил и разницы в поведении системы никакой не заметил. Вопрос: так ли нужен свап в 2025 году?
Раз такой вопрос возникает - значит либо не знаете, либо неоптимально у вас комп загружен.
> неоптимально у вас комп загруженКаким образом вы предлагаете мне его "загрузить", если это обычный домашний комп, и даже после недели аптайма я редко когда видел в свопе больше 200 МБ?
Никак не предлагаю: с 1 ноября это запрещено. Наслаждайтесь незадействованной оперативой. Думать надо было, когда комп покупали.
Чего? На домашнем компе своп действительно уже не нужон - когда у тебя 32 или 64 гига рам, то ты их просто не выедаешь никакими нагрузками. А плашка такая стоит как 1 раз в бар сходить. Своп нужен бывает на серверных нагрузках.
дай денег
>когда у тебя 32 или 64 гига рам, то ты их просто не выедаешь никакими нагрузкамиДаже 1Тб можно потратить, а вы про жалкие 32 Гб пишите.
>А плашка такая стоит как 1 раз в бар сходитьЭту плашку нужно ещё куда-то воткнуть. На некоторых системах память вообще распаяна.
Если память распаяна, значит её более чем достаточно для нужд пользователя.
Да покупатель вынужден выбрать комплектацию с избытком ОЗУ.
Если это не так, то куплена хрень, не стоящая обсуждений.Да, распачнная память, это способ содрать с пользователя денег на порядки больше... Но речь не о маркетинге, а о том что не стоит покупать дохлое железо, а потом, нагрузив его непосильной нагрузкой, страдать.
Офисному железу офисные задачи, и своп там не нужен. Для ТВ приставки типа еще меньше потребности (типа, это потому что есть бегемот браузер).
А Своп это для серверов и для интенсивной _работы_, а в бытовом применении Своп, это костылизм, чего не должно быть вообще.
>Если память распаяна, значит её более чем достаточно для нужд пользователя.Как вы наивны. Есть куча железа, в которое нельзя воткнуть память, и покупают его не редко те, у кого не было денег на большее. Есть железо, где память не распаяна, но воткнуть больше 16 - нельзя.
Так очевидно, что не покупать, если хотят апгрейдить.Или железо покупается под конкретные задачи, где его хватит, и используется как есть.
Вас же не смущает, что в смартфоне ОЗУ распаяно, или в ТВ приставке.Или же покупателя вынуждают брать на старте с избытком ОЗУ, что б потом не жало. Как на маках, и компактных ноутбуках.
Ну а брать ноутбук нормального размера, без возможности расширения? Это изначально плохая идея.>>воткнуть больше 16 - нельзя.
Это или относительно простое устройство, или морально устаревшее, или для ограниченных задач, типа нетбуков и ТВ приставок. Пытаться заниматься тяжелой работой на немощном железе, это плохо.
Я сталкивался с Zram на Raspberry и старых miniPC. То и другое не для серьёзных задач. А нагрузи их посильной работой, так еще и радовать будут.
По моему вся возня со свопом в ОЗУ из за плохих SSD, или тем более контроллеров с SD картами.
А при 16 ГБ ОЗУ уже достаточно выделить 4Гб свопа для прихотей ОС, но оставить ОЗУ по максимуму.Если кто то доволен решением недостатка ОЗУ с помощью Zram, я раз за них, но себе такое не хочу.
А что, запрещённое с 1 ноября так жрало память? У меня, в данный момент, включено и вообще не жрёт.
Если вы не в курсе - то вам лучше и не знать. Меньше знаешь - крепче спишь.
Ответ: зависит от факторов.>разницы в поведении системы никакой не заметил
а что ты ожидал, если система его и не использует
То есть многие сборщики ядра обосрались? Забавно. А ведь к ним столько доверия.
Очевидно, у них всё работало. А обосрался ты, когда выяснилось, что собранное ими для себя ядро на безруких оказалось не рассчитанно.
zramswap - очень нужная вещь для дешёвых VPS, особенно у которых диск тоже маленький, где нет возможности разместить даже swapfile.
Спасибо за идею! Домашний комп у меня ужимает в lzo где-то в 2-3 раза. Интересно, сколько можно выиграть при "серверных" нагрузках?
Дешёвые VPs'ки не для серьёзных "серверных" нагрузок ведь берутся.
VPS - virtual private server, соответственно и нагрузки серверные. А серьезные или нет - какая разница? Мне просто было интересно сколько можно выиграть если включить zRAM на сервере.
Всё уже сжато до нас. Неужели ты думаешь, что тебе сдают в аренду честные N ГБ физической памяти?
> Всё уже сжато до нас. Неужели ты думаешь, что тебе сдают в
> аренду честные N ГБ физической памяти?э... да. Причем еще и как правило - без всяких оверкомитов и прочих подстав. Оно продавцу боком может выйти. Ну это если в нормальной стране за деньги, про руведеэс за сто ржублев я не в курсе, извини уж. (Но там будет все еще хуже с процессором, так что никуда ты не выберешься из помойной ямы.)
Тут пару лет назад была статья от мэйлрушечки (когда-то тут бывали такие статьи, а не "как мне выйти из bash") - она немножко про другое, но проверить что тебя наипли этим способом тоже можно.
>механизм zRAM для сжатого хранения раздела подкачки в памятизачем?
Примерно как твои соседи по этажу хранят хлам в коридорах перед входной дверью. Если есть пространство, то надо его чем-нибудь заполнить. А памяти много не бывает.
зачем
"Пригодиииится!"
Зачем хранить своп в оперативной памяти, уменьшая тем самым её доступный объём (и повышая риск использования свопа)?
Я не троллинга ради. Правда, не понятно, зачем так делать?
Столкнулся на импортозамещенном Редосе. Ранее использовал шляпу - там таких изысков не было.
уменьшает своп на диски
> Зачем хранить своп в оперативной памяти, уменьшая тем самым её доступный
> объём (и повышая риск использования свопа)?1) Затем чтобы сжать "холодные" редко используемые страницы - сэкономив занимаемое ими место в RAM
2) Если это все же окажется нужным, можно быстро расжать это прямо из RAM.
3) Это де факто увеличивает доступный объем RAM.
4) Во многих конфигах при этом имеет смысл совсем отделаться от свопа. Особенно на десктопе. Из соображений латенси и того что при OOM случается.В случае с свопом на механике система при OOM жестко тупит минутами. На SSD дико протирает SSD. Зачем оно такое надо - кто его знает?
> На SSD дико протирает SSDКак замерял?
Замерять проблемы нет, можно просто пользоваться какое-то время, а потом посмотреть в SMART общий объём записанных данных, сравнить цифру с той, что указывает производитель как предельную, и понять, что этот диск раньше потеряет актуальность, чем протрется. Современные SSD протереть можно только если специально стараться.
>>SSD дико протирает SSDЕсли SSD плохой, так он и без свопа сдохнет, может даже просто так, а не от работы.
А нормальные SDD, и в десятилетних ноутбуках не заездились ни свопом, ни гибернацией.Проблема в дешевых устройствах с SD картами, или медленными ssd, работающими на запись медленнее SD карт. Да, аппаратные проблемы и плохое железо можно прикрыть программным гарниром, и даже станет легче, но железо от этого не перестанет быть плохим.
ОС чуть раньше озаботится нехваткой памяти и, например, сбросит буферы, чтобы высвободить памяти. В случае если это не помогает, то начнет свопиться (в память), но быстро. И только если совсем дело плохо, то начнет свопиться на диск. Грубо говоря - это шадящий промежуточный режим между "памяти сколько угодно, не свопимся" и "ну все, приехали, свопим по полной программе". 1-2-4 гб из 8-16-32 вполне уместно выделить.
Объясните знатоки: в ядре по умолчанию включен zswap, а многие школоло дистры своим установщиком добавляют сверху zram, в результате
по идее получается многослойный бутерброд.Что происходит?
То что в ядре включены какие-то модули не значит, что это что-то используется, а значит, что их подгрузит если они будут нужны
Например в Ubuntu, основном десктопном дистрибутиве GNU/Linux, zram точно в modules-extra, то есть что бы его включить тебе нужно поставить пакет, нужно знать, не исключаю, что zswap там же. В дефолте ничего нет
А если ты само поставило, то ты должно понимать что делаешьДаже если мы пойдем в вики рача, маргинального дистра, то и там
В ядре linux zswap по умолчанию отключен. Для его переключения во время работы системы запишите 1 для включения или 0 для отключения в файл /sys/module/zswap/parameters/enabled. Изменения будут действовать до перезагрузки.
Так где у тебя и что включено?
В RHEL нет, в Ubuntu нет, даже в Rach и то нет!
Что за Васян_Звер_ЦД_Линукс ты нашел?
> школоло дистры своим установщиком добавляют сверху zramСдаётся мне это он про Федору.
Я задам неприличный вопрос: какие стабильные версии каких дистрибутивов используют 6.12? Никакие? Значит ничего сломано не было
Роллинги и тестинг-ветки для того и созданы, что бы проверять все ли в порядке и тестировать, вот они и выполнили свою роль
тссс... сюды щаз БигБизнес прибижыт с какой-нить CachyOS наперевес
>какие стабильные версии каких дистрибутивовFedora
Даже если мы забудем, что Fedora с самого начала(то есть с момента как появилась под именем Fedora Core на замену RH(который не EL был, а просто RH)) это альфа-версия RHEL, то мы прочитаем «The Fedora Project officially released today Fedora Linux 41 as the latest version of their Red Hat-sponsored GNU/Linux distribution for the masses featuring some of the latest and greatest software.Powered by Linux kernel 6.11, Fedora Linux 41 comes with the latest GNOME 47 desktop environment on the flagship Fedora Workstation edition»
Вышел с 6.11
Упс
> Проблема проявляется в Gentoo, Void и других...и других чудаков, которые компилить лезут, а нормально конфигурить ядро - не умеют.
Прикольно, получается что я обставил этих позорников, промониторив что алго юзаемые компонентами - тоже собраны.
Потому что весь этот нёрдовский шлак делают не специалисты и инженеры, а нёрды, которые думают, что изучив сочетания ключей gcc поймали бога за бороду) Профики этим УГ не пользуются)
zram всегда работал неадекватно, его "прогноз" ни когда не соответсвовал реальности, понять сколько сожрется памяти невозможно.
соответсвенно невозможно распределить zswap zram чтоб они не мешали друг другу.
проще отказаться в пользу нежатого tmpfs.
Да, ZRAM - это тот случай, когда, наконец-таки, можно поймать этот неуловимый 12309.
> возможность настройки алгоритмов сжатия во время работыЭто, типа, сжали гзипом, а потом поменяли настройки и разжимаем зстд?
zstd недостаточно быстрый. Вообще нужен алгоритм, оптимизированный именно под память. А если честно .... вангую аналог dedup est machina для zram. Потому что сжатие через LZ77 - это в некотором смысле как дедупликация.
def_comp = lzo-rle же..
Подскажите, пожалуйста, почему у меня zram никогда не заполняется? Включаю так:
zramctl --size 2G --algorithm zstd /dev/zram0 && mkswap /dev/zram0 && swapon -p 16383 /dev/zram0При этом образуется swap размером 2G, но он всегда пустой.
zramctl говорит, что там только 4K несжатых данных постоянно.Что не так?
Может выставлен vm.swappiness=0
> Может выставлен vm.swappiness=0Не...
## For zRAM
vm.swappiness = 180
# vm.vfs_cache_pressure = 50
vm.watermark_boost_factor = 0
vm.watermark_scale_factor = 125
# vm.dirty_background_ratio = 1
# vm.dirty_ratio = 3
vm.page-cluster = 0И без этих настроек тоже не работает.
Я zswap использую. https://www.kernel.org/doc/html/latest/admin-guide/mm/zswap....
-> https://www.kernel.org/doc/html/latest/admin-guide/mm/zswap.... Я zswap использую.
zram, zswap - всё это слишком тухлое, только мешает работе. файл подкачки в линуксе никогда толком не работал. обычный логин при активном свопировании нельзя было выполнить, т.к. время ожидания реакции на ввод было дольше допустимого для логина, из за того, что всё было в свопе и непрерывно перекачивается из оперативной памяти на ждёсткий диск туда и обратно.