Преди няколко седмици публикувах
След като инсталирате Raspberry Pi във вашия
Активиране на ZRAM на Raspberry Pi
Raspberry Pi 4 идва с 1, 2, 4 или 8 GB RAM. Ще използвам модела с 1 GB, така че коригирайте инструкциите в зависимост от вашия модел. С 1 GB ZRAM суап файлът по подразбиране (бавен!) ще се използва по-рядко. Използвах такъв скрипт
Инструкциите са предоставени в хранилището, свързано по-горе. Инсталация:
git clone https://github.com/foundObjects/zram-swap.git
cd zram-swap && sudo ./install.sh
Ако искате да редактирате конфигурацията:
vi /etc/default/zram-swap
Освен това можете да активирате ZRAM чрез настройка zram-tools
. Ако използвате този метод, не забравяйте да редактирате конфигурацията във файл /etc/default/zramswap
и инсталирайте около 1GB ZRAM:
sudo apt install zram-tools
След инсталирането можете да видите статистическите данни за съхранението на ZRAM със следната команда:
sudo cat /proc/swaps
Filename Type Size Used Priority
/var/swap file 102396 0 -2
/dev/zram0 partition 1185368 265472 5
pi@raspberrypi:~ $
Добавяне на опции на ядрото за по-добро използване на ZRAM
Сега нека коригираме поведението на системата, когато Raspberry Pi превключва на суап в последния момент, което често води до замръзване. Нека добавим няколко реда към файла /etc/sysctl.conf и рестартирайте.
Тези редове 1) забавят неизбежното изчерпване на паметта, чрез увеличаване на натиска върху кеша на ядрото и 2) започнете да се подготвяте за изчерпване на паметта по-рано, инициирайки пейджинг предварително. Но това ще бъде много по-ефективно страниране на компресирана памет чрез ZRAM!
Ето редовете, които трябва да се добавят в края на файла /etc/sysctl.conf:
vm.vfs_cache_pressure=500
vm.swappiness=100
vm.dirty_background_ratio=1
vm.dirty_ratio=50
След това рестартирайте системата или активирайте редакциите със следната команда:
sudo sysctl --system
vm.vfs_cache_pressure=500 увеличава натиска върху кеша, което увеличава склонността на ядрото да възстановява паметта, използвана за кеширане на директория и индексни обекти. Ще използвате по-малко памет за по-дълъг период от време. Резкият спад в производителността се отрича от по-ранна смяна.
vm.swappiness = 100 увеличава параметъра за това колко агресивно ядрото ще разменя страници от паметта, тъй като първо използваме ZRAM.
vm.dirty_background_ratio=1 & vm.dirty_ratio=50 — фоновите процеси ще започнат да записват веднага след достигане на лимита от 1%, но системата няма да принуди синхронен I/O, докато не достигне 50% dirty_ratio.
Тези четири реда (когато се използват със ZRAM) ще помогнат за подобряване на производителността, ако имате неизбежно Рам паметта свършва и започва преминаването към суап, като моя. Като се знае този факт, а също и като се вземе предвид компресията на паметта в ZRAM с коефициент три, по-добре е този суап да започне рано.
Натискът върху кеша помага, защото всъщност казваме на ядрото: „Хей, вижте, нямам допълнителна памет, която да използвам за кеш, така че, моля, отървете се от нея възможно най-скоро и запазете само най-използваните/важните данни. "
Дори и при по-малко кеширане, ако с течение на времето по-голямата част от инсталираната памет бъде заета, ядрото ще започне op-swap много по-рано, така че CPU (компресия) и swap I/O да не дърпат до последно и да използват всички ресурси веднага, когато е твърде късно. ZRAM използва малко CPU за компресиране, но при повечето системи с малко памет това има много по-малко въздействие върху производителността, отколкото суап без ZRAM.
В заключение
Да погледнем отново резултата:
pi@raspberrypi:~ $ free -h
total used free shared buff/cache available
Mem: 926Mi 471Mi 68Mi 168Mi 385Mi 232Mi
Swap: 1.2Gi 258Mi 999Mi
pi@raspberrypi:~ $ sudo cat /proc/swaps
Filename Type Size Used Priority
/var/swap file 102396 0 -2
/dev/zram0 partition 1185368 264448 5
264448 в ZRAM е почти един гигабайт некомпресирани данни. Всичко влезе в ZRAM и нищо не влезе в много по-бавния суап файл. Опитайте сами тези настройки, те работят на всички модели Raspberry Pi. Моята неизползваема система за окачване се превърна в работеща и стабилна.
В близко бъдеще се надявам да продължа и да актуализирам тази статия с някои от резултатите от тестването на системата преди и след инсталирането на ZRAM. Сега просто нямам време за това. Междувременно не се колебайте да проведете свои собствени тестове и да ме уведомите в коментарите. Raspberry Pi 4 е звяр с тези настройки. Наслади се!
По темата:
Източник: www.habr.com