Como Obter Informações do Sistema (Uso de CPU, RAM e Disco) em Python
Como Obter Informações do Sistema (Uso de CPU, RAM e Disco) em Python
A biblioteca
psutil (python system and process utilities) permite monitorar o consumo de recursos de hardware do computador e processos em execução. Com poucas linhas de código, é possível coletar métricas detalhadas sobre o uso de CPU, memória RAM e espaço em disco em tempo real. Essa solução é ideal para a criação de rotinas de monitoramento, dashboards internos, alertas de infraestrutura ou scripts de diagnóstico automatizado.Python
import psutil
def monitorar_recursos_sistema():
# -------------------------------------------------------------------------
# 1. Métricas da CPU
# -------------------------------------------------------------------------
# Quantidade de núcleos físicos e lógicos
nucleos_fisicos = psutil.cpu_count(logical=False)
nucleos_logicos = psutil.cpu_count(logical=True)
# Porcentagem total de uso da CPU (interval=1 aguarda 1 segundo para medir a taxa)
uso_cpu_pct = psutil.cpu_percent(interval=1)
# -------------------------------------------------------------------------
# 2. Métricas de Memória RAM
# -------------------------------------------------------------------------
memoria = psutil.virtual_memory()
# Converte bytes para Gigabytes (GB)
total_ram_gb = memoria.total / (1024 ** 3)
usada_ram_gb = memoria.used / (1024 ** 3)
uso_ram_pct = memoria.percent
# -------------------------------------------------------------------------
# 3. Métricas de Armazenamento (Disco Principal)
# -------------------------------------------------------------------------
# No Windows utilize 'C:\\', no Linux/macOS utilize '/'
disco = psutil.disk_usage('/')
total_disco_gb = disco.total / (1024 ** 3)
livre_disco_gb = disco.free / (1024 ** 3)
uso_disco_pct = disco.percent
# -------------------------------------------------------------------------
# Exibição do Relatório no Console
# -------------------------------------------------------------------------
print("=== RELATÓRIO DO SISTEMA ===")
print(f"CPU: {uso_cpu_pct}% de uso | Núcleos: {nucleos_fisicos} físicos / {nucleos_logicos} lógicos")
print(f"RAM: {usada_ram_gb:.2f} GB de {total_ram_gb:.2f} GB usados ({uso_ram_pct}%)")
print(f"Disco: {livre_disco_gb:.2f} GB livres de {total_disco_gb:.2f} GB total ({uso_disco_pct}% usado)")
# Exemplo prático de execução
if __name__ == "__main__":
monitorar_recursos_sistema()
- Instalação do Pacote: O módulo não é nativo do Python e deve ser instalado via terminal executando
pip install psutil. - Uso do Parâmetro
intervalemcpu_percent(): Definirinterval=1(ou outro valor em segundos) é essencial para medir a variação do uso da CPU ao longo desse tempo. Sem o parâmetro, a função retorna0.0ou uma métrica instantânea imprecisa desde a inicialização do módulo. - Conversão de Bytes para Gigabytes: As funções de memória e disco retornam os valores brutos em bytes. A divisão por
(1024 ** 3)ou1024**3converte a medição para Gigabytes (GB). - Multiplataforma Nativa: O
psutilabstrai chamadas de sistema complexas e funciona identicamente em Windows, Linux e macOS, sendo ideal para scripts de automação cross-platform.

Comentários
Postar um comentário