Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Начиная с Windows 10 работает из коробки
swapon /dev/zram0 -p 10
это и есть приоритет. Страницы подкачки располагаются в устройствах и файлах подкачки согласно убыванию их приоритета(сначала полностью заполняются пространства с большим приоритетом). Приоритет по умолчанию — 1.zram.num_devices=4
#!/bin/bash
#modprobe zram num_devices=4
SIZE=768
echo $(($SIZE*1024*1024)) > /sys/block/zram0/disksize
echo $(($SIZE*1024*1024)) > /sys/block/zram1/disksize
mkswap /dev/zram0
mkswap /dev/zram1
swapon /dev/zram0 -p 10
swapon /dev/zram1 -p 10
#!/bin/bash
swapoff /dev/zram0
swapoff /dev/zram1
echo 1 > /sys/block/zram0/reset
echo 1 > /sys/block/zram1/reset
qemu-kvm -m 2048 -name xp-ie8 -drive file=/srv/images/Xp-ie8.img,if=virtio -vga qxl -spice port=5900,addr=127.0.0.1,disable-ticketing -net nic,macaddr=00:1e:3e:00:00:14,model=virtio -net tap,ifname=tap04
/dev/mtdblock0: Timing buffered disk reads: 4 MB in 4.19 seconds = 976.81 kB/sec
Как мониторить, сколько памяти занимают данные в памяти? /sys/block/zram0/size — оно?
size
там отсутствует.zero_pages
— количество страниц заполненных нулями.orig_data_size
— размер изначальных данных за вычетом «нулевых» страницcompr_data_size
— размер данных в сжатом виде.mem_used_total
— суммарное потребление памяти с учетом фрагментации и метаданных.mem_used_total/(zero_pages*4096+orig_data_size)
The zero_pages file specifies number of zero filled pages
zero_pages*4096
num_devices=1
compr_data_size/orig_data_size
колеблется в интервале 0.45 — 0.6, а на x86_64 крутится в интервале 0.3 — 0.35mem_used_total+zero_pages*4096
. А вот на убунточке вечно всё не как у людей$ uname -a
Linux olga-notebook 3.5.0-23-generic #35-Ubuntu SMP Thu Jan 24 13:15:40 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
$ head /sys/block/zram0/{orig_data_size,zero_pages}
==> /sys/block/zram0/orig_data_size <==
101617664
==> /sys/block/zram0/zero_pages <==
1505
$ awk '/zram/{print $4}' /proc/swaps
139624
$ echo $(( (101617664+1505*4096)/1024 ))
105256
$ grep AnonHugePages /proc/meminfo
AnonHugePages: 12288 kB
Зачем свопить, если можно держать всё в озу?
Поясните пожалуйста, а в чём отличие от просто выключенного свопа?
oom-killer
-ом. сжатие каждого устройства zram однопоточное
Это уже давно не так, вроде бы.
К областям применения можно добавить ещё мобильные телефоны на Андроиде. Даже производители зачастую включают zswap, ну а с рутом можно выиграть х1.5 а то и х2 от оперативки.
Использование zRam для увеличения количества доступной памяти под Linux