44.5.2.2. Configuração das configurações de controle de recursos de memória com arquivos de unidade
A modificação manual dos arquivos da unidade é 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, modifique o arquivo
/usr/lib/systemd/system/example.service
como segue:… [Service] MemoryLimit=1500K …
A configuração acima coloca um limite ao consumo máximo de memória dos processos executados em um grupo de controle, do qual faz parte
example.service
.NotaUse os sufixos K, M, G ou T para identificar Kilobyte, Megabyte, Gigabyte ou Terabyte como uma unidade de medida.
Recarregar todos os arquivos de configuração da unidade:
# systemctl daemon-reload
Reinicie o serviço:
# systemctl restart example.service
- Reinicie o sistema.
Opcionalmente, verifique se as mudanças entraram em vigor:
# cat /sys/fs/cgroup/memory/system.slice/example.service/memory.limit_in_bytes 1536000
O exemplo mostra que o consumo de memória foi limitado em cerca de 1.500 Kilobytes.
NotaO arquivo
memory.limit_in_bytes
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
systemd
, arquivos de configuração de unidades e suas localizações, bem como uma lista completa desystemd
tipos de unidades, consulte as seções relevantes em Configuring basic system settings. -
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”.