Другой вопрос об Использовании ZRAM для подкачки

Я работаю 16.04 на ноутбуке с SSD на 1 ГБ с поршнем на 20 ГБ. Файловая система является btrfs, и я не создал подкачку. Это не вызывало меня никакие проблемы больше года. Однако я хотел бы испытать использование ZRAM для подкачки и считать followning здесь: https://seravo.fi/2016/perfect-btrfs-setup-for-a-server

"Для установки zram, просто выполненного: способная zram-конфигурация установки. После того, как следующая перезагрузка там автоматически будет zram устройством, которое система использует для свопинга. Не имеет значения, сколько RAM система имеет, потому что в какой-то момент ядро так или иначе подкачает что-то наш от активной памяти для свопинга для использования активной памяти более эффективно".

Таким образом, я сделал это и когда я делаю кошку/proc/swaps после перезагрузки, я добираюсь:

  Filename                                Type            Size    Used    Priority
/dev/zram0                              partition       2553148 0       5
/dev/zram1                              partition       2553148 0       5
/dev/zram2                              partition       2553148 0       5
/dev/zram3                              partition       2553148 0       5

Таким образом, я теперь, кажется, имею, загружают ZRAM. То, что интересно, - то, если это - все, что я должен сделать. Я не должен создать и включить своп-файл в ZRAM? Я спрашиваю, так как я читал здесь на, Спрашивает Ubuntu: ZRAM по сравнению с регулярным разделом подкачки

это, кавычка: "Можно затем отформатировать его для подкачки с mkswap/dev/zram0 и позволить подкачать на нем с swapon/dev/zram0".

Это немного сбивает с толку начиная с него согласно первому сайту, я сослался на все, к чему я должен, включают ZRAM, и система будет использовать его, в то время как на AskUbuntu кажется, что я должен буду создать и включить, загружают ZRAM.

Кто-то мог разъяснить это?

0
задан 13 April 2017 в 05:24

2 ответа

Все, что необходимо сделать, должно установить zram-config пакет, который, поскольку имя подразумевает, настраивает zram для Вас. cat /proc/swaps точно: zram уже активен как подкачка.

другой вопрос о zram, не zram-config пакет.

2
ответ дан 3 November 2019 в 16:28

ZRAM является просто сжатым драйвером электронного диска. При включении его Вы получаете блочные устройства, /dev/zram[0-9]+, и все данные, сохраненные в этом блочные устройства, будут сжиматься и храниться в памяти.

Так как это - просто блочное устройство, можно использовать его для хранения чего-либо, как пространство файловой системы или область подкачки — не особенно полезно сохранить разделы, с тех пор при разделении это не покажет новые устройства для каждого раздела как Ваш /dev/hd[a-z] или /dev/sd[a-z] и т.д. будет.

Так, для использования его для свопинга необходимо сначала отформатировать его с mkswap, и затем сделайте подкачку Linux на нем с swapon. zram-config просто официальный пакет Ubuntu, который делает это автоматически для Вас на начальной загрузке (так как это - электронный диск, все данные, хранившие в нем, исчезают, когда Вы перезагружаете). Существуют другие сценарии, которые сделают то же. Мне особенно нравится systemd-swap, ⁽ ¹ ⁾, который я использую и в моем поле ArchLinux и в моем Raspberry Pi (который выполняет подобный Debian дистрибутив), и который обрабатывает автосвопинг на находящихся на диске подкачках, ZRAM и Zswap. Я совершенно уверен, что это работает с Ubuntu также.

Как любопытство, это - то, как zram ведет себя в отношении использования памяти: в то время как максимальный объем данных, который можно сохранить в этом устройстве, фиксируется, объем памяти, который это использует, варьируется согласно тому, насколько сжимаемый данные. Например:

% sudo swapoff /dev/zram0
% sudo dd if=/dev/zero of=/dev/zram0 bs=1M
dd: writing to '/dev/zram0': No space left on device
243+0 records in
242+0 records out
254492672 bytes (254 MB, 243 MiB) copied, 6.10473 s, 41.7 MB/s
% free -h
              total        used        free      shared  buff/cache   available
Mem:           970M         47M        793M         25M        128M        848M
Swap:            0B          0B          0B
% sudo dd if=/dev/urandom of=/dev/zram0 bs=1M
dd: error writing '/dev/zram0': No space left on device
243+0 records in
242+0 records out
254492672 bytes (254 MB, 243 MiB) copied, 13.2982 s, 19.1 MB/s
% free -h
              total        used        free      shared  buff/cache   available
Mem:           970M        292M        549M         25M        128M        603M
Swap:            0B          0B          0B

Так, в то время как мое zram устройство имеет 254 МБ пространства при заполнении нулями оно не использует почти памяти вообще, в то время как при заполнении очень несжимаемыми случайными данными они используют 254M памяти.


⁽ ¹ ⁾ https://github.com/Nefelim4ag/systemd-swap

1
ответ дан 3 November 2019 в 16:28

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

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