Exercício Prático LPIC 09

Publicado por Wagner Souza em 27/03/2015

[ Hits: 3.635 ]

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

Exercício Prático LPIC 01

Exercício Prático LPIC 10

Exercício Prático LPIC 06

Instalação e configuração do comando sar no OpenSuSe

Instalação do PopcornTime Community

Leitura recomendada

Instalando o cliente Oracle no Slackware 12 para uso do SQLPLUS

Funções de manipulação de strings

Madwifi - wifi%d: unable to attach hardware

Configurando servidor DHCP3

Ligando no Asterisk via Vono

  

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