Como limitar o tempo e o uso da memória dos processos no Linux
- 1475
- 21
- Leroy Lebsack
O tempo esgotado O script é um programa útil de monitoramento de recursos para limitar o tempo e o consumo de memória de processos no Linux. Ele permite que você execute programas sob controle e faça cumprir os limites de tempo e memória, encerrando o programa após a violação desses parâmetros.
Nenhuma instalação necessária, basta executar um comando junto com seus argumentos usando tempo esgotado programa e monitorará a memória e o consumo de tempo do comando, interrompendo o processo se ele sair dos limites e notificar você com a mensagem predefinida.
Para executar este script, você deve ter Perl 5 Instalado no seu sistema Linux e o sistema de arquivos /Proc montado.
Para verificar a versão instalada de Perl No seu sistema Linux, execute o seguinte comando.
$ perl -vVerifique a versão perl no Linux
Em seguida, clone o tempo esgotado repositório para o seu sistema usando o comando git e depois mova -se para o repositório local usando o comando CD e invocará como um comando linux usual.
$ cd ~/bin $ git clone https: // github.com/pshved/timeout.Git $ CD Timeout
Vamos agora ver como tempo esgotado Script funciona.
Limitação básica da memória (100m de memória virtual):
Este primeiro exemplo mostra como limitar o uso de memória de um processo a 100m de memória virtual, usando o -m
bandeira. A unidade padrão para memória está em Kilobytes.
Aqui, o comando estresse-ng executa 4 estressores virtuais de memória (VMS) que se combinam para usar 40% da memória disponível por 10 minutos. Assim, cada um estressor usos 10% da memória disponível.
$ ./Timeout -M 100000 Stress -Ng --vm 4 --vm -bytes 40% -t 10mLimitando a memória do processo
Considerando a saída do tempo esgotado comando acima, o estresse-ng Os processos dos trabalhadores foram encerrados após apenas 1.16 segundos. Isso ocorre porque o consumo combinado de memória do Vm (438660 Kilobytes) é maior que o uso de memória virtual permitida para estresse-ng e seus processos infantis.
Limitação básica de tempo do processo:
Para permitir a limitação do tempo do processo, use o -t
bandeira como mostrado.
$ ./Timeout -t 4 estresse -ng --vm 4 --vm -bytes 40% -t 10mLimitação de tempo do processo
No exemplo acima, quando o estresse-ng CPU+sys O tempo excede o valor definido de 4, Os processos do trabalhador são mortos.
Limitando o tempo e a memória do processo
Você também pode limitar os dois memória e tempo imediatamente o seguinte.
$ ./Timeout -t 4 -m 100000 estresse -ng --vm 4 --vm -bytes 40% -t 10m
O tempo limite também suporta algumas opções avançadas, como --Detect-hangus
, o que permite a detecção de espera.
$ ./Timeout-Detect-hangus -m 100000 estresse-ng --vm 4 --vm-bytes 40% -t 10m
Você pode monitorar RSS (Tamanho do conjunto residente) limite de memória usando o --Memlimit-rss
ou -s
trocar.
$ ./Timeout -M 100000 -S Stress -Ng --vm 4 --vm -bytes 40% -t 10m
Além disso, para retornar o código de saída ou sinal+128 de um processo, use o --confessar
ou -c
opção como mostrado.
$ ./Timeout -M 100000 -C Stress -Ng --vm 4 --vm -bytes 40% -t 10m
Para obter mais informações e exemplo, consulte o tempo esgotado Repositório do Github: https: // github.com/pshved/timeout.
Você também pode encontrar esses seguintes artigos relacionados igualmente úteis:
- Como encontrar os 15 principais processos por uso de memória com 'top' no modo em lote
- CPUTOOL - Limite e controle da utilização da CPU de qualquer processo no Linux
- Como limitar o uso da CPU de um processo no Linux com a ferramenta CPULIMIT
O tempo esgotado O script é um programa simples de monitoramento de recursos que restringe essencialmente o consumo de tempo e memória de processos no Linux. Você pode nos dar feedback sobre o tempo esgotado script através do formulário de comentário abaixo.
- « Configurando o Bind como um servidor DNS privado no RHEL 8
- Instale o OpenNMS Network Monitoring em Debian e Ubuntu »