Exercício Prático LPIC 09

Publicado por Wagner Souza em 27/03/2015

[ Hits: 3.490 ]

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

Configurando script de inicialização no openSUSE

Exercício Prático LPIC 06

Limitar acesso de mais de um usuário via SSH

Exercício Prático LPIC 11

Exercício Prático LPIC 01

Leitura recomendada

Criando e apagando usuários do sistema Linux

Instalação da placa wireless ENCORE ENLWI-G2 no Ubuntu 10.04 LTS

Como montar um celular Moto G ou Moto E no CentOS usando MTP

Instalação do PHP + MySQL + Apache + PHPMyAdmin e resolvendo problemas

Como trocar chave de segurança entre servidores

  

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