Написал такой скрипт:
#!/bin/bash
use_part=3
use_part_of=4
NUMCPU=`ls -1 -d /dev/cpu/? | wc -l`
RAM=$((`cat /proc/meminfo | grep MemTotal | sed 's% %%g' | sed 's%kB%%g' | cut -d':' -f2`/1024))
ZRAM=$(($RAM/$use_part_of*$use_part))
ZRAM_DEV_SIZE=$(($ZRAM/$NUMCPU))
echo "RAM: $RAM MB"
echo "Total size of zram: $ZRAM MB"
echo "Num of zram devices: $NUMCPU"
echo "Size of each zram device: $ZRAM_DEV_SIZE MB"
modprobe zram zram_num_devices=$NUMCPU
ls -1 -d /sys/block/zram* |
while read i
do
echo $(($ZRAM_DEV_SIZE*1024*1024)) > $i/disksize
done
ls -1 -d /dev/zram* |
while read n
do
mkswap $n
swapon $n -p 10 -d
done
имею одноядерник AMD с 2 гигами ОЗУ на системе Fedora 19 с самосборными ядрами 3.2.49 и 3.2.50 Почему-то при использовании swap ~200mb получаю полное зависание системы, независимо от того имеется физический swap или нет. В /var/log/messages ничего не сыпется