Biblioteca Python multiplataforma para consultar informações sobre processos e uso do sistema, como CPU, memória, discos, rede e sensores.
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
Instale a biblioteca no seu módulo Go
go get github.com/shirou/gopsutil/v4 - 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
App de barra de menus para macOS que exibe estatísticas em tempo real de CPU, GPU, memória, disco, rede, bateria, sensores e Bluetooth.
Interface de terminal que exibe gráficos de temperatura, frequência, potência e uso da CPU, com teste de estresse integrado.
Uma ferramenta de linha de comando rápida, no estilo do neofetch, que exibe informações do sistema junto de um logo ASCII personalizável.
htop é um visualizador interativo de processos no terminal para Linux, BSD e macOS, com rolagem, ordenação, filtragem e controle de processos.
Biblioteca .NET para iniciar processos de linha de comando com configuração fluente, redirecionamento de stdin/stdout/stderr e cancelamento assíncrono.