systemctl set-property user-1009.slice CPUQuota = 50% Falha ao definir propriedades de unidade em user-1009.slice: Unidade user-1009.slice não está carregado

0

Estou tentando definir limites por usuário em processos, a maioria deles é executada com sudo --user. Por que o usuário-1001 e o usuário-1008 no meu sistema possuem os arquivos de fatia, mas não consigo obtê-lo no 1009?

# systemctl set-property user-1009.slice CPUQuota=50%
Failed to set unit properties on user-1009.slice: Unit user-1009.slice is not loaded.

# systemctl status user-1009.slice
● user-1009.slice
   Loaded: loaded
   Active: inactive (dead)

Eu tentei criar manualmente o arquivo

# touch /etc/systemd/system/user-1009.slice

# systemctl status user-1009.slice
● user-1009.slice
   Loaded: masked (/etc/systemd/system/user-1009.slice; masked; vendor preset: disabled)
   Active: inactive (dead)

# systemctl set-property user-1009.slice CPUQuota=50%
Failed to set unit properties on user-1009.slice: Unit user-1009.slice is not loaded.

Além disso, isso não faz sentido para mim, o processo de teste (PID 26668) mostra no ps -U 1009, mas ele está sendo executado sob a fatia do usuário-1008 (porque o usuário-1008 usava o sudo para executá-lo?)

# ps -U 1009 ; systemctl status user-1008.slice
  PID TTY          TIME CMD
15727 pts/1    00:00:00 bash
26668 ?        00:00:00 testprocess
● user-1008.slice - User Slice of testuser
   Loaded: loaded (/run/systemd/system/user-1008.slice; static; vendor preset: disabled)
  Drop-In: /run/systemd/system/user-1008.slice.d
           └─50-After-systemd-logind\x2eservice.conf, 50-After-systemd-user-sessions\x2eservice.conf, 50-Description.conf, 50-TasksMax.conf
   Active: active since Thu 2018-08-30 19:35:01 EDT; 2 days ago
   CGroup: /user.slice/user-1008.slice
           └─session-1801668.scope
             └─26668 ./testprocess

Pesquisando, tudo o que eu consegui encontrar é pessoas dizendo para se logar como o usuário para consertar isso, mas obviamente o usuário tem processos abertos. E eu tentei usar o su - user1009 em outro terminal, mas isso não pareceu ajudar

    
por die4ever2005 02.09.2018 / 05:54

1 resposta

0

Apenas no caso de alguém precisar de uma solução, em vez de usar apenas o sudo, o sudo systemd-run funcionou para mim

$ sudo systemd-run --uid=1009 --slice=user-1009 sleep 10

# ps -U 1009 ; systemctl status user-1009.slice

PID TTY TIME CMD

20199 ? 00:00:00 sleep

● user-1009.slice

Loaded: loaded

Active: active since Sun 2018-09-02 01:46:57 EDT; 2s ago

CGroup: /user.slice/user-1009.slice

      └─run-20198.service

        └─20199 /bin/sleep 10

link

    
por 02.09.2018 / 09:32