Limitando RAM para um grupo de usuários no Ubuntu Machine

0

Eu tenho um sistema baseado em gpu. Múltiplos usuários usam o sistema e, como resultado, a memória RAM é frequentemente utilizada sem deixar memória para mim. Eu quero colocar um limite máximo de RAM em todos os usuários, exceto para mim. Eu tentei o seguinte:

  1. Crie um grupo no Ubuntu usando groupadd .
    Usou cgroups para criar um grupo memlimit no Ubuntu conforme 3.1 ponto em tutorial

    Problema : aparentemente, cgcreate é incapaz de buscar o UID do grupo que eu criei.

  2. Seguiu esta answer : < br> Criado um grupo groupname no Ubuntu usando groupadd .
    Criado um grupo memlimit in /etc/cgconfig.conf .
    Atualizou o /etc/cgrules.conf com @groupname memory memlimit/ .
    Finalmente correu sudo cgrulesengd

    Problema : não há erros, mas o limite de memória não funciona.

por user3619023 16.05.2018 / 19:27

1 resposta

0

Se o cgroup unificado ( cgroup versão 2) é aceitável e você tem a senha do administrador, as seguintes etapas devem funcionar no Ubuntu 18.04 (não tenho certeza de versões mais antigas do Ubuntu):

  1. Adicione systemd.unified_cgroup_hierarchy=1 a GRUB_CMDLINE_LINUX_DEFAULT em /etc/default/grub , execute update-grub .
  2. Faça o seguinte /etc/systemd/system/user.slice.d/allmemory.conf

[Slice] MemoryHigh=32G

  1. Reinicie o Linux. Em seguida, o consumo de memória de todos os usuários, incluindo você, é limitado a 32 GB. Para escapar dessa limitação, inicie outro shell por systemd-run --scope /bin/bash . O novo shell bash pertence a outro cgroup e não é controlado pelo controle de memória.
por 17.07.2018 / 00:52