Обновилась с fedora 32 до fedora 33. Ранее мной был создан традиционный раздел подкачки. Но в новой федоре по дефолту создается блочное устройство с компрессией, а значит старый своп на жестком диске можно отключать.
Shell
zramctl | column -t
NAME ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT
/dev/zram0 lzo-rle 3,3G 4K 74B 12K 4 [SWAP]
Умный алгоритм сжатия в среднем 3:1, но сильно зависит от процента оставшейся свободной оперативки.
Т.е. теперь вместо того чтобы просто сбросить данные в своп, система должна помучить процессор жутко умным алгоритмом сжатия. Какая красота! (на самом деле нет).
Имеет смысл только в случае явного ограничения количества доступной памяти. В других случаях уродливый костыль. Это ИМХО, разумеется.
Т.е. теперь вместо того чтобы просто сбросить данные в своп, система должна помучить процессор жутко умным алгоритмом сжатия.
У меня такая картина маслом: При нехватке оперативной памяти часть данных сжимается и переносится в другое место оперативной памяти. Поскольку у меня на ноуте процессор большую часть времени "болтает ногами в воде", а я поменяла плашку 4Г на 8Г то это решение для моего случая на пользу. Только я честно не могу пока понять как комп без сохранения на жесткий диск должен входить в гибернацию?
Добавлено (15:47):
Наверное zram имеет мэпинг на жесткий диск, на то он и Zram
Только я честно не могу пока понять как комп без сохранения на жесткий диск должен входить в гибернацию?
Ни как, либо раздел жесткого диска, либо файл на жестком диске. Не обязательно он должен подключен как swap раздел но должен быть отформатирован в swap.
Ну тут с приоритетами все норм zram использует более высокий приоритет, по этому используется первым во время переполнения определенного порога памяти. А вот гибернация по любому идет на раздел жесткого диска.
У меня картина на ноуте:
zram в fedore 33 по умолчанию создается. Я ее не устанавливала, а получила через апгрейд системы. Отключить не трудно, в федоре даже не надо пересобирать образ ядра, но как заметил @Bizdelnick, есть не просит. Я почему и поменяла плашку на 8Г @Жучара заразил своими лабораторными работами и я установила gns3 с двумя серверами - один на целевом хосте и второй на виртуалке для разделения виртуальных машин и маршрутизаторов. А если еще открыть браузер хотябы с 10 вкладками то и 8 скрипят
Последний раз редактировалось olecya 08.11.2020 17:11, всего редактировалось 1 раз.
Вот сейчас еще возникла задача установить на виртуальную машину через докер форум на движке discourse. Меня пригласили модерировать такой форум и хотелось бы его помучать для начала в тепличных условиях. Только для работы сайта нужно не менее 1Г оперативки и 2Г свопа на виртуалке, а там еще апач и постгрес
Вы говорите о компрессии как о чём-то плохом, а вы Вики-то читали?
Цитирую:
Until the introduction of CONFIG_ZRAM_WRITEBACK in kernel version 4.14, unlike zswap, zram could not use a hard disk as a backing store, so it cannot move less-frequently used pages to disk. However, zswap requires a backing store, but zram does not.
Добавлено (21:36):
Дальше:
Also, using zram results in a significantly reduced I/O for Linux systems that require swapping.
Цитирую:
Until the introduction of CONFIG_ZRAM_WRITEBACK in kernel version 4.14, unlike zswap, zram could not use a hard disk as a backing store, so it cannot move less-frequently used pages to disk. However, zswap requires a backing store, but zram does not.
Добавлено (21:36):
Дальше:
Also, using zram results in a significantly reduced I/O for Linux systems that require swapping.
SerW, "мне бы в небо, тут я был, а там я не был" — в смысле перевод на мой родной русский, ибо маш-перевод не даёт ясную картину, а если бы ещё и пояснить подробнее, то вАще верх счастия.
Прикупил SSD и решаю как сделать swap — разделом или файлом (для линукса, с виндой всё и так решено)
Можно и файл[-/-ы], и раздел[-/-ы], и модули памяти: zram , vram использовать.
Таким образом, получаем схему сверх сжатия памяти...
Я у себя на Debian реализовал...
Схемой с сообществом поделился: в теме нужен ли swap .
Вывод: сжатие памяти актуально всегда..! Даже если памяти много..!
Вывод: сжатие памяти актуально всегда..! Даже если памяти много..!
1. Что вам это дает?
2. Сжатие не бесплатная процедура, это нагрузка на процессор. Оправдана ли она? Особенно на ноутбуках.
Нагородить много чего можно, только желательно придерживаться здравого смысла.
"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
Вывод: сжатие памяти актуально всегда..! Даже если памяти много..!
1. Что вам это дает?
2. Сжатие не бесплатная процедура, это нагрузка на процессор. Оправдана ли она? Особенно на ноутбуках.
Нагородить много чего можно, только желательно придерживаться здравого смысла.
1. Я на ноутбучном хосте могу запустить два браузера + ВМ , а в ВМ ещё 3-и браузера с кучей вкладок + прикладнуха как на хосте, так и в ВМ. Я использую "двойное дно" , то есть схема по сжатию памяти: на хосте и в ВМ.
2. Вот на ноутах как раз схема сжатия памяти оправдана. У меня на ноутбуке планка 4 гига всего.
Можно конечно ещё планку оперативы поставить. но я пошёл другим путём.
Прям так много проц нагружает. Не научные расёты всё-таки.
Сжатие не бесплатная процедура, это нагрузка на процессор. Оправдана ли она? Особенно на ноутбуках.
Нагородить много чего можно, только желательно придерживаться здравого смысла.
Во первых zram не особо нагружает процессор, во вторых можно всю память в zram отвести под сжатие, но только вот сжимать оно начнёт, только тогда, когда определенный процент памяти будет заполнен( указывается в swappiness). Т.е. либо использовать своп на диске, либо использовать своп со зжатием в zram. В любом случае использование zram меньше нагружает систему, чем использование свопа на диске.
Прям так много проц нагружает. Не научные расёты всё-таки.
Я не знаю как это работает на пк конечно, но,к примеру, в Apple для сжатия памяти, выделяется большое ядро, т.е самое производительное, т.к изначально компания пошла по пути не кол-ва оперативки, а как-раз сжатия. В Андроид же наоборот, делали ставку на объем, а не сжатия,хотя новые процессоры qualcomm тоже теперь имеют похожую систему, когда есть супер мощное ядро. Т.е видимо операция не совсем легкая. Но архитектуры конечно разные, и инструкции у процессоров тоже и может не совсем корректное сравнение.
Во первых zram не особо нагружает процессор, во вторых можно всю память в zram отвести под сжатие, но только вот сжимать оно начнёт, только тогда, когда определенный процент памяти будет заполнен( указывается в swappiness).
Как это замерялось? Есть какая-то информация? Не получится ли что вы, условно, собираете софт, и в этот же момент процессор начнет сжимать оперативную память, что даст доп. нагрузку и заметное замедление?
"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
Прям так много проц нагружает. Не научные расёты всё-таки.
Я не знаю как это работает на пк конечно, но,к примеру, в Apple для сжатия памяти, выделяется большое ядро, т.е самое производительное, т.к изначально компания пошла по пути не кол-ва оперативки, а как-раз сжатия. В Андроид же наоборот, делали ставку на объем, а не сжатия,хотя новые процессоры qualcomm тоже теперь имеют похожую систему, когда есть супер мощное ядро. Т.е видимо операция не совсем легкая. Но архитектуры конечно разные, и инструкции у процессоров тоже и может не совсем корректное сравнение.
Во первых zram не особо нагружает процессор, во вторых можно всю память в zram отвести под сжатие, но только вот сжимать оно начнёт, только тогда, когда определенный процент памяти будет заполнен( указывается в swappiness).
Как это замерялось? Есть какая-то информация? Не получится ли что вы, условно, собираете софт, и в этот же момент процессор начнет сжимать оперативную память, что даст доп. нагрузку и заметное замедление?
По правильному пути Apple пошла: упор на сжатие!
=> Нужно понять в чём выигрыш [нужны графики: до / после // было / стало]. Тогда можно говорить о чём-то, а не играть в "угадайку"!(
=> Нужно понять в чём выигрыш [нужны графики: до / после // было / стало].
Именно: нужно сначала понять, в чём выигрыш, а в чём проигрыш, и только после этого решать, кто пошёл по правильному пути. Вопрос весьма неоднозначный.
=> Нужно понять в чём выигрыш [нужны графики: до / после // было / стало].
Именно: нужно сначала понять, в чём выигрыш, а в чём проигрыш, и только после этого решать, кто пошёл по правильному пути. Вопрос весьма неоднозначный.
Довольно легко, проверял на памяти 512 Мб, просто смотрел как изменяется поведение процессора при открытии нескольких приложений, которые кроме памяти процессор не особо загружают. Это просмотреть можно в обычном gkrellm, как изменяется поведение процессора когда начинает лезть в своп, при этом система уже так не тормозит, так как своп в zram а не на диске.
Не получится ли что вы, условно, собираете софт, и в этот же момент процессор начнет сжимать оперативную память, что даст доп. нагрузку и заметное замедление?
Собирал и конечно происходило такое в момент компиляции, но это все равно лучше и быстрее, чем своп на диске а не на zram. Своп на диске по большей мере нужен для гибернации и когда уже и zram становится мало. Как я уже сказал, память работает в обычном режиме, пока не заполняется на определённый процент и только тогда уже начинает работать swap в zram.
Можно вообще без swap файлов / разделов "жить", а только на zram / zswap модулях.
Можно только на памяти без сжатия.
Я у себя так делал, но позднее отказался от этой идеи, так как "страховки" нет для стабильности работы ОС.
А вообще, для сжатия памяти в своей схеме я использовал ещё и tmpfs .