mirror of
git://git.yoctoproject.org/meta-raspberrypi.git
synced 2025-07-19 21:09:03 +02:00
37 lines
888 B
Bash
37 lines
888 B
Bash
#!/bin/sh
|
|
|
|
num_cpus=$(grep -c processor /proc/cpuinfo)
|
|
[ "$num_cpus" != 0 ] || num_cpus=1
|
|
|
|
last_cpu=$((num_cpus - 1))
|
|
|
|
mem_by_cpu=$(awk -v cpus=$num_cpus '/MemTotal/ { print (($2 * 1024) / cpus) }' /proc/meminfo)
|
|
|
|
if [ "$1" = "--load" ] ; then
|
|
echo zram: Trying to load kernel module.
|
|
|
|
# Linux 3.2 workaround - value name changed :o.
|
|
# modprobe -q zram zram_num_devices=$num_cpus
|
|
|
|
# Linux < 3.2.
|
|
modprobe -q zram num_devices=$num_cpus
|
|
|
|
echo zram: Enable in-memory compressed swap of $mem_by_cpu bytes.
|
|
for i in $(seq 0 $last_cpu); do
|
|
echo $mem_by_cpu > /sys/block/zram$i/disksize
|
|
mkswap /dev/zram$i
|
|
swapon -p 100 /dev/zram$i
|
|
done
|
|
fi
|
|
|
|
if [ "$1" = "--unload" ] ; then
|
|
echo zram: Disable in-memory compressed swap.
|
|
for i in $(seq 0 $last_cpu); do
|
|
grep -q "/dev/zram$i" /proc/swaps && swapoff /dev/zram$i
|
|
done
|
|
|
|
sleep 1
|
|
echo zram: Unload kernel module.
|
|
rmmod zram
|
|
fi
|