Repolode
shirou

shirou/gopsutil

Un port de psutil a Go para consultar información del sistema, como estadísticas de CPU, memoria, disco, red y procesos en distintas plataformas.

Estrellas
11,938
Forks
1,691
Issues abiertos
219
Último commit
anteayer

¿Qué es?

gopsutil es una biblioteca de Go que ofrece métricas del sistema e información de procesos a través de una sola API, siguiendo el modelo de la biblioteca Python psutil. Permite que los programas de Go consulten tiempos y uso de CPU, memoria virtual y swap, particiones y uso de disco, contadores de E/S de red, conexiones, información del host y del arranque, usuarios y detalles por proceso, como memoria, CPU y archivos abiertos.

La biblioteca es compatible con Linux, FreeBSD, OpenBSD, macOS (Darwin), Windows y Solaris en varias arquitecturas, y ofrece compatibilidad parcial con DragonFly BSD y Linux RISC-V. Está implementada sin cgo mediante la adaptación a Go de las estructuras C pertinentes, por lo que puede compilarse y compilarse de forma cruzada con la cadena de herramientas estándar. Los detalles específicos de cada plataforma están disponibles mediante estructuras `Ex`, como `ExLinux` y `ExWindows`.

El proyecto usa versionado basado en calendario (vMAJOR.YY.MM) y requiere Go 1.18 o posterior. Incluye varias utilidades exclusivas de Linux para consultar estadísticas de CPU y memoria de cgroups de contenedores Docker, así como contadores de conntrack de netfilter. Las rutas de directorios, como /proc y /sys, se pueden redirigir mediante variables de entorno o un valor de contexto.

Funciones clave

  • 01Métricas multiplataforma de CPU, memoria, disco y red a través de una sola API de Go
  • 02Información por proceso, como memoria, CPU, archivos abiertos y conexiones
  • 03Sin dependencia de cgo; las estructuras C están adaptadas a Go
  • 04Funciones adicionales específicas de cada plataforma mediante estructuras Ex, como ExLinux y ExWindows
  • 05Rutas del sistema configurables para contenedores o puntos de montaje alternativos

Casos de uso

  • Crear agentes de monitoreo o exporters que reporten métricas del host en Go
  • Escribir herramientas CLI que muestren el estado del sistema en Linux, macOS y Windows
  • Recopilar el uso de recursos por proceso para diagnósticos o dashboards
  • Consultar estadísticas de cgroups de contenedores Docker desde un host Linux

Inicio rápido

  1. 1

    Instala la biblioteca en tu módulo de Go

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

    Importa un paquete como mem y consulta las estadísticas de memoria del sistema en tu código

Antes de usarlo

  • Se requiere Go 1.18 o posterior.
  • La compatibilidad varía según la plataforma; algunas funciones son parciales o no funcionan correctamente en determinados sistemas operativos.

Temas

Preguntas frecuentes

¿Qué es gopsutil?
Un port de psutil a Go para consultar información del sistema, como estadísticas de CPU, memoria, disco, red y procesos en distintas plataformas. gopsutil es una biblioteca de Go que ofrece métricas del sistema e información de procesos a través de una sola API, siguiendo el modelo de la biblioteca Python psutil. Permite que los programas de Go consulten tiempos y uso de CPU, memoria virtual y swap, particiones y uso de disco, contadores de E/S de red, conexiones, información del host y del arranque, usuarios y detalles por proceso, como memoria, CPU y archivos abiertos.
¿gopsutil es gratuito? ¿Qué licencia tiene?
gopsutil es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿gopsutil sigue mantenido?
Mantenimiento activo. El último commit de gopsutil fue el 5 nov 2026.
¿Para qué puedo usar gopsutil?
Crear agentes de monitoreo o exporters que reporten métricas del host en Go Escribir herramientas CLI que muestren el estado del sistema en Linux, macOS y Windows Recopilar el uso de recursos por proceso para diagnósticos o dashboards Consultar estadísticas de cgroups de contenedores Docker desde un host Linux
¿Cómo se instala gopsutil?
Instala la biblioteca en tu módulo de Go: go get github.com/shirou/gopsutil/v4 Importa un paquete como mem y consulta las estadísticas de memoria del sistema en tu código
¿Dónde consigo gopsutil?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/shirou/gopsutil

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados