Cleancache vs zram?


9

У мене тут старий ноутбук із всього 512 Мб оперативної пам’яті. З кількох випусків ядра я використовую zram для перетворення 256 Мб його в стислий ramdisk, який потім використовується як swap. Це виявилося дуже успішним, і система набагато чуйніша, використання (своєю підтримкою жорсткого диска) помітно зменшилось, що сповільнило роботу системи раніше.

Оскільки Linux 3.0, ядро ​​містить також чистий кеш, який, використовуючи щось на зразок zram як бекенд, повинен прозоро стискати сторінки з кешу сторінки. Наскільки я бачу, це відрізняється від zram .

Чи потрібно вмикати обидва на своєму ноутбуці? Або чистий кеш дійсно витісняє рішення zram ?

Редагувати: Я знайшов це посилання на форумі gentoo , де, здається, я також повинен увімкнути, CONFIG_ZCACHEякий потім робить чистий кеш- пам'ять використовувати zram, щоб отримати щось подібне до того, що я мав раніше. Тож здається, що я все це вмикаю і після цього явно не використовую zram . Хтось може це підтвердити?

Відповіді:


9

Zram створює блоковий пристрій, підкріплений стисненим таран. Ви можете використовувати цей блоковий пристрій для заміни. Зазвичай тиск в пам'яті спочатку призводить до того, що кеш буде відкинуто, і лише після звільнення більшої частини кешу і пам'яті все ще щільно, система починає мінятися.

CleanCache дозволяє перенести сторінки з кеш-сторінки на задній край, наприклад, xen tmem, який керує пам’яттю, що управляється гіпервізором і ділиться між кількома гостями ВМ. Мета цього - дозволити декільком гостям ВМ кешування одних і тих же даних, використовуючи один і той самий оперативної пам’яті, замість того, щоб кожен мав власний кеш із власною копією одних і тих же даних.

ZCache - ще один зворотний кінець CleanCache. Замість того, щоб передавати пам'ять гіпервізору для утримування (що застосовується лише в тому випадку, якщо ви використовуєте середовище Xen VM), він зберігає сторінки кешу, стиснуті в операційній пам’яті, подібно до Zram. Різниця полягає в тому, що ZCache прозоро зберігає сторінки кеш-пам'яті, але Zram створює блоковий пристрій, який можна використовувати для swap.

Якщо у вас є програми, голодні для пам’яті, тоді вам знадобиться обмінний простір для їх підтримки, тому ви все одно захочете використовувати zram (швидше за все, з дуже високим значенням заміщення). Це тому, що CleanCache стискає лише сторінки кеша; Пам'ять програми повинна бути надіслана на обмін. Якщо ви не використовуєте всю свою пам’ять у програмах, ви можете використовувати CleanCache за допомогою сервера ZCache, щоб ефективніше використовувати решту пам’яті для кешування диска шляхом стискання кеш-диска. Ви навіть можете використовувати суміш двох методик.


Добре, дякую, тому сторінки кешу призначені лише для кешування диска, а не для пам’яті додатків. Це мені було не зрозуміло.
lytenyn

7

Як додаток до вищезгаданої відповіді, також див. Https://lwn.net/Articles/454795 для детального пояснення технології.

Як я розумію, zram буде заміщений frontswap , якого ще немає в ядрі основної лінії, але який має ту перевагу, що не потрібно налаштовувати фіксований розмір swap. Це дозволить легко ввімкнути як чистий кеш, так і фронтальний замін (замість zram і cleancache , коли пам'ять, яка використовується для zram, не може використовуватися для cleancache ).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.