У меня установлена Ubuntu 14.04 на моем 32-гигабайтном USB-накопителе. Недавно я прочитал, что наличие Swap вызывает много чтения и записи на диск, что замедляет работу ОС и сокращает срок службы накопителя. Когда я вчера проверил использование ОЗУ с использованием free, из 4 ГБ было использовано около 3 ГБ, а из 1,5 ГБ Swap использовался 900 МБ. Безопасно ли мне просто удалить раздел подкачки?
Не действительно, нет.
Однако вместо того, чтобы отключать swappiness, вы можете запустить скрипт, например Zram, для использования сжатой RAM-памяти в качестве swapspace вместо использования физического раздела, чтобы ваша система не crash.
STEP ONE:
Выполните следующую команду в открытом терминале:
sudo nano /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
Затем нажмите CTRL + o, чтобы сохранить файл, и нажмите CTRL + x, чтобы выйти из файла.
STEP ONE [!d3 ]:
Сначала отключите диски swappines:
sudo swapoff -a
Затем выполните следующие три команды в открытом терминале, чтобы сделать исполняемый файл сценария, запустить zram и сделать zram автоматически запускается при загрузке:
sudo chmod +x /etc/init.d/zram
sudo /etc/init.d/zram start
sudo update-rc.d zram defaults
ШАГ ТРИ:
После того, как вы включили zram swap, вы должны отредактировать / etc / fstab, чтобы обмануть диск не активировано при загрузке:
sudo nano /etc/fstab
Найдите строку, которая начинается с:
# swap was on . . .
И поместите CTRL в начале следующего строка для ее изменения от:
UUID= . . .
к этому вместо
#UUID= . . .
пример:
# swap was on /dev/sdb5 during installation
#UUID=abcd65432-d109-e8765-f43-210987ghi654 none swap sw 0 0
или вы можете удалить строку вместо этого.
Наконец, нажмите CTRL + o , чтобы сохранить файл, и нажмите CTRL + CTRL , чтобы выйти из файла.
Не нужно перезагружаться. Кроме того, вы можете проверить, что zram используется, выполнив следующую команду:
sudo swapon -s
Источники:
https://wiki.debian.org/ZRam
http://en.wikipedia.org/wiki/Zram
[!d39 ]Объяснить:
Хотя у вас может быть 4 ГБ оперативной памяти и не может «использовать» много бара для того, что вы используете, linux использует оставшийся RAM в качестве кэшированного бара, чтобы фактически уменьшить активность диска путем кэширования использованных приложений, чтобы вместо того, чтобы записывать их с диска при следующем открытии приложения. Когда кешированный барабан заполняет плунжер или когда приложение должно использовать RAM, кэшированные данные занимают, система свопит некоторые из кэшированных бара в раздел подкачки, чтобы освободить плунжер для используемых приложений и кэшировать более недавно используемые приложения в ram .
Кроме того, для спячки и / или приостановки необходима некоторая форма swappiness.
Из-за swappiness ваша система может лучше использовать ваш доступный RAM, уменьшить общий диск активности и значительно повысить оперативность системы при тяжелой нагрузке при одновременном предотвращении сбоев системы с максимальным выходом.