EDIT: Plus 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 ce faire, je dois savoir comment l'activer de manière permanente, de manière non fictive. Comment est-ce fait?
J'ai écrit à propos de ramzswap dans Lucid ici mais les choses ont changé dans Natty. Vous pouvez toujours activer ramzswap dans initramfs.conf mais il n'est pas activé.
P.S.: J’ai analysé toutes les règles udev dans/lib et/etc mais je n’ai rien trouvé d’intéressant.
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.
Je me débattais avec le même problème.
Aujourd'hui, j'ai trouvé un excellent article de blog à ce sujet. http://weirdfellow.wordpress.com/2011/05/04/compressed-ram-with-zram/
Bien que "Sudo start zramswap" ne fonctionne pas, lorsque j'ai redémarré mon PC, mon problème a été résolu parfaitement.
L'essayer.
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
Directement du wiki Debian. Pour moi, c'est le plus facile.
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é.