summarylogtreecommitdiffstats
path: root/zramctrl
blob: 4e328a0db43c918b2cf5e045ac388490bc501064 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/bash

if [ -f /etc/zramswap.conf ]; then
  source /etc/zramswap.conf
fi

start() {
  if [ ! "$ZRAM_SIZE_PERCENT" ]; then
    ZRAM_SIZE_PERCENT=20
  fi
  (( MEM_TOTAL= `cat /proc/meminfo|grep MemTotal|awk '{print $2}'` * 1024 ))
  (( MEM= MEM_TOTAL * $ZRAM_SIZE_PERCENT / 100 ))
  modprobe zram
  if [ -n "$ZRAM_COMPRESSION_ALGO" ]; then
    echo "$ZRAM_COMPRESSION_ALGO" > /sys/block/zram0/comp_algorithm
  fi
  echo $MEM > /sys/block/zram0/disksize
  mkswap /dev/zram0 -L zram0
  swapon -p 100 /dev/zram0
}

stop() {
  swapoff /dev/zram0
  rmmod zram
}

case $1 in
  start|stop) "$1" ;;
esac