Если вы вдруг оказались с компьютером, в котором RAM распаяна, или все слоты уже использованы, или просто нет возможности добавить еще одну планку памяти, то существует простое решение, имя ему zram.
Я не буду подробно описывать все прелести zram, в интернете достаточно много информации о том, что это такое и как можно использовать. Здесь же я хочу предоставить короткую инструкцию, как быстро и просто "добавить" себе оперативной памяти в популярной ОС.
Не претендую на особую новизну информации. Просто тема давно не поднималась, да ещё и ноутбук у меня имеет всего 8Гб распаянной памяти и добавить нельзя
https://habr.com/ru/post/693878/
Linux: «Бесплатная» RAM за счет процессора
Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод
inxi -Fxz
в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
-
- Сообщения: 352
- Зарегистрирован: 22 июн 2019, 22:40
- Решено: 1
- Благодарил (а): 24 раза
- Поблагодарили: 9 раз
- Контактная информация:
Linux: «Бесплатная» RAM за счет процессора
Есть такое да,но как этой технологией пользоваться,вообще не понимаю
Код: Выделить всё
swapon --show
NAME TYPE SIZE USED PRIO
/dev/zram0 partition 734,4M 0B 5
/dev/zram1 partition 734,4M 0B 5
-
- Сообщения: 250
- Зарегистрирован: 29 янв 2018, 16:14
- Решено: 2
- Откуда: Беларусь
- Благодарил (а): 30 раз
- Поблагодарили: 31 раз
- Контактная информация:
Linux: «Бесплатная» RAM за счет процессора
Мне эта "бесплатная RAM" очень напомнила технологию DriveSpace на заре цивилизации . Тоже тогда было заявлено, что при наличии быстрого проца , вы не заметите сжатие и распаковку данных с тома drvspase , к тому же при установке драйвера пустой том чудесным образом расширялся чуть ли не в десять раз . Практика показала бесполезность этой технологии , разве что только для тогдашних баз данных.
-
- Сообщения: 4859
- Зарегистрирован: 21 июн 2017, 18:09
- Решено: 111
- Благодарил (а): 53 раза
- Поблагодарили: 2177 раз
- Контактная информация:
Linux: «Бесплатная» RAM за счет процессора
После: "1. Отключаем swap" - становится ясно, что автор статьи курил что-то не то...
Ибо хороший способ ловить OOM т.к. даже сжатая память не бесконечная. Правильный подход - тюниг приоритета использования. Правда там думать надо. 
zswap, кстати, отключать действительно стоит, чтобы двойную работу система не пыталась делать.
И еще у него: "В своей версии конфига я установил иной алгоритм сжатия (zstd), если процессор будет плохо справляться - можно попробовать менее требовательный lz4." - lz4 МЕДЛЕННЕЕ zstd. Более быстрый - lzo, но выигрыш по сравнению с zstd - очень невелик. Это было раньше: lz4 медленно но жмем сильно, lzo - быстро но слабо. Сейчас zstd почти догоняет lzo, при сжатии практически как у lz4 (там правда тип сжимаемых данных влияет - что-то лучше что-то хуже, если сравнивать).
Кроме того, надо иметь в виду, что zram - это эмуляция блочного устройства в памяти. Т.е. объем отданный ей, будет недоступен процессу напрямую, т.к. это УЖЕ swap. Просто в памяти. Т.е. если у вас один процесс активно жрет больше памяти чем доступно остатка без zram - процесс свопинга начнет жрать производительность катастрофически. То что предложил автор статьи (отдать 99% под zram) - это хороший способ просадить реальную производительность этак процентов на 80 - тут в общем-то от cpu зависит, и от частоты памяти, но просадка будет. В идеале, под zram можно выделять столько памяти сколько у вас обычно остается свободно при обычных задачах. Т.е. допустим есть 16Gb в машине. И система + броузер + еще что-то - и ими обычно занято 8-10Gb из 16-ти. Вот 8GB здесь можно отдать не рискуя серьезной просадкой, и получив выигрыш.
А то, что учинил автор статьи - это весьма заковыристый способ выстрелить себе в колено.
А, да. Еще zram в свое время заработал весьма мрачную репутацию - вызывал разрушения FS, хотя вроде как победили. И крайне не рекомендуется даже пытаться использовать сон и гибернацию на машине с ним.


zswap, кстати, отключать действительно стоит, чтобы двойную работу система не пыталась делать.
И еще у него: "В своей версии конфига я установил иной алгоритм сжатия (zstd), если процессор будет плохо справляться - можно попробовать менее требовательный lz4." - lz4 МЕДЛЕННЕЕ zstd. Более быстрый - lzo, но выигрыш по сравнению с zstd - очень невелик. Это было раньше: lz4 медленно но жмем сильно, lzo - быстро но слабо. Сейчас zstd почти догоняет lzo, при сжатии практически как у lz4 (там правда тип сжимаемых данных влияет - что-то лучше что-то хуже, если сравнивать).
Кроме того, надо иметь в виду, что zram - это эмуляция блочного устройства в памяти. Т.е. объем отданный ей, будет недоступен процессу напрямую, т.к. это УЖЕ swap. Просто в памяти. Т.е. если у вас один процесс активно жрет больше памяти чем доступно остатка без zram - процесс свопинга начнет жрать производительность катастрофически. То что предложил автор статьи (отдать 99% под zram) - это хороший способ просадить реальную производительность этак процентов на 80 - тут в общем-то от cpu зависит, и от частоты памяти, но просадка будет. В идеале, под zram можно выделять столько памяти сколько у вас обычно остается свободно при обычных задачах. Т.е. допустим есть 16Gb в машине. И система + броузер + еще что-то - и ими обычно занято 8-10Gb из 16-ти. Вот 8GB здесь можно отдать не рискуя серьезной просадкой, и получив выигрыш.
А то, что учинил автор статьи - это весьма заковыристый способ выстрелить себе в колено.

