Biblioteca de Python multiplataforma para obtener información sobre procesos y uso del sistema, como CPU, memoria, discos, red y sensores.
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
Instala la biblioteca en tu módulo de Go
go get github.com/shirou/gopsutil/v4 - 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
Una app para la barra de menús de macOS que muestra en tiempo real estadísticas de CPU, GPU, memoria, disco, red, batería, sensores y Bluetooth.
Interfaz de terminal que muestra gráficas de temperatura, frecuencia, consumo y uso de la CPU, e incluye una prueba de estrés integrada.
Una herramienta de línea de comandos rápida, similar a neofetch, que muestra información del sistema junto a un logo ASCII personalizable.
htop es un visor interactivo de procesos para terminal en Linux, BSD y macOS, con desplazamiento, ordenación, filtrado y control de procesos.
Una biblioteca .NET para iniciar procesos de línea de comandos con configuración fluida, conexión de stdin/stdout/stderr y cancelación asíncrona.