# shirou/gopsutil

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/shirou-gopsutil).**

11,866 stars · 1,672 forks · Go · NOASSERTION

## Links

- GitHub: https://github.com/shirou/gopsutil
- awesome-repositories: https://awesome-repositories.com/repository/shirou-gopsutil.md

## Topics

`go` `golang` `system-information`

## Description

This library provides a cross-platform toolkit for retrieving system metrics and managing processes. It functions as a unified interface for accessing low-level hardware and operating system data, allowing developers to monitor CPU, memory, disk, and network usage across diverse computing architectures without requiring external dependencies.

The project distinguishes itself through its ability to maintain consistent data structures across different operating systems by parsing native system headers and wrapping low-level system calls. It includes specialized support for containerized environments by allowing developers to override default directory paths and redirect filesystem lookups, ensuring accurate resource reporting even in isolated or non-standard environments.

Beyond basic monitoring, the library offers comprehensive process lifecycle management, enabling the querying, tracking, and control of active system processes. It also incorporates performance-oriented features, such as configurable caching for volatile metrics, which balances data accuracy with retrieval speed. The library is designed to be integrated directly into Go applications to facilitate system-level programming and administrative tasks.

## Tags

### System Administration & Monitoring

- [System Metrics](https://awesome-repositories.com/f/system-administration-monitoring/system-metrics.md) — Retrieves real-time CPU, memory, disk, and network usage statistics from operating systems using Go.
- [Process Managers](https://awesome-repositories.com/f/system-administration-monitoring/process-managers.md) — Provides a comprehensive toolkit for querying, monitoring, and controlling active system processes across different platforms.
- [System Resource Monitors](https://awesome-repositories.com/f/system-administration-monitoring/system-resource-monitors.md) — Retrieves real-time metrics for CPU, memory, disks, and network usage across multiple operating systems. ([source](https://github.com/shirou/gopsutil#readme))
- [System Information Summarizers](https://awesome-repositories.com/f/system-administration-monitoring/environment-information-gatherers/system-information-summarizers.md) — Acts as a provider for low-level hardware and operating system metrics through a unified interface.
- [Process Lifecycle Management](https://awesome-repositories.com/f/system-administration-monitoring/process-lifecycle-management.md) — Enables querying, tracking, and controlling active system processes for resource analysis and administrative tasks.
- [Process Monitors](https://awesome-repositories.com/f/system-administration-monitoring/process-monitors.md) — Queries active processes to retrieve metadata and resource usage while supporting management actions like signaling and termination. ([source](https://github.com/shirou/gopsutil#readme))

### Operating Systems & Systems Programming

- [Operating Systems & Systems Programming](https://awesome-repositories.com/f/operating-systems-systems-programming.md) — Facilitates low-level system programming and hardware interfacing across diverse computing architectures.
- [Virtual Filesystem Schemes](https://awesome-repositories.com/f/operating-systems-systems-programming/virtual-filesystem-schemes.md) — Intercepts system path lookups to provide transparent access to containerized or non-standard directory structures.
- [System Calls](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/system-calls.md) — Wraps native system calls to retrieve low-level process and resource metadata across diverse operating systems.

### Part of an Awesome List

- [General Utilities](https://awesome-repositories.com/f/awesome-lists/more/general-utilities.md) — Library for system and process utilization metrics.

### Software Engineering & Architecture

- [Cross-Platform Abstractions](https://awesome-repositories.com/f/software-engineering-architecture/cross-platform-abstractions.md) — Provides a unified interface for accessing hardware and system-level operations across multiple platforms.

### DevOps & Infrastructure

- [Containerized Environments](https://awesome-repositories.com/f/devops-infrastructure/containerized-environments.md) — Ensures accurate hardware and resource reporting within isolated container environments through filesystem redirection.