А, да. Еще zram в свое время заработал весьма мрачную репутацию - вызывал разрушения FS, хотя вроде как победили. И крайне не рекомендуется даже пытаться использовать сон и гибернацию на машине с ним.
-
- Сообщения: 4859
- Зарегистрирован: 21 июн 2017, 18:09
- Решено: 111
- Благодарил (а): 53 раза
- Поблагодарили: 2177 раз
- Контактная информация:
Linux: «Бесплатная» RAM за счет процессора
Кстати, из этой "бесполезной" технологии выросли возможности сжатия на лету у NTFS, BTRFS, ZFS, и т.д.volp писал(а): ↑19 окт 2022, 22:56очень напомнила технологию DriveSpace на заре цивилизации . Тоже тогда было заявлено, что при наличии быстрого проца , вы не заметите сжатие и распаковку данных с тома drvspase , к тому же при установке драйвера пустой том чудесным образом расширялся чуть ли не в десять раз . Практика показала бесполезность этой технологии , разве что только для тогдашних баз данных.

Разумеется, это не панацея, и не "в 10 раз", но есть очень много случаев где оно весьма полезно. Всякие текстовые библиотеки, архивы сайтов, низко нагруженные базы данных, место под бекапы, и т.д. и т.п, особенно на HDD. В последнем случае, на современном железе еще и прирост скорости получается иногда. Т.к. сжатое будет писаться/читаться меньше времени даже с упаковкой/распаковкой, чем просто оригинальный объем данных на диск слитый. Операции random access правда страдают, да, потому еще корневой раздел сжимать - далеко неоднозначное решение. Но на линуксе оно несколько компенсируется агрессивным кешированием (если памяти достаточно).
-
- Сообщения: 10067
- Зарегистрирован: 27 авг 2016, 22:57
- Решено: 216
- Откуда: НН
- Благодарил (а): 845 раз
- Поблагодарили: 3042 раза
- Контактная информация:
Linux: «Бесплатная» RAM за счет процессора
zram сейчас проще активировать путем установки пакета
после ребута заведет
ну и юнит есть
systemd-zram-generator
из основных репозиториевпосле ребута заведет
/dev/zram0
в половину от объема оперативкину и юнит есть
systemctl status systemd-zram-setup@zram0
-
- Сообщения: 4859
- Зарегистрирован: 21 июн 2017, 18:09
- Решено: 111
- Благодарил (а): 53 раза
- Поблагодарили: 2177 раз
- Контактная информация:
Linux: «Бесплатная» RAM за счет процессора
НУЖНО. Точнее - если он (или swap-файл) есть - то второй/новый не нужен. Но отключать swap на нормальном диске - глупость, в 95% случаев.
-
- Сообщения: 352
- Зарегистрирован: 22 июн 2019, 22:40
- Решено: 1
- Благодарил (а): 24 раза
- Поблагодарили: 9 раз
- Контактная информация:
Linux: «Бесплатная» RAM за счет процессора
То есть если я правильно понял создаётся один обычный swap-раздел,он включается но работать будет по технологии zram если конечно она у нас есть , те установлена в системе или используется по умолчанию верно?
-
- Сообщения: 4859
- Зарегистрирован: 21 июн 2017, 18:09
- Решено: 111
- Благодарил (а): 53 раза
- Поблагодарили: 2177 раз
- Контактная информация:
Linux: «Бесплатная» RAM за счет процессора
Нет. Не так.
1. swap-ов может быть несколько штук. С разным приоритетом, либо с одинаковым. Чтобы использовались в той последовательности как мы хотим, или все одновременно. Это, кстати, очень полезно и без zram может быть.
2. zram - это swap раздел в памяти. (Чаще всего. Это основной, но все же частный случай - может быть и другое применение - как полноценный виртуальный диск, скажем.)
3. Приоритетами swap-ов организуется каскад: сначала данные попадают в на swap в zram. Когда его перестает хватать - начинает использоваться swap на диске. Причем в простейшем случае - данные туда не вытесняются из zram а пишется то, что не влезло. Потому отключение zswap здесь еще не особо нужно - это просто два swap одновременно, с приоритетом на тот что в zram. Такая конфигурация настраивается одним чихом - особенно через zram-generator (это его конфиг по умолчанию).
4. Если подумать и порыться в настройках, каскад можно сделать полноценным: память -> zram -> swap. Вот здесь уже zswap не нужен - тут в swap пойдут уже сжатые данные.
Кто сейчас на конференции
Сейчас этот форум просматривают: Google [Bot] и 13 гостей