Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Faça como eu fiz. (Aula 4)

  1. Execute o comando free em seu terminal, filtrando a linha sobre o uso de memória e formatando sua saída;
laisvfm@lev:~$ free -h | grep Mem | awk '{print "Total : " $2 ", Usada : " $3 ", Livre: " $4 }'
Total : 7.6Gi, Usada : 469Mi, Livre: 7.2Gi
  1. Crie uma função em seu script de monitorar hardware e adicione a funcionalidade de monitorar o uso de memória RAM, salvando a informação em um arquivo de relatório; 4. Incorpore o comando usado na função de monitorar hardware, salvando as informações no arquivo de relatório; 6. Adicione o comando usado na função de monitorar hardware e salve as informações no relatório.

No exercício 4 foi necessário a instalação do pacote sysstat.
laisvfm@lev:~$ sudo apt install sysstat


function monitorar_hardware() {
echo "$(date)" >> $LOG_DIR/monitoramento_hardware.txt
free -h | grep Mem | awk '{print "Memoria RAM Total : " $2 ", Usada : " $3 ", Livre: " $4 }' >> $LOG_DIR/monitoramento_hardware.txt
top -bn1 | grep "Cpu(s)" | sed "s/.*, ([0-9.])% id./\1/" | awk '{print "Uso da CPU: " 100 - $1 "%"}' >> $LOG_DIR/monitoramento_hardware.txt
echo "Operações de leitura e escrita:" >> $LOG_DIR/monitoramento_hardware.txt
iostat | grep -E "Device|^sda|^sdb|^sdc" | awk '{print $1, $2, $3, $4}' >> $LOG_DIR/monitoramento_hardware.txt
}

Pergunta. A outra forma de fazer seria diretamente no terminal? Tipo assim:

iostat | grep -E "Device|^sda|^sdb|^sdc" | awk '{print $1, $2, $3, $4}' >> relatorio_hardware.txt

Qual a diferença de fazer direto no script e no terminal?

  1. Rode o comando top em seu terminal para obter os dados de CPU. Lembre-se de filtrar e formatar a saída para obter o valor de porcentagem de uso de CPU;
laisvfm@lev:~$ top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print "Uso da CPU: " 100 - $1 "%"}'
Uso da CPU: 2.2%
  1. Rode o comando iostat em seu terminal para extrair dados de leitura e escrita nos dispositivos de armazenamento, formatando a saída do comando;
laisvfm@lev:~$ iostat | grep -E "Device|^sda|^sdb|^sdc" | awk '{print $1, $2, $3, $4}'
Device tps kB_read/s kB_wrtn/s
sda 0.19 12.30 0.00
sdb 0.02 1.28 0.00
sdc 0.02 0.37 0.00
laisvfm@lev:~/monitoramento_sistema$ cat monitoramento_hardware.txt
Total : 7.6Gi, Usada : 466Mi, Livre: 7.1Gi
Memoria RAM Total : 7.6Gi, Usada : 470Mi, Livre: 7.2Gi
Uso da CPU: 0%
Wed Nov  5 09:21:58 -04 2025
Memoria RAM Total : 7.6Gi, Usada : 474Mi, Livre: 7.1Gi
Uso da CPU: 1.2%
Operações de leitura e escrita:
Device tps kB_read/s kB_wrtn/s
sda 0.18 11.36 0.00
sdb 0.02 1.19 0.00
sdc 0.02 0.34 0.00

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta
solução!

Oi, Laís! Como vai?

Agradeço por compartilhar.

Gostei da sua análise e dos testes no terminal e no script. O log mostra RAM, CPU e disco coerentes com a proposta do capítulo de Monitoramento de Hardware. Sobre sua pergunta: executar no terminal grava uma vez e depende de você rodar o comando; colocar no script padroniza, permite agendar, versionar, reutilizar variáveis como $LOG_DIR e registrar várias coletas em sequência.

Siga em frente, seu caminho está sólido.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!