% memavaild(8) | Linux System Administrator's Manual
memavaild
- Daemon that keeps amount of available memory
memavaild [OPTION]...
memavaild
is a daemon that tries to keep amount of available memory to improve system responsiveness during heavy swapping.
Default behavior: the control groups specified in the config (user.slice
and system.slice
) are swapped out when MemAvailable is low by reducing memory.high
(values change dynamically). memavaild tries to keep about 3% available memory.
Effects: tasks are performed at less I/O and memory pressure (and this may be detected by PSI metrics). At the same time, performance may be increased in tasks that requires heavy swapping, especially in I/O bound tasks. Using memavaild has no effect without swap space.
path to the config file
- Python (>= 3.3)
- systemd with unified cgroup hierarchy
- The documentation is terrible (no config keys description, for example);
- The ZFS ARC cache is memory-reclaimable, like the Linux buffer cache. However, in contrast to the buffer cache, it currently does not count to MemAvailable (see openzfs/zfs#10255). Don't use
memavaild
with ZFS; - Seems like
memavaild
violates the second rule:memavaild
manipulates the attributes of cgroups created by systemd (memavaild
changesmemory.high
values).
path to configuration file
path to file with default memavaild.conf
values
To resore config file with default values execute
sudo cp :DATADIR:/memavaild/memavaild.conf :SYSCONFDIR:/memavaild.conf
Edit the config and restart the service.
Feel free to ask any questions and report bugs at https://github.com/hakavlad/memavaild/issues.
Written by Alexey Avramov [email protected].
Homepage is https://github.com/hakavlad/memavaild.