Exercício Prático LPIC 09

Publicado por Wagner Souza em 27/03/2015

[ Hits: 3.660 ]

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

Erro ao formatar partições EXT4 no OpenSUSE [Resolvido]

Servidor Proxy para uso do APT e ZYPPER - Configuração

Exercício Prático LPIC 08

Exercício Prático LPIC 02

Trabalhando com datas no LibreOffice

Leitura recomendada

Instalando BlueJ (IDE Java) no Linux

Furius Mount: Montando ISO, NRG, IMG e outros formatos no Linux

Reproduzir arquivos MP3 no Python

Instalação do MySQL no Fedora Linux

Escolhendo o melhor servidor de atualização do Ubuntu

  

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