Exercício Prático LPIC 09

Publicado por Wagner Souza em 27/03/2015

[ Hits: 3.639 ]

Blog: https://medium.com/@souzaw

 


Exercício Prático LPIC 09



LPIC-1
  • Tópico 103: Comandos GNU/Unix (Peso 26)
  • Tópico 105: Shells, Scripts e administração de dados (10)

Um administrador de sistemas Linux percebeu que um processo está consumindo uma grande quantidade de memória deixando o sistema lento. Ele precisa criar um script que faça uma verificação a cada dez minutos e veja se o consumo de memória, por este processo, é maior ou igual a 1000 MB. Caso satisfaça a essa condição, o mesmo deverá ser finalizado.

SOLUÇÃO

No script abaixo, utilizei como exemplo o Chrome. Substitua pelo aplicativo que desejar.

#!/bin/bash

# A saída do comando ps mostra a quantidade de memória usada em % (porcentagem)

qtd_mem_proc=$(ps -ux 2> /dev/null | grep chrome | cut -d ' ' -f8 | head -n1 | grep [0-9].[0-9])

# Quantidade total de memória que tem o computador

total_mem=$(free -m | grep -i mem | cut -c15-18)

# Essa fórmula vai me dizer a quantidade que o aplicativo chrome está utilizando em MB (MegaBytes)
# lembrando que o comando ps retornou essa quantidade em porcentagem
# O comando tr no final da fórmula é utilizado para retirar o separador de casas decimais gerado pelo
# scale. Deixando assim a visualização do resultado mais interessante

calculo2=$(echo "scale=1;($total_mem*$qtd_mem_proc)/100" | bc -l | cut -c1-3 | tr '.' ' ')


# Aqui estipulei a condição de que quando o processo atingir um valor maio ou igual a 1000MB, o 
# mesmo seja finalizado para não prejudicar o sistema

if [ $calculo2 -ge 1000 ]; then
echo "Memória muito alta"
killall -9 chrome
else
echo "Memória baixa"
fi

# Abaixo mostra o total de memória que o processo estava utilizando

echo $calculo2

# 600 centésimos de segundos equivale a 10 minutos

sleep 600

É isso aí pessoal! Mais um exercício para ajudá-los nas provas. Como sempre, recomendo aprofundar os temas abordados tendo em vista que é apenas uma dica e sendo assim se faz necessário um estudo mais aprofundado para entender o funcionamento dos comandos.

Até o próximo exercício e bons estudos!

Outras dicas deste autor

Google Chrome no Fedora 24

Exercício Prático LPIC 06

Erro de chave pública ao atualizar Chrome no Fedora 22

Guias das Melhores Práticas de Segurança para GNU/Linux

Configurações de rede com o comando ip

Leitura recomendada

O que é samba

Scripts úteis

Apache-Tomcat6 + NetBeans no Ubuntu 10.04 ou Mint Helena 9.0

Conheça o Succi Linux

FreeBSD com Packet Filter

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts