Ich habe einen Debian 10-Server und versuche, den Speicher + Swap eines Benutzers mit cgroups2 zu begrenzen.
Die Verwendung memory.limit_in_bytes
funktioniert einwandfrei, aber ich möchte den Speicher+Swap-Speicher begrenzen, memory.memsw.limit_in_bytes
was nicht funktioniert.
Beim Ausführen wird folgende Fehlermeldung angezeigt cgconfigparser
:
root@server:~# cgconfigparser -l /etc/cgconfig.conf
Error: failed to set /sys/fs/cgroup/memory/group1/memory.memsw.limit_in_bytes: Invalid argument
cgconfigparser; error loading /etc/cgconfig.conf: Failed to remove a non-empty group
root@server:~#
Hier ist die Gruppe:
group group1 {
memory {
memory.memsw.limit_in_bytes = 512m;
}
}
Irgendeine Idee, was nicht stimmt?
BEARBEITEN: Ich habe den Cgroups-Speicher und das Swap-Konto bereits im GRUB-Befehl aktiviert, aber das Problem tritt immer noch auf.
Antwort1
Vielen Dank an @doktor5000 für die AntwortBegrenzen Sie die Speichernutzung für einen einzelnen Linux-Prozess
Aus dieser Antwort habe ich Folgendes geschlossen: memory.limit_in_bytes
muss vor gesetzt werden memory.memsw.limit_in_bytes
und memory.memsw.limit_in_bytes
muss größer oder gleich seinmemory.limit_in_bytes
In meinem Fall hat diese Gruppenkonfiguration funktioniert:
group group1 {
memory {
memory.limit_in_bytes = 512m;
memory.memsw.limit_in_bytes = 512m;
}
}
was den Speicher+Swap des Benutzers auf 512MB zu begrenzen scheint. Ich habe es getestet mithttps://github.com/julman99/eatmemory