Consumo de memória por processo
Publicado por Leonardo Berbert Gomes (última atualização em 03/07/2020)
[ Hits: 4.461 ]
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.
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
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Falha com leitor de digitais no Ubuntu: sugestões? (0)
Problema em SSD ao dar boot LinuxMint LMDE FAYE 64 (1)