Memory.memsw.limit_in_bytes: Argumento no válido

Memory.memsw.limit_in_bytes: Argumento no válido

Tengo un servidor Debian 10 y estoy intentando limitar la memoria + intercambio de un usuario que usa cgroups2.

El uso memory.limit_in_bytesfunciona bien, pero quiero limitar el uso de memoria+intercambio, memory.memsw.limit_in_bytesque no funciona.

Recibo este error cuando ejecuto 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:~#

Aquí está el grupo:

group group1 {
  memory {
    memory.memsw.limit_in_bytes = 512m;
  }
}

¿Alguna idea de lo que está mal?

EDITAR: Ya habilité la memoria de cgroups y la cuenta de intercambio en el comando GRUB, pero el problema persiste.

Respuesta1

Gracias a @doktor5000 por brindar la respuesta.Limite el uso de memoria para un solo proceso de Linux

Concluí lo siguiente a partir de esa respuesta: memory.limit_in_bytesdebe establecerse antes memory.memsw.limit_in_bytesy memory.memsw.limit_in_bytesdebe ser mayor o igual amemory.limit_in_bytes

Entonces, en mi caso, esta configuración de grupo funcionó:

group group1 {
  memory {
    memory.limit_in_bytes = 512m;
    memory.memsw.limit_in_bytes = 512m;
  }
}

que parece limitar la memoria + intercambio del usuario a 512 MB. lo he probado conhttps://github.com/julman99/eatmemory

información relacionada