如何永久启用压缩ram交换? 使用什么版本?

编辑:确切地说,现在是zram-config 。 这是一个新兴的工作,压缩你的RAM的一半超过$(CPU核心数)交换设备。 它并不总是在启动时启动,但发出sudo service zram-config start工作。

我在/etc/initramfs-tools/initramfs.conf启用了compcache =“256 M”,如此处所述(由我:P)。 这 – 我相信 – 创建/dev/ramzswap0但它永远不会作为交换启用。 它只适用于mkswap && swapon

然后是创建/dev/zram的模块/dev/zram 。 还有别的吗? 它的工作方式相同,但是/dev/ramzswap是从模块ramzswap创建的。

在一天结束的时候,我想在ram中进行压缩交换并使用两者中较好的一个,为此我需要知道如何以非hackish方式永久地启用它。 这是怎么做到的?

我在Lucid写过关于ramzswap的文章,但Natty的情况发生了变化。 你仍然可以在initramfs.conf中启用ramzswap,但它不会被激活。

PS:我扫描了/ lib和/ etc中的所有udev规则,但没有发现任何兴趣。

现在有一个PPA安装了一个正确的Upstart脚本,用于在启动时启用zram。 它为您的系统选择正确大小和数量的压缩交换设备。

https://launchpad.net/~shnatsel/+archive/zram

我正在努力解决同样的问题。

今天我发现了一篇关于它的优秀博文。 http://weirdfellow.wordpress.com/2011/05/04/compressed-ram-with-zram/

虽然“sudo start zramswap”不起作用,但当我重新启动电脑时,它完全解决了我的问题。

试试吧。

这是便宜的解决方案。 在exit 0之前/etc/rc.local下行添加到/etc/rc.local

 find /dev/ -maxdepth 1 -name 'ramzswap*' | while read dev; do mkswap $dev swapon -p 1000 $dev done 

直接来自Debian维基。 对我来说,这是最简单的。

首先,将此代码复制并粘贴到/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  # 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 

接下来,执行以下两个命令:

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

最后,在启动时添加zram:

 sudo update-rc.d zram defaults 

完成。