Skip to content

Instantly share code, notes, and snippets.

@slaykovsky
Created March 10, 2017 22:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save slaykovsky/57b2e2d23f2c60cedf6036487ed2f621 to your computer and use it in GitHub Desktop.
Save slaykovsky/57b2e2d23f2c60cedf6036487ed2f621 to your computer and use it in GitHub Desktop.
#!/bin/sh
# turn it on if nothing passed in as args
if [ -z "$1" ]
then
echo lz4 > /sys/block/zram0/comp_algorithm
echo lz4 > /sys/block/zram1/comp_algorithm
echo lz4 > /sys/block/zram2/comp_algorithm
# 8GB of /var/tmp
echo $((8*1024*1024*1024)) > /sys/block/zram0/disksize
# 2GB of compressed swap
echo $((2*1024*1024*1024)) > /sys/block/zram1/disksize
echo $((2*1024*1024*1024)) > /sys/block/zram2/disksize
mkswap /dev/zram1
swapon -p 100 /dev/zram1
# mkfs.btrfs -f -L "zram-vol" /dev/zram0
mkfs.ext4 -F -L "zram-tmp" /dev/zram0
mount -onoatime,nodiratime /dev/zram0 /var/tmp
# mkfs.btrfs -f -L "zram-cache" /dev/zram2
mkfs.ext4 -F -L "zram-cache" /dev/zram2
mount -onoatime,nodiratime /dev/zram2 /var/cache
else
# unload the swap devices
if [ -b /dev/zram1 ]
then
echo "Unloading zram swap..."
swapoff /dev/zram1
sleep 0.2
echo "Resetting zram1"
echo 1 > /sys/block/zram1/reset
fi
if [ -b /dev/zram0 ]
then
echo "Getting rid of zram /var/tmp..."
umount /dev/zram0 || echo "zram /var/tmp was not mounted..."
sleep 0.2
echo "Resetting zram0"
echo 1 > /sys/block/zram0/reset
fi
if [ -b /dev/zram2 ]
then
echo "Getting rid of zram /var/cache..."
umount /dev/zram2 || echo "zram /var/cache was not mounted..."
sleep 0.2
echo "Resetting zram2"
echo 1 > /sys/block/zram2/reset
fi
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment