Source: stratum-memory
Section: admin
Priority: optional
Maintainer: Stratum Project <stratum@skraba.net>
Build-Depends: debhelper-compat (= 13), golang-any
Standards-Version: 4.7.2
Homepage: https://www.skraba.net/stratum/start
Rules-Requires-Root: no

Package: stratum-memory
Architecture: amd64 arm64
Depends: ${misc:Depends}, stratum-core (>= 0.48), systemd-zram-generator, ksmtuned
Description: Stratum module: memory management (zram, KSM, ballooning)
 Stratum is a functional layer for Debian.
 .
 This module manages the memory of the computer with three techniques,
 chosen by the type of computer (workstation, server, small, hypervisor,
 vm-reactor, vm-guest - each with sensible defaults) and switched one by
 one:
  - compression: zram as the system's swap with Debian's
    systemd-zram-generator - the memory for zram, swappiness, the
    algorithm (zstd or lz4) and disk swap as low-priority reserve (the
    existing one, or a swap file /var/swapfile of at most 4 GB);
  - deduplication: KSM with ksmtuned - equal memory pages of virtual
    machines are kept once (only on a physical host);
  - ballooning: below a limit of free host memory the virtual machines
    (libvirt) give memory back, never below their minimum;
  - recompression: idle pages in zram are compressed again with the
    second algorithm of the kernel, every N minutes (off by default).
 Deduplication and ballooning are on for the types hypervisor and
 vm-reactor. The module recommends the values of a type for this
 computer ("recommend", also as JSON) and applies them in one step
 ("recommended"), so a frontend needs no memory logic of its own.
 Manage it from the stratum menu or with "stratum memory".
