Exercício Prático LPIC 09

Publicado por Wagner Souza em 27/03/2015

[ Hits: 3.661 ]

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 12

Navegação anônima

Exercício Prático LPIC 05

Shell Script nosso de cada dia - Episódio 4

Exercício Prático LPIC 03

Leitura recomendada

A arquitetura OSI de segurança

Squid com autenticação

Instalação modem Claro 3G e2266 no Linux

Instalando e configurando o discador ppoe rp-pppoe-3.8 no Kubuntu Linux

Gimp - Erro: Execution error for 'Screenshot' [Resolvido]

  

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