LINUX.ORG.RU

Одновременное использование zram и zswap

 , ,


2

3

Всем привет! Сейчас читаю об этих двух технологиях. Понял чем они различают, как работают. Но у меня вопрос: можно ли использовать их одновременно? Эта статья говорит что можно, но у меня есть сомнения. Кто-нибудь пробовал? Сейчас у меня 8 Гб RAM и 2 гига свопа. Но я запускаю много виртуалок, потому память быстро кончается.

★★★★★

Последнее исправление: Sunderland93 (всего исправлений: 1)

Ответ на: комментарий от Sunderland93

Ну если ты реально хочешь экономии в памяти, то лучше уж пропатчить и пересобрать. А заодно и zram/zswap подключишь.

sudopacman ★★★★★
()
Ответ на: комментарий от sudopacman

Ну если ты реально хочешь экономии в памяти, то лучше уж пропатчить и пересобрать. А заодно и zram/zswap подключишь.

Ну допустим, но суть моего вопроса в одновременном использовании zram и zswap. Плюс если я добавлю поддержку UKSM, нормально ли всё это уживётся?

Sunderland93 ★★★★★
() автор топика

zswap — это дополнительные тормоза, особенно на слабых процессорах. zram спасает, но не сильно — рассчитывается место всё равно без сжатия, а в случае с виртуалками профит будет околонулевой — виртуальные харды плохо жмутся, а так как они жирные, то ещё и долго.

r3lgar ★★★★★
()
Последнее исправление: r3lgar (всего исправлений: 1)

Можно, но это полнейший бред, и каковы получатся характеристики такой комбинации — никому не известно. Почитай, как работает zswap и frontswap в целом: вместо того, чтобы ядру класть страницу в своп, она с определённой вероятностью будет сжата и запихнута в память. Но у тебя своп и так представляет собой сжатый диск в памяти (ты же хочешь swap-on-zram, да?)!

Т. е. zram+zswap в лучшем случае эквивалентен просто zram, а в худшем случае mm сойдёт с ума и система встанет колом за переписыванием одних и тех же страничек по кругу.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 4)
Ответ на: комментарий от Sunderland93

Как он работает, я не знаю даже в общих чертах. Так что ничего определённого сказать не могу. Но, наверное, мешать не должен...

intelfx ★★★★★
()
Ответ на: комментарий от r3lgar

для сборки webkit-gtk требуется 20ГБ tmp, есть только 16ГБ, подлючил zram, прописал, что tmp 20ГБ, всё собралось. так, что спасает zram со сжатием.

Deleted
()
Ответ на: комментарий от Sunderland93

А что насчёт UKSM?

объединяет одинаковые страницы памяти, в отличии от KSM из ядра не требует настройки (говорят), в теории дает большой выигрыш при нескольких одновременно запущенных виртуалках
на обычном десктопе можно сэкономить пару сотен метров, что с ~4-8Га рама не критично
юзал zram+uksm около года - полет нормальный, сейчас только zram для свопа

в кратце

anTaRes ★★★★
()
Ответ на: комментарий от anTaRes

Спасибо. А KSM даёт выйгрыш на десктопе с виртуалками? Или нет смысла связываться? Просто хочу сначала родное испытать, прежде чем патчить.

Sunderland93 ★★★★★
() автор топика
Ответ на: комментарий от Sunderland93

KSM я не пробовал и не особо разбирался, там вроде поддержка в самом приложении должна быть чтоб оно работало, т.е. приложение рулит своей памятью или тип того
https://www.google.com.ua/search?q=uksm vs ksm&

anTaRes ★★★★
()

zram не добавляет оперативки, а отъедает. Ты выделяешь кусок оперы для постоянного своп диска. Соответственно для виртуалок памяти становится меньше. Просто данные в своп быстрее уходят.

zswap в свою очередь может отдать обратно всё что взял (записав сжатые данные в swap-раздел на диске. Соответственно объем оперативки у тебя не уменьшается.

Еще был zcache который представлял из себя zswap+сжатие дискового кеша в оперативке. Ну и еще пару проектов было.

uksm позволит тебе выиграть 10% оперативки (может и больше) вообще ничего не делая.

chaos_dremel ★★
()
Ответ на: комментарий от chaos_dremel

zram не добавляет оперативки, а отъедает. Ты выделяешь кусок оперы для постоянного своп диска.

Но данных-то помещается больше в памяти.

zswap в свою очередь может отдать обратно всё что взял (записав сжатые данные в swap-раздел на диске. Соответственно объем оперативки у тебя не уменьшается.

То есть если у меня уже есть swap-раздел, то мне лучше использовать zswap?

Sunderland93 ★★★★★
() автор топика
Ответ на: комментарий от Sunderland93

Но данных-то помещается больше в памяти.

Ты получаешь блочное устройство в области памяти со сжатием (остальная память не сжимается). Можно использовать как свап (или тмпфс). Просто свап будет быстрый.

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 1)
Ответ на: комментарий от Sunderland93

Если в виртуалках одинаковые системы, и виртуалка поддерживает ksm.

anonymous
()

Поставил пока ZRAM. Получилось вот так:

Filename                                Type            Size    Used    Priority
/dev/sdc4                               partition       3071996 0       -1
/dev/zram0                              partition       1004960 0       10
/dev/zram1                              partition       1004960 0       10
/dev/zram2                              partition       1004960 0       10
/dev/zram3                              partition       1004960 0       10
Имеет смысл отключать реальный своп? Или пусть будет?

Sunderland93 ★★★★★
() автор топика

Так, кажется я понял фишку: ZRAM лучше использовать там, где мало ОЗУ и крайне медленный жёсткий диск (как например у меня на ноуте), либо стоит SSD; ZSWAP лучше (в моём случае) будет юзать на десктопе, так как я юзаю виртуалки и урезание памяти под виртуальные свопы нежелательно, а достаточно держать в памяти сжатый кэш. Поправьте если я что-то упустил.

Sunderland93 ★★★★★
() автор топика
Ответ на: комментарий от Sunderland93

Да, именно так. Но на SSD можно юзать ZSWAP+SWAP. Он просто будет крайне редко при больших нагрузках что-то писать в своп раздел на диске. Впрочем современным SSD даже обычный своп не страшен.

chaos_dremel ★★
()
Ответ на: комментарий от Sunderland93

Проблема реального свопа при zram в том, что когда память в zram заканчивается, старые данные там так и остаются а новые пишутся на жесткий диск и обратно в zram не перемещаются. В результате если zram не очень большой, со временем всё равно часть данных уходит в дисковый своп.

chaos_dremel ★★
()
Ответ на: комментарий от Deleted

А теперь включи мозг, и подумай, откуда система берёт потенциальный резерв в виде четырёх гигабайт, умник. Да, ты обманешь того, кто собирает вебкит, да, zram уместит его трэш в 16 ГБ, но в случае потенциальной нехватки памяти в zram откуда она возьмётся? Кстати, рассчёт необходимого пространства для сборки берётся с запасом и округлением, и это ты тоже не учёл.

r3lgar ★★★★★
()
11 октября 2017 г.

Там в zram добавили backing store на диск, так что между ними теперь разницы нет. Так что ты дважды наркоман.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.