# giampaolo/psutil

**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/giampaolo-psutil).**

11,089 stars · 1,463 forks · Python · bsd-3-clause

## Links

- GitHub: https://github.com/giampaolo/psutil
- awesome-repositories: https://awesome-repositories.com/repository/giampaolo-psutil.md

## Topics

`cpu` `disk` `freebsd` `linux` `memory` `monitoring` `netbsd` `openbsd` `osx` `ps` `psutil` `python` `sensors` `system-monitoring` `top` `windows`

## Description

This library provides a programmatic interface for monitoring system resources and managing process lifecycles. It functions as a cross-platform utility that retrieves real-time metrics on hardware utilization and allows for the inspection and control of running system processes.

The project normalizes disparate operating system data structures into a unified interface, enabling consistent interaction with kernel-level information regardless of the host environment. By utilizing compiled extensions to interface directly with native system APIs, it provides a consistent way to access performance data and manage task states that would otherwise require platform-specific command-line utilities.

The library covers a broad range of system administration and performance profiling tasks, including the collection of granular data on processors, memory, disks, and network interfaces. It is designed to be integrated into scripts to automate the monitoring of hardware health and the management of application stability.

## Tags

### System Administration & Monitoring

- [System Monitoring Libraries](https://awesome-repositories.com/f/system-administration-monitoring/system-monitoring-platforms/system-monitoring-libraries.md) — Provides a cross-platform library for retrieving real-time system metrics and managing process lifecycles.
- [Process Management Tools](https://awesome-repositories.com/f/system-administration-monitoring/administrative-operations/configuration-control-utilities/system-administration-tools/administration-tools/process-management-tools.md) — Acts as a programmatic utility for inspecting, monitoring, and controlling running system processes across platforms.
- [System Resource Monitors](https://awesome-repositories.com/f/system-administration-monitoring/system-resource-monitors.md) — Retrieves real-time metrics for processors, memory, disks, and network interfaces to track hardware health. ([source](https://cdn.jsdelivr.net/gh/giampaolo/psutil@master/README.md))
- [Process Lifecycle Managers](https://awesome-repositories.com/f/system-administration-monitoring/process-lifecycle-managers.md) — Enables inspection and control of running system processes, including resource usage and network connections. ([source](https://cdn.jsdelivr.net/gh/giampaolo/psutil@master/README.md))
- [Task Automation Scripts](https://awesome-repositories.com/f/system-administration-monitoring/task-automation-scripts.md) — Automates system administration tasks by replacing manual command-line utilities with programmable scripts.
- [Application Performance Profiling](https://awesome-repositories.com/f/system-administration-monitoring/performance-monitoring-tools/application-performance-profiling.md) — Collects granular data on resource consumption and process behavior to identify performance bottlenecks.

### Data & Databases

- [System Resource APIs](https://awesome-repositories.com/f/data-databases/data-modification-apis/data-exposure/system-resource-apis.md) — Exposes hardware performance data including CPU, memory, disk, and network information through a unified API.

### Operating Systems & Systems Programming

- [Cross-Platform Abstraction Layers](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/system-programming-primitives/system-abstractions/cross-platform-compatibility-layers/cross-platform-abstraction-layers.md) — Normalizes disparate operating system data structures into a unified interface for consistent cross-platform interaction.
- [Process Lifecycle Managers](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/process-lifecycle-orchestrators/process-lifecycle-managers.md) — Wraps native system calls to provide programmatic control over process lifecycles and signaling.
- [Kernel-Level Operations](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/operating-system-kernels/kernel-level-operations.md) — Queries low-level system structures and virtual file systems to aggregate real-time hardware and process metrics.
- [Python-C Interfaces](https://awesome-repositories.com/f/operating-systems-systems-programming/systems-programming/c-interoperability-layers/python-c-interfaces.md) — Provides a high-performance bridge between high-level code and native system APIs using compiled extensions.

### Part of an Awesome List

- [DevOps and Infrastructure](https://awesome-repositories.com/f/awesome-lists/devops/devops-and-infrastructure.md) — Cross-platform process and system monitoring.
- [DevOps Tools](https://awesome-repositories.com/f/awesome-lists/devops/devops-tools.md) — Listed in the “DevOps Tools” section of the Awesome Python awesome list.
- [Infrastructure and Cloud](https://awesome-repositories.com/f/awesome-lists/devops/infrastructure-and-cloud.md) — Cross-platform process and system utilities.
- [System Monitoring](https://awesome-repositories.com/f/awesome-lists/devops/system-monitoring.md) — Cross-platform library for process and system monitoring.
- [System Monitoring And Profiling](https://awesome-repositories.com/f/awesome-lists/devtools/system-monitoring-and-profiling.md) — Cross-platform library for retrieving system and process information.
