Сценарии использования рабочего стола Zswap, Zram, Zcache

Я пытался понять разницу в вариантах использования для Zswap, Zram и Zcache. Извиняюсь заранее за длинный / слегка sloppily сформулированный вопрос. Я сделал кучу googling, и я понимаю, что zram в основном является блочным устройством для сжатого обмена, а zswap сжимает в ядре с помощью frontswap api. Похоже, что одним из преимуществ zswap является то, что он может перемещать некоторые страницы на подкачку под давлением под давлением в режиме LRU, в то время как zram не может этого сделать (пожалуйста, подтвердите, не уверен, что это правда).

Итак, вот мой вопрос: 1.) Как пользователь настольного компьютера, какова разница в производительности между zcache / zswap / zram, особенно zswap и zram? Например, намного лучше / хуже в фрагментации памяти (что приводит к чрезмерному использованию памяти и отходам)?

Бонусный вопрос: 2.) Существует ли идеальная комбинация из вышеперечисленного (скажем, zram + zswap или zram + zcache) для производительности рабочего стола (включая отзывчивость рабочего стола, а также минимально разрушительное поведение подкачки и разумное управление памятью)?

* Приветствуется цитирование источников.

Добавлю, что я довольно опытный пользователь Linux (5 лет), и попытался понять, как работает моя система, включая ядро. Тем не менее, я не программист и имею только базовые знания в программировании (3 курса колледжа). Но будь техничным, если вам нужно; Я проанализирую ваш смысл в свое время.

Системные спецификации:

Linux Mint 15 Processor:Core 2 Quad 6600 (2.4ghz) Ram: 8G linux kernel: liquorix 3.11 series Storage: 128 GB SSD, 1TB HDD 5400rpm 

Нет комментариев «купите больше ram», пожалуйста! Я максимировал баран на этой материнской плате и в обозримом будущем должен иметь бюджет на обновление в размере 0 долларов. Тем не менее, мне нравится сохранять программы с интенсивным использованием памяти (несколько браузеров являются основными потребителями моего бара), поэтому я не против обмена в разумных пределах снижения производительности.

One Solution collect form web for “Сценарии использования рабочего стола Zswap, Zram, Zcache”

Лучший способ попытаться ответить на эти вопросы – сказать, что эти три на самом деле.

zRAM

zRAM – это не что иное, как своп-устройство. Управление памятью выталкивает страницы в устройство подкачки, а zRAM сжимает эти данные, выделяя память по мере необходимости.

Zswap

Zswap – это сжатое пространство подкачки, которое внутренне выделяется ядром и не отображается в качестве устройства подкачки. Он используется frontswap таким же образом, как может использоваться устройство подкачки, но более эффективным образом.

Zcache

Zcache – это интерфейс для frontswap и cleancache.

Zcache заменяет zRAM, поэтому вы не хотите, чтобы оба они боролись за ресурсы, хотя есть некоторые разговоры о том, как эти два могут хорошо работать вместе, учитывая правильные обстоятельства. На данный момент я не стал бы пытаться и оставить его экспертам, чтобы понять это.

Некоторые чтения:
Cleancache vs zram?
https://lwn.net/Articles/454795/
https://www.kernel.org/doc/Documentation/vm/zswap.txt
http://www.zeropoint.com/Support/ZCache/ZCachePro/ZCacheAdvantages.html

Лично я просто отключил zRAM и включил Zcache во всех моих системах, у которых есть достаточно новое ядро ​​(zRAM по-прежнему включен на устройствах Android).

Что касается производительности: это то, что вам нужно было бы изучить в себе. Все разные. Теоретически, однако, Zcache должен обладать гораздо большей эффективностью памяти, чем zRAM, и он работает на двух уровнях (frontswap и cleancache), и при необходимости он может перейти на устройство подкачки (например, на жесткий диск). Вы также можете выбрать, какой алгоритм сжатия использовать, если он использует слишком много CPU (чего я не могу себе представить).

Обновление : Zcache был удален из ядра 3.11 (пока), поэтому zRAM снова становится единственным вариантом в новых ядрах. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1256503/comments/3 http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git / фиксации /? ID = 96256460487387d28b8398033928e06eb9e428f7

  • Как добавить 100 МБ пространства подкачки в качестве логического тома в CentOS?
  • Как работает mkswap? Что в заголовке свопа, который он создает?
  • Двойная загрузка Linux и hiberantion: обмен разделом обмена
  • Динамически растущий файл подкачки на Debian
  • Может ли VM обменяться основной памятью?
  • Расчет требований к RAM / Swap Space
  • 8G RAM и SSD - насколько большой должен быть обмен?
  • Как заставить tmpfs использовать только физическую RAM, а не своп?
  • Команда swapon не перечисляет имя lvm
  • Мониторинг процессов в Solaris
  • Как создать Swap из уже созданных точек монтирования
  • Восстановить от faking / proc / meminfo
  • Linux и Unix - лучшая ОС в мире.