編集:正確にはzram-config
があります。これは、$(CPUコアの数)スワップデバイスに広がるRAMの最大半分を圧縮する新興企業の仕事です。起動時に常に起動するわけではありませんが、Sudo service zram-config start
の発行は機能します。
here (by me:P)の説明に従って、/etc/initramfs-tools/initramfs.conf
でcompcache = "256 M"を有効にしました。これ-私は信じています-/dev/ramzswap0
を作成しますが、スワップとして有効にされることはありません。 mkswap
&& swapon
の後にのみ機能します。
次に、/dev/zram
を作成するモジュールzramがあります。それは何か他のものですか?同じように機能しますが、/dev/ramzswap
はramzswapモジュールから作成されます。
最終的には、RAMで圧縮されたスワップを使用し、2つのうちの良い方を使用します。そのためには、ハック以外の方法で永続的に有効にする方法を知る必要があります。これはどのように行われますか?
Lucidでramzswapについて書きました ここ ですが、Nattyでは状況が変わりました。 initramfs.confでramzswapを有効にすることはできますが、アクティブにはなりません。
追伸:/ libや/ etcのすべてのudevルールをスキャンしましたが、興味のあるものは見つかりませんでした。
現在、ブート時にzramを有効にするための適切なUpstartスクリプトをインストールするPPAがあります。システムに適したサイズと圧縮スワップデバイスの数を選択します。
私は同じ問題に苦しんでいました。
今日、私はそれに関する素晴らしいブログ投稿を見つけました。 http://weirdfellow.wordpress.com/2011/05/04/compressed-ram-with-zram/
「sudo start zramswap」は機能しませんでしたが、PCを再起動すると問題が完全に解決しました。
それを試してみてください。
これが安価なソリューションです。 /etc/rc.local
の前のexit 0
の前に次の行を追加します。
find /dev/ -maxdepth 1 -name 'ramzswap*' | while read dev; do
mkswap $dev
swapon -p 1000 $dev
done
Debian wikiから直接。私にとっては、これが一番簡単です。
まず、このコードをコピーして/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
次に、次の2つのコマンドを実行します。
Sudo chmod +x /etc/init.d/zram
Sudo /etc/init.d/zram start
最後に、起動時にzramを追加するには:
Sudo update-rc.d zram defaults
できた.