44.5.2. Modificação de grupos de controle versão 1 com systemd
Cada unidade persistente é supervisionada pelo gerente de sistema e serviços systemd
, e tem um arquivo de configuração da unidade no diretório /usr/lib/systemd/system/
. Para alterar as configurações de controle de recursos das unidades persistentes, modifique seu arquivo de configuração de unidade manualmente em um editor de texto ou a partir da interface de linha de comando.
44.5.2.1. Configuração das configurações de controle de recursos de memória na linha de comando Copiar o linkLink copiado para a área de transferência!
A execução de comandos na interface de linha de comando é uma das formas de estabelecer limites, priorizar ou controlar o acesso aos recursos de hardware para grupos de processos.
Procedimento
Para limitar o uso de memória de um serviço, execute o seguinte:
systemctl set-property example.service MemoryLimit=1500K
# systemctl set-property example.service MemoryLimit=1500K
Copy to Clipboard Copied! Toggle word wrap Toggle overflow O comando atribui instantaneamente o limite de memória de 1.500 kilobytes aos processos executados em um grupo de controle ao qual o serviço
example.service
pertence. O parâmetroMemoryLimit
, nesta variante de configuração, é definido no arquivo/etc/systemd/system.control/example.service.d/50-MemoryLimit.conf
e controla o valor do arquivo/sys/fs/cgroup/memory/system.slice/example.service/memory.limit_in_bytes
.Opcionalmente, para limitar temporariamente o uso de memória de um serviço, executar:
systemctl set-property --runtime example.service MemoryLimit=1500K
# systemctl set-property --runtime example.service MemoryLimit=1500K
Copy to Clipboard Copied! Toggle word wrap Toggle overflow O comando atribui instantaneamente o limite de memória ao serviço
example.service
. O parâmetroMemoryLimit
é definido até a próxima reinicialização no arquivo/run/systemd/system.control/example.service.d/50-MemoryLimit.conf
. Com uma reinicialização, todo o diretório/run/systemd/system.control/
eMemoryLimit
são removidos.
O arquivo 50-MemoryLimit.conf
armazena o limite de memória como um múltiplo de 4096 bytes - um tamanho de página de kernel específico para AMD64 e Intel 64. O número real de bytes depende de uma arquitetura de CPU.
Recursos adicionais
- Para mais informações sobre o conceito de grupos de controle, veja Seção 44.1, “Entendendo os grupos de controle”.
-
Para mais informações sobre controladores de recursos, consulte Seção 44.2, “O que são controladores de recursos do kernel” e
systemd.resource-control(5)
,cgroups(7)
páginas do manual. -
Para mais informações sobre o papel do
systemd
nos grupos de controle, veja Seção 44.4, “Papel do sistemad em grupos de controle versão 1”.