Как навсегда разрешить сжатый смен? Какую версию использовать?

РЕДАКТИРОВАТЬ: Точно есть zram-config. Это работа с выскочкой, сжимающая до половины вашего бара, распространяющегося по сравнению с $ (количеством ядер процессора).

Я включил compcache = «256 M» в /etc/initramfs-tools/initramfs.conf, как описано здесь (по мне: P). Это, я считаю, создает /dev/ramzswap0, но он никогда не включается как своп. Он работает только после mkswap & amp; & amp; swapon.

Тогда есть модуль zram, который создает /dev/zram. Это что-то еще? Он работает так же, но /dev/ramzswap создается из модуля ramzswap.

В конце дня я хочу иметь сжатый обмен в ram и использовать лучшее из двух, и для этого мне нужно знайте, как включить его на постоянной основе не хакерским способом. Как это делается?

Я писал о ramzswap в Lucid здесь , но в Натти все изменилось. Вы можете включить ramzswap в initramfs.conf, но он не активируется.

P.S.:I сканировал все правила udev в / lib и / etc, но не нашел ничего интересного.

1
задан 13 April 2017 в 15:23

3 ответа

Я боролся с той же проблемой.

Сегодня я нашел отличное сообщение в блоге об этом. http://weirdfellow.wordpress.com/2011/05/04/compressed-ram-with-zram/

Хотя «sudo start zramswap» не работал, когда я перезапустил свой компьютер, он решил мой проблема совершенно.

Попробуйте.

2
ответ дан 25 May 2018 в 19:24
  • 1
    Фактически, в первый раз я даже заметил, что есть / etc / init /. Обычно я использую /etc/init.d/ для запуска материала при загрузке. Захватывающий ... – turbo 6 September 2011 в 13:10
  • 2
    /etc/init/ - это то, где живут сценарии запуска Upstart. Те, что в /etc/init.d, в основном, являются оболочками совместимости, которые вызывают их в /etc/init. – Ryan Thompson 17 March 2012 в 02:17

Вот дешевое решение. Добавьте следующую строку в /etc/rc.local до exit 0:

find /dev/ -maxdepth 1 -name 'ramzswap*' | while read dev; do
    mkswap $dev
    swapon -p 1000 $dev
done
1
ответ дан 25 May 2018 в 19:24
  • 1
    for i in /dev/ramzswap*;do ... будет лучшим решением, которое я думаю. В моей книге все еще слишком хаки. – turbo 15 August 2011 в 00:49
  • 2
    Как насчет find /dev/ -maxdepth 1 -name 'ramzswap*' -print0 | while read -d0 dev; do ...? Это устранит проблему странного имени файла с помощью новой строки. – Cbhihe 28 August 2016 в 17:24
  • 3
    @turbo: старый материал здесь, но я считаю, что ответ Райана выше на самом деле более общий и более безопасный с точки зрения сценариев, чем то, что вы предлагаете в комментарии yr. Вообще говоря, цикл yr for может вызвать проблемы с именами файлов с пробелом или специальными символами. Это говорит о том, что вы избавляете свою систему от процесса. – Cbhihe 28 August 2016 в 17:27

Прямо из вики 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 <antonio.galea@gmail.com>
# 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

Готово.

1
ответ дан 25 May 2018 в 19:24

Другие вопросы по тегам:

Похожие вопросы: