|
Size: 1960
Comment: fix # of CPUs
|
Size: 1961
Comment: wrong word
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 75: | Line 75: |
| For the version with the systemd should be used package [[http://packages.ubuntu.com/vivid/zram-config|Ubuntu zram-config 0.3]] and newer. | For systems running systemd, the [[https://packages.ubuntu.com/zram-config|Ubuntu package zram-config]] should be upgraded to 0.3 or newer. |
zram (previously called compcache) can create RAM based block devices. It is an experimental (staging) module of the Linux kernel since 3.2.
Background information
Startup script
Copy the following script to /etc/init.d/zram:
#!/bin/sh
### BEGIN INIT INFO
# Provides: zram
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Default-Start: S
# Default-Stop: 0 1 6
# Short-Description: Use compressed RAM as in-memory swap
# Description: Use compressed RAM as in-memory swap
### END INIT INFO
# Author: Antonio Galea <antonio.galea@gmail.com>
# Thanks to Przemysław Tomczyk for suggesting swapoff parallelization
# Distributed under the GPL version 3 or above, see terms at
# https://gnu.org/licenses/gpl-3.0.txt
FRACTION=75
MEMORY=`perl -ne'/^MemTotal:\s+(\d+)/ && print $1*1024;' < /proc/meminfo`
CPUS=`nproc`
SIZE=$(( MEMORY * FRACTION / 100 / CPUS ))
case "$1" in
"start")
param=`modinfo zram|grep num_devices|cut -f2 -d:|tr -d ' '`
modprobe zram $param=$CPUS
for n in `seq $CPUS`; do
i=$((n - 1))
echo $SIZE > /sys/block/zram$i/disksize
mkswap /dev/zram$i
swapon /dev/zram$i -p 10
done
;;
"stop")
for n in `seq $CPUS`; do
i=$((n - 1))
swapoff /dev/zram$i && echo "disabled disk $n of $CPUS" &
done
wait
sleep .5
modprobe -r zram
;;
*)
echo "Usage: `basename $0` (start | stop)"
exit 1
;;
esacthen you may have to make the script executable:
chmod +x /etc/init.d/zram
then instruct your system to start it at boot time, with the command
insserv zram
NB!
For systems running systemd, the Ubuntu package zram-config should be upgraded to 0.3 or newer.
