View difference between Paste ID: ZEKyMEx0 and Mtmexxtj
SHOW: | | - or go back to the newest paste.
1
#!/bin/bash
2
### BEGIN INIT INFO
3
# Provides: zram
4-
@@# Required-Start: $local_fs
4+
# Required-Start: $local_fs
5
# Required-Stop:
6
# Default-Start: 2 3 4 5
7
# Default-Stop: 0 1 6
8
# Short-Description: Increased Performance In Linux With zRam (Virtual Swap Compressed in RAM)
9
# Description: Adapted from systemd scripts at https://github.com/mystilleef/FedoraZram
10
# Included as part of antix-goodies package by anticapitalista <antiX@operamail.com>
11
# This script was written by tradetaxfree and is found at http://crunchbanglinux.org/forums/topic/15344/zram-a-good-idea/
12
# Copy this script (as root) from /usr/local/bin to /etc/init.d and then #update-rc.d zram defaults
13
# After booting verify the module is loaded with: lsmod | grep zram
14
### END INIT INFO
15
16
start() {
17
    # get the number of CPUs
18
    num_cpus=$(grep -c processor /proc/cpuinfo)
19
    # if something goes wrong, assume we have 1
20
    [ "$num_cpus" != 0 ] || num_cpus=1
21
22
    # set decremented number of CPUs
23
    last_cpu=$((num_cpus - 1))
24
    
25
    #default Factor % = 90 change this value here or create /etc/default/zram
26
    FACTOR=90
27
    #& put the above single line in /etc/default/zram with the value you want
28
	[ -f /etc/default/zram ] && source /etc/default/zram || true
29
	factor=$FACTOR # percentage
30
31
    # get the amount of memory in the machine
32
#    memtotal=$(grep MemTotal /proc/meminfo | awk ' { print $2 } ')
33
     memtotal=$(grep MemTotal /proc/meminfo | sed 's/[^0-9]\+//g')
34
   mem_by_cpu=$(($memtotal/$num_cpus*$factor/100*1024))
35
36
    # load dependency modules
37
    # kernels 3.4 onwards
38
    
39
    modprobe zram num_devices=$num_cpus
40
    
41
    if [ $? -gt 0 ]; then
42
	  # kernels 3.1 - 3.3
43
      #modprobe zram zram_num_devices=$num_cpus        
44
    #else
45
      echo -e "Your Kernel needs to be compiled with ZRAM support:" \
46
      "\n\nDevice Drivers --> Staging Drivers --> Compressed RAM block device support (M)" \
47
      "\nDevice Drivers --> Staging Drivers --> Dynamic compression of swap pages and clean pagecache pages (*)" \
48
      "\n\nThe Liquorix Kernel (http://liquorix.net) has ZRAM support built in."
49
      exit 1
50
    fi
51
    echo "zram devices probed successfully"
52
    
53
    # initialize the devices
54
    for i in $(seq 0 $last_cpu); do
55
    echo $mem_by_cpu > /sys/block/zram$i/disksize
56
    # Creating swap filesystems
57
    mkswap /dev/zram$i
58
    # Switch the swaps on
59
    swapon -p 100 /dev/zram$i
60
    done
61
}
62
63
stop() {
64
    # get the number of CPUs
65
    num_cpus=$(grep -c processor /proc/cpuinfo)
66
67
    # set decremented number of CPUs
68
    last_cpu=$((num_cpus - 1))
69
70
    # Switching off swap
71
    for i in $(seq 0 $last_cpu); do
72
    if [ "$(grep /dev/zram$i /proc/swaps)" != "" ]; then
73
    swapoff /dev/zram$i
74
    sleep 1
75
    fi
76
    done
77
78
    sleep 1
79
    rmmod zram
80
}
81
82
case "$1" in
83
    start)
84
        start
85
        ;;
86
    stop)
87
        stop
88
        ;;
89
    restart)
90
        stop
91
        sleep 3
92
        start
93
        ;;
94
    *)
95
        echo "Usage: $0 {start|stop|restart}"
96
        RETVAL=1
97
esac
98
exit $RETVAL

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×