Como defino limites de cgroup para fatias de usuário do systemd?

2

Eu gostaria de limitar o uso de um sistema por usuário. Como o Systemd tem suporte nativo para cgroups, acho que usar fatias de usuário é o caminho a ser seguido.

O problema é: não consigo descobrir como definir limites individuais. Posso editar o arquivo de unidade user.slice para definir limites que se aplicam coletivamente a todas as fatias de usuário, mas não vejo uma maneira de modelar essas fatias de usuário.

Eu posso substituir essas configurações para usuários individuais criando um arquivo de unidade de usuário (uid) .sim, mas eu prefiro aplicar limites por padrão a todos os usuários.

É possível definir limites padrão?

Editar : Depois de cutucar um pouco mais, descobri que os arquivos de unidade para as fatias do usuário são criados em / run / systemd / system /.

[foo@bar Downloads]$ systemctl cat user-1000.slice
# /run/systemd/system/user-1000.slice
# Transient stub

# /run/systemd/system/user-1000.slice.d/50-After-systemd-logind\x2eservice.conf
[Unit]
After=systemd-logind.service
# /run/systemd/system/user-1000.slice.d/50-After-systemd-user-sessions\x2eservice.conf
[Unit]
After=systemd-user-sessions.service
# /run/systemd/system/user-1000.slice.d/50-Description.conf
[Unit]
Description=User Slice of foo
# /run/systemd/system/user-1000.slice.d/50-TasksMax.conf
[Slice]
TasksMax=infinity

Esses arquivos são construídos por este segmento de código no systemd: link

A criação deste arquivo parece ser codificada na origem do systemd e não permite modelos.

    
por Steve F 29.11.2017 / 21:15

1 resposta

0

Isso funcionou para mim no Ubuntu 18.04 :

1) Edite /data/repos/mhservers/etc/pam.d/common-session e adicione:

session  optional  pam_systemd.so

2) Edite /etc/security/limits.d/somename.conf e defina

someuser  soft  nofile  1024000
someuser  hard  nofile  1024000

3) UID de pesquisa usando id -u someuser

4) Execute systemctl restart user@[UID].service

Para verificar que someuser pode executar systemctl --user show somesvr.service | grep NOFILE

    
por 31.10.2018 / 00:17