Repolode
shirou

shirou/gopsutil

Port do psutil para Go que consulta informações do sistema, como estatísticas de CPU, memória, disco, rede e processos em várias plataformas.

Estrelas
11,938
Forks
1,691
Issues abertas
219
Último commit
anteontem

O que é?

gopsutil é uma biblioteca Go que expõe métricas do sistema e informações de processos por meio de uma única API, inspirada na biblioteca Python psutil. Ela permite que programas Go consultem tempos e uso de CPU, memória virtual e swap, partições e uso de disco, contadores de I/O de rede, conexões, informações do host e de inicialização, usuários e detalhes por processo, como memória, CPU e arquivos abertos.

A biblioteca oferece suporte a Linux, FreeBSD, OpenBSD, macOS (Darwin), Windows e Solaris em várias arquiteturas, além de suporte parcial a DragonFly BSD e Linux RISC-V. Ela é implementada sem cgo, portando para Go as estruturas C relevantes, o que permite compilá-la e fazer cross-compilation com a toolchain padrão. Detalhes específicos de cada plataforma estão disponíveis por meio de structs `Ex`, como `ExLinux` e `ExWindows`.

O projeto usa versionamento baseado em calendário (vMAJOR.YY.MM) e requer Go 1.18 ou posterior. Há também vários helpers exclusivos para Linux que consultam estatísticas de CPU e memória de cgroups de containers Docker e contadores de conntrack do netfilter. É possível redirecionar caminhos de diretório como /proc e /sys usando variáveis de ambiente ou um valor de contexto.

Recursos principais

  • 01Métricas multiplataforma de CPU, memória, disco e rede por meio de uma única API Go
  • 02Informações por processo, como memória, CPU, arquivos abertos e conexões
  • 03Sem dependência de cgo; estruturas C portadas para Go
  • 04Recursos adicionais específicos de cada plataforma por meio de structs `Ex`, como `ExLinux` e `ExWindows`
  • 05Caminhos do sistema configuráveis para containers ou pontos de montagem alternativos

Casos de uso

  • Criar agentes de monitoramento ou exporters que reportam métricas do host em Go
  • Desenvolver ferramentas CLI que exibem o estado do sistema em Linux, macOS e Windows
  • Coletar o uso de recursos por processo para diagnósticos ou dashboards
  • Consultar estatísticas de cgroups de containers Docker em um host Linux

Início rápido

  1. 1

    Instale a biblioteca no seu módulo Go

    go get github.com/shirou/gopsutil/v4
  2. 2

    Importe um pacote como mem e leia as estatísticas de memória do sistema no seu código

Antes de usar

  • Requer Go 1.18 ou superior.
  • O suporte varia conforme a plataforma; algumas funções são parciais ou não funcionam corretamente em determinados sistemas operacionais.

Tópicos

Perguntas frequentes

O que é gopsutil?
Port do psutil para Go que consulta informações do sistema, como estatísticas de CPU, memória, disco, rede e processos em várias plataformas. gopsutil é uma biblioteca Go que expõe métricas do sistema e informações de processos por meio de uma única API, inspirada na biblioteca Python psutil. Ela permite que programas Go consultem tempos e uso de CPU, memória virtual e swap, partições e uso de disco, contadores de I/O de rede, conexões, informações do host e de inicialização, usuários e detalhes por processo, como memória, CPU e arquivos abertos.
gopsutil é gratuito? Qual é a licença?
gopsutil é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
gopsutil ainda é mantido?
Manutenção ativa. O último commit de gopsutil foi em 5 de nov. de 2026.
Para que posso usar gopsutil?
Criar agentes de monitoramento ou exporters que reportam métricas do host em Go Desenvolver ferramentas CLI que exibem o estado do sistema em Linux, macOS e Windows Coletar o uso de recursos por processo para diagnósticos ou dashboards Consultar estatísticas de cgroups de containers Docker em um host Linux
Como instalar gopsutil?
Instale a biblioteca no seu módulo Go: go get github.com/shirou/gopsutil/v4 Importe um pacote como mem e leia as estatísticas de memória do sistema no seu código
Onde consigo gopsutil?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/shirou/gopsutil

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados