zram вместо swap


Сообщество нам дает возможность бесплатно увеличить объем оперативной памяти в Linux.

Все, наверняка, слышали про технологию swap или pagefile (Windows). Так вот zram — это swap в оперативной памяти.

Вот, что пишет Википедия, лучше описать zram у меня все равно не получится

zRam это экспериментальный модуль ядра Linux (ранее известный как «compcache»). Он увеличивает производительность путем предотвращения подкачки страниц на диск, используя сжатое блочное устройство в оперативной памяти, пока не появится необходимость использовать файл подкачки на жестком диске. Скорость обмена с оперативной памятью быстрее, чем с жестким диском, следовательно zRam позволяет Linux производить большее число операций подкачки, особенно на старых компьютерах с малым объемом оперативной памяти.

В некоторых случаях zram позволяет достигать многократного увеличения временной памяти за счет компресии страниц памяти.

Для того, чтобы воспользоваться этой замечательной технологией, проверьте, есть ли у вас модуль zram:

modprobe -vn zram

Если видите строку вида

insmod /lib/modules/3.8-4.dmz.2-liquorix-amd64/kernel/drivers/staging/zram/zram.ko

значит вам доступен этот модуль.

zram можно настроить вручную, но лучше сделать его сервисом и запускать при старте системы.

sudo -Es
wget -O /etc/init.d/zram https://raw.github.com/gionn/etc/master/init.d/zram
chmod 755 /etc/init.d/zram
sed -i '/^exit 0/ i\service zram start\n' /etc/rc.local
service zram start

Немного подробностей про опции zram.

num_devices — количество устройств zram, которые будут созданы при подключении модуля ядра, рекомендуется по одному на ядро процессора.

Эти устройства будут доступны как /dev/zram0 и так далее.

В /sys/block/zram0/disksize нужно указать, какой размер устройства вы хотите использовать.

Следуйте формуле: 

Дополнительную информацию по модулю можно посмотреть командой modinfo

modinfo zram
filename:       /lib/modules/3.2.0-4-amd64/kernel/drivers/staging/zram/zram.ko
description:    Compressed RAM Block Device
author:         Nitin Gupta <ngupta@vflare.org>
license:        Dual BSD/GPL
depends:
staging:        Y
intree:         Y
vermagic:       3.2.0-4-amd64 SMP mod_unload modversions
parm:           zram_num_devices:Number of zram devices (uint)

Ну и если вы не используете zram как сервис, не забудьте создать swap из получившихся устройств и включить его.

comments powered by Disqus