-
Notifications
You must be signed in to change notification settings - Fork 4
Мало оперативной памяти?
Если из-за постоянного использования swap-файла страдает отзывчивость системы, то, возможно, стоит попробовать zram. Zram создает сжатое блочное устройство в оперативной памяти, которое можно использовать как swap-файл, т.е. выгружаемые страницы будут храниться не на "медленном" диске, а в оперативной памяти в сжатом виде, что требует некоторых затрат процессорного времени.
- На параметр
--priority
у коммандыswapon
- На параметр
vm.swappiness
Пример: Для создания одного zram-устройства емкостью 2GiB с алгоритмом сжатия lz4:
# modprobe zram
# echo lz4 > /sys/block/zram0/comp_algorithm
# echo 2G > /sys/block/zram0/disksize
# mkswap --label zram0 /dev/zram0
# swapon --priority 100 /dev/zram0
Примечание: # - означает выполнение под root
Также для получения небольшого количества оперативной памяти из воздуха можно использовать UKSM. Это улучшенный вариант обычного KSM, который занимается сканированием памяти в поисках одинаковых страниц памяти в разных страницах, для их объединения. В сравнении с KSM, он использует более щадящие процессор алгоритмы поиска страниц.
Он по-умолчанию включён в Calculate Linux, на большинство других дистрибутивов для его установки понадобится патчить ядро и собирать своё собственное.
-
Скачайте патч UKSM под свою версию ядра из его репозитория гитхаба
-
Примените патч на ядро при помощи команды
patch -p1 < ../UKSM-x.y.patch
, где x,y - версия UKSM -
Выполните от рута
make menuconfig
или любую другую команду для вызова меню настроек ядра, например,make nconfig
-
Выберите
Memory management options
>Enable KSM for page merging
и затем выставитеChoose UKSM/KSM strategy
наUltra-KSM for page merging
Для мониторинга работы UKSM существует UKSMTools. У него есть готовые пакеты для части дистров и ебилд для генты.