-
Notifications
You must be signed in to change notification settings - Fork 3
/
memavaild.8
77 lines (77 loc) · 2.35 KB
/
memavaild.8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
.\" Automatically generated by Pandoc 1.17.2
.\"
.TH "memavaild" "8" "" "" "Linux System Administrator\[aq]s Manual"
.hy
.SH NAME
.PP
\f[C]memavaild\f[] \- Daemon that keeps amount of available memory
.SH SYNOPSIS
.PP
\f[B]memavaild\f[] [\f[B]OPTION\f[]]...
.SH DESCRIPTION
.PP
\f[C]memavaild\f[] is a daemon that tries to keep amount of available
memory to improve system responsiveness during heavy swapping.
.PP
Default behavior: the control groups specified in the config
(\f[C]user.slice\f[] and \f[C]system.slice\f[]) are swapped out when
MemAvailable is low by reducing \f[C]memory.high\f[] (values change
dynamically).
memavaild tries to keep about 3% available memory.
.PP
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.
.SH COMMAND\-LINE OPTIONS
.SS \-c CONFIG
.PP
path to the config file
.SH REQUIREMENTS
.IP \[bu] 2
Python (>= 3.3)
.IP \[bu] 2
systemd with unified cgroup hierarchy
.SH Known problems
.IP \[bu] 2
The documentation is terrible (no config keys description, for example);
.IP \[bu] 2
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 <https://github.com/openzfs/zfs/issues/10255>).
Don\[aq]t use \f[C]memavaild\f[] with ZFS;
.IP \[bu] 2
Seems like \f[C]memavaild\f[] violates the second
rule (https://systemd.io/CGROUP_DELEGATION/): \f[C]memavaild\f[]
manipulates the attributes of cgroups created by systemd
(\f[C]memavaild\f[] changes \f[C]memory.high\f[] values).
.SH FILES
.SS :SYSCONFDIR:/memavaild.conf
.PP
path to configuration file
.SS :DATADIR:/memavaild/memavaild.conf
.PP
path to file with \f[I]default\f[] \f[C]memavaild.conf\f[] values
.SH RESTORE DEFAULT CONFIG
.PP
To resore config file with default values execute
.IP
.nf
\f[C]
sudo\ cp\ :DATADIR:/memavaild/memavaild.conf\ :SYSCONFDIR:/memavaild.conf
\f[]
.fi
.SH HOW TO CONFIGURE
.PP
Edit the config and restart the service.
.SH REPORTING BUGS
.PP
Feel free to ask any questions and report bugs at
<https://github.com/hakavlad/memavaild/issues>.
.SH AUTHOR
.PP
Written by Alexey Avramov <[email protected]>.
.SH HOMEPAGE
.PP
Homepage is <https://github.com/hakavlad/memavaild>.