Consumo de memória por processo
Publicado por Leonardo Berbert Gomes (última atualização em 03/07/2020)
[ Hits: 4.487 ]
Homepage: https://www.linkedin.com/in/leoberbert
Script simples que tem como objetivo verificar o consumo de memória dos processos.
Alterar a variável "file = open(home_dir + "/scripts/.Config", "r")" para o caminho onde encontra-se seu arquivo de configuração contendo os nomes dos processos que deseja-se monitorar:
Ex.:
cat .Config
logstash
metricbeat
elasticsearch
kibana
check_process.py
====================================================================================================
Process Status
====================================================================================================
PROCESS: logstash PID: 19133 MEMORY % : 18.59 STARTED: 2020-06-11 15:49:34
PROCESS: metricbeat PID: 65954 MEMORY % : 0.06 STARTED: 2020-05-26 17:20:14
PROCESS: elasticsearch PID: 11989 MEMORY % : 40.73 STARTED: 2020-05-03 23:00:04
PROCESS: kibana PID: 109232 MEMORY % : 0.55 STARTED: 2020-06-18 15:56:20
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import psutil
import re
import os
from datetime import datetime, timedelta
rows, columns = os.popen('stty size', 'r').read().split()
os.system('clear')
home_dir = os.environ["HOME"]
def memory_usage_psutil(pid):
process = psutil.Process(pid)
mem = process.memory_percent()
return mem
try:
print("{:=^100}".format("="))
print("{:^90}".format("Process Status"))
print("{:=^100}".format("="))
file = open(home_dir + "/scripts/.Config", "r")
for line in file:
line = line.rstrip()
pattern = '(.*' + line + '.*)'
for proc in psutil.process_iter():
cmdline = str(proc.cmdline())
proc = str(proc)
splited_proc = proc.split("=")
pid = splited_proc[1]
pid = pid.replace(', name', '')
mem = (memory_usage_psutil(int(pid)))
mem = round(mem, 2)
started = splited_proc[3]
started = started.replace('\'', '')
started = started.replace(')', '')
result = re.match(pattern, cmdline)
if result:
print("{:<29}".format("PROCESS: " + line) + "{:<15}".format("PID: " + pid) + "{:<20}".format("MEMORY % : " + str(mem)) + "{:<20}".format(" STARTED: " + started))
except IOError:
print ("Error: The configuration file does not exist.")
exit(0)
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
É normal não gostar de KDE? (12)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









