Arch linux zram generator

Arch Linux User Repository

Package Details: zram-generator-git 1.1.0+7+ga3660dd-1

Package Actions

Git Clone URL: https://aur.archlinux.org/zram-generator-git.git (read-only, click to copy)
Package Base: zram-generator-git
Description: Systemd unit generator for zram devices
Upstream URL: https://github.com/systemd/zram-generator
Licenses: MIT
Conflicts: zram-generator
Provides: zram-generator
Submitter: Prototik
Maintainer: Prototik
Last Packager: Prototik
Votes: 3
Popularity: 0.000000
First Submitted: 2020-06-06 20:48 (UTC)
Last Updated: 2021-11-26 15:32 (UTC)

Dependencies (4)

Required by (1)

Sources (3)

Latest Comments

egrupled commented on 2021-01-27 20:35 (UTC) (edited on 2021-01-27 20:53 (UTC) by egrupled)

The build is broken because upstream changed master branch to main . Removing branch name from git address will fix this issue.

Also you need to modify build section as follows:

build() < cd "$srcdir/$" make build make systemd_service LC_ALL=C.UTF-8 ronn --roff man/*.md > 

egrupled commented on 2020-06-16 09:08 (UTC)

@Prototik using half-memory is now upstream default[1] although they didn’t update example config. I think sending update for upstream example makes more sense than maintaining separate downstream example config in parallel.

Prototik commented on 2020-06-15 20:46 (UTC) (edited on 2020-06-15 21:05 (UTC) by Prototik)

@egrupled upstream config installed as well into /usr/share/doc/zram-generator .

half-memory.conf.example just another example (inspired by Fedora’s SwapOnZRAM initiative) and I’ll try to keep it up-to-date with upstream changes.

egrupled commented on 2020-06-15 20:34 (UTC)

@Prototik I think using upstream example config is better than putting some custom example of yours here which may get out of sync.

Copyright © 2004-2023 aurweb Development Team.

AUR packages are user produced content. Any use of the provided files is at your own risk.

Источник

DESCRIPTION

These files configure devices created by zram-generator(8). See systemd.syntax(5) for a general description of the syntax.

CONFIGURATION DIRECTORIES AND PRECEDENCE

The default configuration doesn´t specify any devices. Consult /usr/share/zram-generator/zram-generator.conf.example for an example configuration file.

When packages need to customize the configuration, they can install configuration snippets in /usr/lib/systemd/zram-generator.conf.d/. Files in /etc/ are reserved for the local administrator, who may use this logic to override the configuration files installed by vendor packages. The main configuration file is read before any of the configuration directories, and has the lowest precedence; entries in a file in any configuration directory override entries in the single configuration file. Files in the *.conf.d/ configuration subdirectories are sorted by their filename in lexicographic order, regardless of which of the subdirectories they reside in. When multiple files specify the same option, for options which accept just a single value, the entry in the file with the lexicographically latest name takes precedence. It is recommended to prefix all filenames in those subdirectories with a two-digit number and a dash, to simplify the ordering of the files.

Читайте также:  Расширение установочных пакетов linux

To disable a configuration file supplied by the vendor, the recommended way is to place a symlink to /dev/null in the configuration directory in /etc/, with the same filename as the vendor configuration file.

The generator understands the following option on the kernel command-line: systemd.zram[=0|1]. When specified with a true argument (or no argument), the zram0 device will be created. Default options apply, but may be overridden by configuration on disk if present. When specified with a false argument, no zram devices will be created by the generator. This option thus has higher priority than the configuration files.

OPTIONS

Each device is configured independently in its [zramN] section, where N is a nonnegative integer. Other sections are ignored.

Devices with the final size of 0 will be discarded.

host-memory-limit= Sets the upper limit on the total usable RAM (as defined by MemTotal in /proc/meminfo, confer proc(5)) above which the device will not be created. This takes a nonnegative number, representing that limit in megabytes, or the literal string none, which can be used to override a limit set earlier. Defaults to none. ○ zram-size= Sets the size of the zram device as a function of MemTotal, available as the ram variable. Arithmetic operators (^%/*-+), e, π, SI suffixes, log(), int(), ceil(), floor(), round(), abs(), min(), max(), and trigonometric functions are supported. Defaults to min(ram / 2, 4096). ○ compression-algorithm= Specifies the algorithm used to compress the zram device. This takes a literal string, representing the algorithm to use.
Consult /sys/block/zram0/comp_algorithm for a list of currently loaded compression algorithms, but note that additional ones may be loaded on demand. If unset, none will be configured and the kernel´s default will be used. ○ writeback-device= Write incompressible pages, for which no gain was achieved, to the specified device under memory pressure. This corresponds to the /sys/block/zramX/backing_dev parameter. Takes a path to a block device, like /dev/disk/by-partuuid/2d54ffa0-01 or /dev/zvol/tarta-zoot/swap-writeback. If unset, none is used, and incompressible pages are kept in RAM. ○ swap-priority= Controls the relative swap priority, a value between -1 and 32767. Higher numbers indicate higher priority. If unset, 100 is used. ○ mount-point= Format the device with a file system (not as swap) and mount this file system over the specified directory. When neither this option nor fs-type= is specified, the device will be formatted as swap. Note that the device is temporary: contents will be destroyed automatically after the file system is unmounted (to release the backing memory). ○ fs-type= Specifies how the device shall be formatted. The default is ext2 if mount-point is specified, and swap otherwise. (Effectively, the device will be formatted as swap, if neither fs-type= nor mount-point= are specified.) Note that the device is temporary: contents will be destroyed automatically after the file system is unmounted (to release the backing memory). Also see systemd-makefs(8). ○ options= Sets mount or swapon options. Availability depends on fs-type. Defaults to discard.

Читайте также:  Linux для dns сервера

ENVIRONMENT VARIABLES

Setting ZRAM_GENERATOR_ROOT during parsing will cause /proc/meminfo to be read from $ZRAM_GENERATOR_ROOT/proc/meminfo instead, and /systemd/zram-generator.conf to be read from $ZRAM_GENERATOR_ROOT//systemd/zram-generator.conf.

EXAMPLES

The default configuration will yield the following:

 
zram device size
^

4G>│ ooooooooooooo
│ o
│ o
│ o
2G>│ o
│ o
│ o 512M>│ o
0───────────────────────> total usable RAM
^ ^ ^
1G 4G 8G

A piecewise-linear size 1:1 for the first 4G, then 1:2 above, up to a max of 32G:
zram-size = min(min(ram, 4096) + max(ram — 4096, 0) / 2, 32 * 1024)

 
zram device size
^
32G>| oooooooooooooo
| o
30G>| o
|
/=/
|
8G>│ o
│ o
│ o
│ o
│ o
4G>│ o
│ o
│ o
1G>│ o
0───────────────────────────────────||──────────────────────> total usable RAM
^ ^ ^ ^ ^ ^ ^
1G 4G 8G 12G 56G 60G 64G

OBSOLETE OPTIONS

memory-limit= Compatibility alias for host-memory-limit. ○ zram-fraction= Defines the scaling factor of the zram device´s size with relation to the total usable RAM. This takes a nonnegative floating-point number representing that factor. Defaulted to 0.5. Setting this or max-zram-size overrides zram-size. ○ max-zram-size= Sets the limit on the zram device´s size obtained by zram-fraction. This takes a nonnegative number, representing that limit in megabytes, or the literal string none, which can be used to override a limit set earlier. Defaulted to 4096. Setting this or zram-fraction overrides zram-size.

REPORTING BUGS

SEE ALSO

zram-generator(8), systemd.syntax(5), proc(5)

Powered by archmanweb, using mandoc for the conversion of manual pages.

The website is available under the terms of the GPL-3.0 license, except for the contents of the manual pages, which have their own license specified in the corresponding Arch Linux package.

Источник

zram (Русский)

Состояние перевода: На этой странице представлен перевод статьи zram. Дата последней синхронизации: 28 марта 2023. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Читайте также:  Astra linux steam установка

zram, ранее известный как compcache, — это модуль ядра Linux, позволяющий создать сжатое блочное устройство в ОЗУ, то есть RAM-диск со сжатием на лету. Создаваемое этим модулем блочное устройство можно использовать в качестве подкачки или как обычный RAM-диск. Чаще всего zram используется для хранения временных файлов ( /tmp ) и для подкачки. Изначально zram выполнял только последнюю функцию, отсюда и первоначальное название «compcache» («compressed cache»).

Использование в качестве подкачки

Отключение zswap

Так как zswap включен по умолчанию, перед включением zram его стоит отключить, чтобы он не работал как кэш подкачки перед zram. Включение их обоих также приводит к отображению некорректной статистики в zramctl(8) , и zram остаётся в основном неиспользуемым, потому что zswap перехватывает и сжимает страницы памяти до того как они попадут в zram.

Автоматически

zram-generator предоставляет юнит systemd-zram-setup@.service для автоматической инициализации устройства zram без необходимости включать/запускать шаблон или его экземпляры. Смотрите zram-generator(8) и zram-generator.conf(5) .

Например, чтобы создать подкачку в zram, использующую сжатие zstd и способную занимать всю доступную ОЗУ, установите пакет zram-generator и создайте такой файл:

/etc/systemd/zram-generator.conf
[zram0] zram-size = ram compression-algorithm = zstd

Затем перезагрузитесь и проверьте статус подкачки на настроенном вами устройстве /dev/zramN , посмотрев статус экземпляра юнита systemd-zram-setup@zramN.service или используя zramctl(8) .

В качестве альтернативы можно использовать пакет zramswap AUR , который предоставляет автоматический скрипт для настройки подкачки с высоким приоритетом и размером по умолчанию 20% от размера ОЗУ вашей системы. Чтобы делать это автоматически при каждой загрузке, включите службу zramswap.service . Также есть пакет zramd AUR , позволяющий автоматически настроить zram с использованием сжатия zstd по умолчанию, его конфигурацию можно изменить в /etc/default/zramd . Его можно запустить при загрузке системы, включив службу zramd.service .

Вручную

Пример: чтобы настроить одно устройство zram со сжатием lz4 с ёмкостью 32 ГиБ и приоритетом выше обычного (только для текущего сеанса):

# modprobe zram # echo lz4 > /sys/block/zram0/comp_algorithm # echo 32G > /sys/block/zram0/disksize # mkswap --label zram0 /dev/zram0 # swapon --priority 100 /dev/zram0

Для выключения можно перезагрузиться или выполнить

# swapoff /dev/zram0 # modprobe -r zram

Подробное объяснение всех шагов, опций и потенциальных проблем описано в официальной документации модуля zram.

Подкачка в zram с использованием правила udev

Пример ниже показывает, как настроить подкачку на zram автоматически при загрузке с помощью одного правила udev. Для этого не требуется дополнительных пакетов.

Сперва включите автоматическую загрузку модуля:

Настройте количество требуемых устройств /dev/zram :

options zram num_devices=2
ACTION=="add", KERNEL=="zram1", ATTR="zstd", ATTR="512M", RUN="/usr/bin/mkswap -U clear /dev/%k", TAG+="systemd"

Добавьте /dev/zram в ваш fstab.

/dev/zram0 none swap defaults 0 0 /dev/zram1 none swap defaults 0 0
  • This page was last edited on 29 March 2023, at 05:21.
  • Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.
  • Privacy policy
  • About ArchWiki
  • Disclaimers

Источник

Оцените статью
Adblock
detector