Script de captura de CPU e Memória com cálculo errado [RESOLVIDO]

1. Script de captura de CPU e Memória com cálculo errado [RESOLVIDO]

Eli Rodrigues
elibotafoguense

(usa Arch Linux)

Enviado em 19/08/2021 - 01:06h

Boa noite amigos,
Estou usando dois arquivos shell script para monitorar CPU e Memória do computador, tráta-se de um experimento que estou fazendo com ataques de negação de serviço em uma rede virtualizada com o Mininet, então utilizo esses dois scripts para pegar o uso da CPU e Memória durante esse ataque e verificar o impácto que causa. Então percebi que nos resultados tanto da memória como da CPU, algumas vezes ultrapassam a casa dos 100% o que não deveria. Por isso, peço ajuda aos amigos que deêm uma olhada no código se há algum erro que possa ser corrigido. Desde já agradeço se puderem ajudar.

Esse aqui é o código que pega a CPU:
 #!/bin/bash
top -b -n1 | awk {'print $9'} | tail -n +8 | sed s/,/./g > temp
SOMA=0
for XXX in $(cat temp)
do
SOMA=$(echo "scale=2; ($SOMA+$XXX)" | bc)
done
echo $SOMA


Esse Outro é o que pega a memória RAM:
#!/bin/bash
top -b -n1 | awk {'print $10'} | tail -n +8 | sed s/,/./g > temp
SOMA=0
for XXX in $(cat temp)
do
SOMA=$(echo "scale=2; ($SOMA+$XXX)" | bc)
done
echo $SOMA





  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 19/08/2021 - 03:04h

elibotafoguense escreveu:

Boa noite amigos,
Estou usando dois arquivos shell script para monitorar CPU e Memória do computador, tráta-se de um experimento que estou fazendo com ataques de negação de serviço em uma rede virtualizada com o Mininet, então utilizo esses dois scripts para pegar o uso da CPU e Memória durante esse ataque e verificar o impácto que causa. Então percebi que nos resultados tanto da memória como da CPU, algumas vezes ultrapassam a casa dos 100% o que não deveria. Por isso, peço ajuda aos amigos que deêm uma olhada no código se há algum erro que possa ser corrigido. Desde já agradeço se puderem ajudar.

Esse aqui é o código que pega a CPU:
 #!/bin/bash
top -b -n1 | awk {'print $9'} | tail -n +8 | sed s/,/./g > temp
SOMA=0
for XXX in $(cat temp)
do
SOMA=$(echo "scale=2; ($SOMA+$XXX)" | bc)
done
echo $SOMA


Esse Outro é o que pega a memória RAM:
#!/bin/bash
top -b -n1 | awk {'print $10'} | tail -n +8 | sed s/,/./g > temp
SOMA=0
for XXX in $(cat temp)
do
SOMA=$(echo "scale=2; ($SOMA+$XXX)" | bc)
done
echo $SOMA



Bom dia!
Segue sugestão, Soma uso de memória e Cpu:
ps -eo %mem,%cpu|awk "{mem+=\$1;cpu+=\$2;} END {printf \"$(printf " %(%F:%R)T")\n CPU:%s%%\n MEM:%s%%\n\" ,cpu,mem}" 


Com o inxi, liste quem consome mais memória e cpu:
inxi -t mc10 #10, lista "os top 10"

______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p',
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:

Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.


______________________________________________________________________


3. Re: Script de captura de CPU e Memória com cálculo errado [RESOLVIDO]

Eli Rodrigues
elibotafoguense

(usa Arch Linux)

Enviado em 20/08/2021 - 03:19h

Muito Obrigado pela ajuda, o scripit funcionou perfeitamente, fiz os testes e retornou o esperado. Apenas uma linha do código que eu não soube como utilizar, porém o restante já resolveu o meu problema.Grato!
No caso essa aqui:
inxi -t mc10 #10


4. Re: Script de captura de CPU e Memória com cálculo errado [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 20/08/2021 - 14:32h


elibotafoguense escreveu:

Muito Obrigado pela ajuda, o scripit funcionou perfeitamente, fiz os testes e retornou o esperado.
Apenas uma linha do código que eu não soube como utilizar, porém o restante já resolveu o meu problema.Grato!
No caso essa aqui:
inxi -t mc10 #10

Boa tarde Eli.
Qual erro apresentou?
Note que "#10" está comentado, quis informar que esse numero pode variar, depende de quantas linhas quer na saída....

______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p',
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:

Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.


______________________________________________________________________



5. Re: Script de captura de CPU e Memória com cálculo errado [RESOLVIDO]

Eli Rodrigues
elibotafoguense

(usa Arch Linux)

Enviado em 20/08/2021 - 16:26h


Na verdade não apresentou erro, simplesmente fiquei sem saber como usá-lo no código. Devo criar um único arquivo shell script com esse comando?


6. Re: Script de captura de CPU e Memória com cálculo errado [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 20/08/2021 - 17:50h


elibotafoguense escreveu:


Na verdade não apresentou erro, simplesmente fiquei sem saber como usá-lo no código.
Devo criar um único arquivo shell script com esse comando?

Use somente este comando:
ps -eo %mem,%cpu|awk "{mem+=\$1;cpu+=\$2;} END {printf \"$(printf " %(%F:%R)T")\n CPU:%s%%\n MEM:%s%%\n\" ,cpu,mem}"

É interessante direcionar a saída para um arquivo.....
Exemplo:
#!/usr/bin/env bash
ps -eo %mem,%cpu|awk "{mem+=\$1;cpu+=\$2;} END {printf \"$(printf " %(%F:%R)T")\n CPU:%s%%\n MEM:%s%%\n\" ,cpu,mem}" >> CPU_MEM.txt


saída do inxi
inxi -t mc5
Processes: CPU top: 5
1: cpu: 27.7% command: chrome pid: 31561
2: cpu: 3.6% command: chrome pid: 22789
3: cpu: 3.3% command: xorg pid: 1229
4: cpu: 3.2% command: chrome pid: 22747
5: cpu: 1.8% command: chrome pid: 26007
System RAM: total: 5.64 GiB used: 994.6 MiB (17.2%)
Memory top: 5
1: mem: 281.4 MiB (4.8%) command: chrome pid: 22747
2: mem: 204.5 MiB (3.5%) command: chrome pid: 26007
3: mem: 165.9 MiB (2.8%) command: chrome pid: 31561
4: mem: 140.2 MiB (2.4%) command: chrome pid: 24632
5: mem: 124.0 MiB (2.1%) command: chrome pid: 26013

______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts