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 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
Аватара пользователя

Автор темы
hellonet
Сообщения: 3342
Зарегистрирован: 11 окт 2016, 12:58
Решено: 17
Откуда: Новосибирск
Благодарил (а): 1216 раз
Поблагодарили: 522 раза
Контактная информация:

Linux: «Бесплатная» RAM за счет процессора

#1

19 окт 2022, 18:03

Если вы вдруг оказались с компьютером, в котором RAM распаяна, или все слоты уже использованы, или просто нет возможности добавить еще одну планку памяти, то существует простое решение, имя ему zram.
Я не буду подробно описывать все прелести zram, в интернете достаточно много информации о том, что это такое и как можно использовать. Здесь же я хочу предоставить короткую инструкцию, как быстро и просто "добавить" себе оперативной памяти в популярной ОС.
Не претендую на особую новизну информации. Просто тема давно не поднималась, да ещё и ноутбук у меня имеет всего 8Гб распаянной памяти и добавить нельзя
https://habr.com/ru/post/693878/

Аватара пользователя

Damian
Сообщения: 352
Зарегистрирован: 22 июн 2019, 22:40
Решено: 1
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Linux: «Бесплатная» RAM за счет процессора

#2

19 окт 2022, 18:53

Есть такое да,но как этой технологией пользоваться,вообще не понимаю

Код: Выделить всё

swapon --show
NAME       TYPE        SIZE USED PRIO
/dev/zram0 partition 734,4M   0B    5
/dev/zram1 partition 734,4M   0B    5

Аватара пользователя

Автор темы
hellonet
Сообщения: 3342
Зарегистрирован: 11 окт 2016, 12:58
Решено: 17
Откуда: Новосибирск
Благодарил (а): 1216 раз
Поблагодарили: 522 раза
Контактная информация:

Linux: «Бесплатная» RAM за счет процессора

#3

19 окт 2022, 22:09

Damian писал(а):
19 окт 2022, 18:53
Есть такое да,но как этой технологией пользоваться,вообще не понимаю
Пока тоже, но на досуге хочу попробовать на своём ноуте

Аватара пользователя

ilikethat
Сообщения: 639
Зарегистрирован: 14 дек 2019, 01:46
Решено: 10
Благодарил (а): 128 раз
Поблагодарили: 147 раз
Контактная информация:

Linux: «Бесплатная» RAM за счет процессора

#4

19 окт 2022, 22:15

hellonet, это то сейчас в смартфонах на Андроид предлагают?

Аватара пользователя

volp
Сообщения: 250
Зарегистрирован: 29 янв 2018, 16:14
Решено: 2
Откуда: Беларусь
Благодарил (а): 30 раз
Поблагодарили: 31 раз
Контактная информация:

Linux: «Бесплатная» RAM за счет процессора

#5

19 окт 2022, 22:56

Мне эта "бесплатная RAM" очень напомнила технологию DriveSpace на заре цивилизации . Тоже тогда было заявлено, что при наличии быстрого проца , вы не заметите сжатие и распаковку данных с тома drvspase , к тому же при установке драйвера пустой том чудесным образом расширялся чуть ли не в десять раз . Практика показала бесполезность этой технологии , разве что только для тогдашних баз данных.

Аватара пользователя

slant
Сообщения: 4859
Зарегистрирован: 21 июн 2017, 18:09
Решено: 111
Благодарил (а): 53 раза
Поблагодарили: 2177 раз
Контактная информация:

Linux: «Бесплатная» RAM за счет процессора

#6

20 окт 2022, 02:26

После: "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, хотя вроде как победили. И крайне не рекомендуется даже пытаться использовать сон и гибернацию на машине с ним.

Аватара пользователя

slant
Сообщения: 4859
Зарегистрирован: 21 июн 2017, 18:09
Решено: 111
Благодарил (а): 53 раза
Поблагодарили: 2177 раз
Контактная информация:

Linux: «Бесплатная» RAM за счет процессора

#7

20 окт 2022, 14:38

