Сценарії використання робочого столу Zswap, Zram, Zcache


12

Я намагався зрозуміти різницю випадків використання для Zswap, Zram та Zcache. Вибачте заздалегідь за довге / злегка неохайне питання. Я зробив купу гуглінгу, і я розумію, що zram - це в основному блок пристроїв для стисненого swap, тоді як zswap стискається в ядрі за допомогою api fwantswap. Очевидно, що однією з переваг 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

Ніяких коментарів "купуйте більше баранів", будь ласка! Я додав таран на цій материнській платі і маю бюджет на оновлення на 0 доларів на осяжне майбутнє. Однак мені подобається тримати відкриті пам’яті програми (кілька веб-переглядачів є основними споживачами мого оперативної пам’яті), тому я не проти помінятися в межах розумних погіршень продуктивності.


Відповіді:


7

Найкращий спосіб я можу спробувати відповісти на ці запитання - сказати, що є трьома насправді.

zRAM

zRAM - це не що інше, як замінний пристрій. Управління пам'яттю виштовхує сторінки на пристрій обміну, а zRAM буде стискати ці дані, розподіляючи пам'ять за потребою.

Зміна

Zswap - стислий простір для заміни, який внутрішньо виділяється ядром і не відображається як пристрій підкачки. Він використовується за допомогою фронтальної заміни так само, як може використовуватися і замінний пристрій, але більш ефективним чином.

Zcache

Zcache - це фронт для переходу на фронт і очищення.

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), і він може створювати сторінки за допомогою пристрою для заміни (наприклад, на жорсткому диску). Ви також можете вибрати алгоритм стиснення, якщо він буде використовувати занадто багато процесора (я не можу уявити, що це буде).

Оновлення : 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 / commit /? id = 96256460487387d28b8398033928e06eb9e428f7


1
Zswap вмикається в останніх ядрах, додаючи zswap.enabled=1до командного рядка Linux.
Кен Шарп
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.