memory.memsw.limit_in_bytes: Ungültiges Argument

memory.memsw.limit_in_bytes: Ungültiges Argument

Ich habe einen Debian 10-Server und versuche, den Speicher + Swap eines Benutzers mit cgroups2 zu begrenzen.

Die Verwendung memory.limit_in_bytesfunktioniert einwandfrei, aber ich möchte den Speicher+Swap-Speicher begrenzen, memory.memsw.limit_in_byteswas 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_bytesmuss vor gesetzt werden memory.memsw.limit_in_bytesund memory.memsw.limit_in_bytesmuss 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

verwandte Informationen