volp писал(а):
19 окт 2022, 22:56
очень напомнила технологию DriveSpace на заре цивилизации . Тоже тогда было заявлено, что при наличии быстрого проца , вы не заметите сжатие и распаковку данных с тома drvspase , к тому же при установке драйвера пустой том чудесным образом расширялся чуть ли не в десять раз . Практика показала бесполезность этой технологии , разве что только для тогдашних баз данных.
Кстати, из этой "бесполезной" технологии выросли возможности сжатия на лету у NTFS, BTRFS, ZFS, и т.д. :)
Разумеется, это не панацея, и не "в 10 раз", но есть очень много случаев где оно весьма полезно. Всякие текстовые библиотеки, архивы сайтов, низко нагруженные базы данных, место под бекапы, и т.д. и т.п, особенно на HDD. В последнем случае, на современном железе еще и прирост скорости получается иногда. Т.к. сжатое будет писаться/читаться меньше времени даже с упаковкой/распаковкой, чем просто оригинальный объем данных на диск слитый. Операции random access правда страдают, да, потому еще корневой раздел сжимать - далеко неоднозначное решение. Но на линуксе оно несколько компенсируется агрессивным кешированием (если памяти достаточно).

Аватара пользователя

Chocobo
Сообщения: 10067
Зарегистрирован: 27 авг 2016, 22:57
Решено: 216
Откуда: НН
Благодарил (а): 845 раз
Поблагодарили: 3042 раза
Контактная информация:

Linux: «Бесплатная» RAM за счет процессора

#8

20 окт 2022, 15:29

zram сейчас проще активировать путем установки пакета systemd-zram-generator из основных репозиториев
после ребута заведет /dev/zram0 в половину от объема оперативки
ну и юнит есть systemctl status systemd-zram-setup@zram0
Изображение
   
Изображение

Аватара пользователя

Damian
Сообщения: 352
Зарегистрирован: 22 июн 2019, 22:40
Решено: 1
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Linux: «Бесплатная» RAM за счет процессора

#9

20 окт 2022, 16:08

Не совсем понятно,получается раздел swap не нужно создавать.

Аватара пользователя

slant
Сообщения: 4859
Зарегистрирован: 21 июн 2017, 18:09
Решено: 111
Благодарил (а): 53 раза
Поблагодарили: 2177 раз
Контактная информация:

Linux: «Бесплатная» RAM за счет процессора

#10

20 окт 2022, 17:20

Damian писал(а):
20 окт 2022, 16:08
Не совсем понятно,получается раздел swap не нужно создавать.
НУЖНО. Точнее - если он (или swap-файл) есть - то второй/новый не нужен. Но отключать swap на нормальном диске - глупость, в 95% случаев.

Аватара пользователя

Damian
Сообщения: 352
Зарегистрирован: 22 июн 2019, 22:40
Решено: 1
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Linux: «Бесплатная» RAM за счет процессора

#11

20 окт 2022, 20:05

То есть если я правильно понял создаётся один обычный swap-раздел,он включается но работать будет по технологии zram если конечно она у нас есть , те установлена в системе или используется по умолчанию верно?

Аватара пользователя

slant
Сообщения: 4859
Зарегистрирован: 21 июн 2017, 18:09
Решено: 111
Благодарил (а): 53 раза
Поблагодарили: 2177 раз
Контактная информация:

Linux: «Бесплатная» RAM за счет процессора

#12

20 окт 2022, 21:26

Damian писал(а):
20 окт 2022, 20:05
То есть если я правильно понял создаётся один обычный swap-раздел,он включается но работать будет по технологии zram
Нет. Не так.
1. swap-ов может быть несколько штук. С разным приоритетом, либо с одинаковым. Чтобы использовались в той последовательности как мы хотим, или все одновременно. Это, кстати, очень полезно и без zram может быть.
2. zram - это swap раздел в памяти. (Чаще всего. Это основной, но все же частный случай - может быть и другое применение - как полноценный виртуальный диск, скажем.)
3. Приоритетами swap-ов организуется каскад: сначала данные попадают в на swap в zram. Когда его перестает хватать - начинает использоваться swap на диске. Причем в простейшем случае - данные туда не вытесняются из zram а пишется то, что не влезло. Потому отключение zswap здесь еще не особо нужно - это просто два swap одновременно, с приоритетом на тот что в zram. Такая конфигурация настраивается одним чихом - особенно через zram-generator (это его конфиг по умолчанию).
4. Если подумать и порыться в настройках, каскад можно сделать полноценным: память -> zram -> swap. Вот здесь уже zswap не нужен - тут в swap пойдут уже сжатые данные.

Ответить

Вернуться в «Параметры и оптимизация»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя