Comment activer de manière permanente le swap de compression compressé? Quelle version utiliser?

11

EDIT: Précisément, il y a maintenant zram-config . Il s'agit d'un travail rapide qui comprime jusqu'à la moitié de votre RAM répartie sur des périphériques swap $ (nombre de cœurs de processeur). Cela n'a pas toujours commencé au démarrage, mais émettre sudo service zram-config start fonctionne.

J'ai activé compcache="256 M" dans /etc/initramfs-tools/initramfs.conf comme décrit ici (par moi: P). Ceci - je crois - crée /dev/ramzswap0 mais il n’est jamais activé en tant que swap. Cela fonctionne seulement après mkswap & & swapon .

Ensuite, il y a le module zram qui crée /dev/zram . Est-ce autre chose? Cela fonctionne de la même manière mais /dev/ramzswap est créé à partir du module ramzswap.

À la fin de la journée, je souhaite utiliser un échange compressé et utiliser le meilleur des deux. Pour cela, je dois savoir comment l’activer de manière permanente, de manière non-informelle. Comment cela se fait-il?

J'ai écrit à propos de ramzswap dans Lucid ici mais les choses ont changé à Natty. Vous pouvez toujours activer ramzswap dans initramfs.conf mais cela ne s'active pas.

P.S.:J'ai scanné toutes les règles udev dans / lib et / etc mais je n'ai rien trouvé d'intéressant.

    
posée turbo 11.08.2011 - 12:01
la source

4 réponses

2

Il existe maintenant un PPA qui installe un script Upstart approprié pour activer zram au démarrage. Il choisit la taille et le nombre corrects de périphériques d'échange compressés pour votre système.

lien

    
réponse donnée Ryan Thompson 11.11.2011 - 09:01
la source
2

Je me débattais avec le même problème.

Aujourd'hui, j'ai trouvé un excellent article de blog à ce sujet. lien

Bien que "sudo start zramswap" ne fonctionne pas, le redémarrage de mon ordinateur a parfaitement résolu mon problème.

Essayez-le.

    
réponse donnée Shunsuke Watanabe 01.09.2011 - 02:12
la source
1

Voici la solution bon marché. Ajoutez la ligne suivante à /etc/rc.local , avant le exit 0 :

find /dev/ -maxdepth 1 -name 'ramzswap*' | while read dev; do
    mkswap $dev
    swapon -p 1000 $dev
done
    
réponse donnée Ryan Thompson 14.08.2011 - 13:56
la source
1

Directement du wiki Debian. Pour moi, c’est le plus simple.

Tout d’abord, copiez et collez ce code dans /etc/init.d/zram

### 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 <[email protected]>
# Thanks to Przemysław Tomczyk for suggesting swapoff parallelization

FRACTION=75

MEMORY='perl -ne'/^MemTotal:\s+(\d+)/ && print $1*1024;' < /proc/meminfo'
CPUS='grep -c processor /proc/cpuinfo'
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
    ;;
esac

Ensuite, exécutez ces deux commandes:

sudo chmod +x /etc/init.d/zram
sudo /etc/init.d/zram start

Enfin, pour ajouter zram au démarrage:

sudo update-rc.d zram defaults

Terminé.

    
réponse donnée mchid 01.11.2014 - 01:51
la source

Lire d'autres questions sur les étiquettes