28 lines
1.0 KiB
Bash
Executable File
28 lines
1.0 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# загружаем в ядро модуль zram
|
|
modprobe -v zram num_devices=4
|
|
|
|
# задаем число потоков сжатия, равное числу ядер процессора
|
|
CPUS="`nproc`"
|
|
echo "$CPUS" > /sys/block/zram0/max_comp_streams
|
|
|
|
# выбираем алгоритм сжатия, lz4 наиболее быстр, lzo сильнее сжимает
|
|
ALG=lzo
|
|
echo "$ALG" > /sys/block/zram0/comp_algorithm
|
|
|
|
# задаем размер zram (FRACTION - размер устройства zram0 в процентах от MemTotal)
|
|
FRACTION=100
|
|
MEMORY=`perl -ne'/^MemTotal:\s+(\d+)/ && print $1*1024;' < /proc/meminfo`
|
|
SIZE=$(( MEMORY * FRACTION / 100 ))
|
|
|
|
echo $SIZE > /sys/block/zram0/disksize
|
|
#echo 10G > /sys/block/zram0/disksize # можно задать размер zram в гигабайтах, вместо процентов от MemTotal
|
|
|
|
# форматируем устройство zram0 как swap
|
|
mkswap -L zram0 /dev/zram0
|
|
|
|
# включаем подкачку
|
|
swapon -d -p 10 /dev/zram0
|
|
|