-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmemoria
66 lines (55 loc) · 3.42 KB
/
memoria
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/bin/bash
#Script para mostrar informações sobre a hierarquia de memória do computador.
#Prof. Filippo Valiante Filho
#https://prof.valiante.info
#Version 1.12
#2024-10-08
#Verificação prévia da configuração de swap
#O cálculo do % da memória principal a partir da qual se inicia o uso do swap é feito com $((100-valorswap))
#Carrega a variável valorswap com o a saída do arquivo que contém o valor de swappiness
valorswap=$(cat /proc/sys/vm/swappiness)
isswap=$(wc -l < /proc/swaps) #verifica se o swap está configurado
#Início das informações
clear
echo -e "\nHierarquia de Memória do computador [$(hostname)]:\n"
#MEMÓRIA CACHE
echo -e "\nMEMÓRIA CACHE\n"
echo -e -n "Microprocessador ["$(lscpu | grep -iE 'nome|name')"] com "$(nproc --all)" CPU(s) e a seguinte configuração de memória cache:\n\n"
lscpu -C --output-all 2> /dev/null || lscpu | grep cache
#O comando lscpu exibe informações sobre o microprocessador
# 2> /dev/null redireciona o canal de saída do erro padrão (stderror) para /dev/null prevenindo a mensagem de erro das versões mais antigas
#MEMÓRIA PRINCIPAL
echo -e "\n\nMEMÓRIA PRINCIPAL\n"
lsmem
echo ""
free -h | head -n2
#O comando free exibe informações sobre a memória principal e virtual
#MEMÓRIA SECUNDÁRIA
echo -e "\n\nMEMÓRIA SECUNDÁRIA\n"
lsblk --output VENDOR,MODEL,STATE,TRAN,NAME,TYPE,SIZE,FSTYPE,MOUNTPOINT,HOTPLUG --exclude 7
#O comando lsblk exibe informações sobre a memória secundária (dispositivos de armaenamento em bloco)
echo -e "\n\nPara ver o uso da memória secundária execute 'df -hT'. Se quiser uma saída mais legível e melhor filtrada, use df -hT | head -n1 && df -hT | grep -iE '/sd|/mnt|/mmc|/sr|/sg|/xvd|/hd|/ssd|/md|/dev/root' para obter:\n"
df -hT | head -n1 && df -hT | grep -iE '/sd|/mnt|/mmc|/sr|/sg|/xvd|/hd|/ssd|/md|/dev/root'
echo -e "\n\nPara ver mais informações sobre seu hardware de memória execute o comando 'lshw' como administrador (sudo lshw). Será mais fácil visualizar as informações executando 'sudo lshw -html > hwinfo.html' e abrindo o arquivo no navegador.\n\n"
#Faz aguardar uma tecla para continuar.
read -r -p "*** Pressione qualquer tecla para ver informações sobre a MEMÓRIA VIRTUAL. ***" -n 1
#O comando read lê o teclado, na configuração utilizada exibe uma mensagem e faz uma pausa até que se pressione qualquer tecla.
#MEMÓRIA VIRTUAL
echo -e "\n\n\nMEMÓRIA VIRTUAL - SWAP"
if [ $isswap -eq 1 ]
then
echo -e -n "\nSwap não configurado!\n"
else
echo -e -n "\nSwap configurado em ["$(cut -c 1-14 < /proc/swaps | tail -n1)"].\n"
#cut é usado para ajustar a quantidade de colunas a serem exibidas do arquivo /proc/swaps
#seguido de tail para ajustar a quantidade de linhas
free -h | head -n1
free -h | grep -i swap
fi
echo -e "\n\nMEMÓRIA VIRTUAL - TOTAL\n"
free -ht | head -n1
free -ht | tail -n1
echo -e "\n\nO espaço de endereçamento está organizado da seguinte forma:\n"
cat /proc/cpuinfo | grep address | head -n1
echo -e "\n\nCaso seu sistema esteja com o swap configurado ele será acionado a partir de [$((100-valorswap))%] de uso da memória principal."
echo -e '\nPara alterar edite como superusuário o arquivo /etc/sysctl.conf e acrescente, ou remova o comentário, da linha vm.swappiness. Por exemplo, vm.swappiness=10 indica que o swap inicia apenas com 90% de uso da memória principal. O valor padrão 60 indica que o swap inicia a partir de 40% de uso da memória principal.\n\n'