Consumo de memória por processo
Publicado por Leonardo Berbert Gomes (última atualização em 03/07/2020)
[ Hits: 4.248 ]
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)
Script em Python com várias funções matemáticas [iniciante]
Gerador palpite Mega Sena v1.0
Nenhum comentário foi encontrado.
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Instalar debian testing (13) "por cima" do debian 12 (2)
firefox nao guarda meus logins nos sites (0)
Erro de segmentação «Segmentation fault (core dumped)» ao retornar obj... (1)