A Go port of psutil for reading system information such as CPU, memory, disk, network, and process stats across platforms.
giampaolo/psutil
Cross-platform Python library for retrieving process and system utilization info such as CPU, memory, disks, network and sensors.
- Stars
- 11,316
- Forks
- 1,541
- Open issues
- 288
- Last commit
- 20 hours ago
What is it?
psutil is a Python library for querying running processes and system utilization, covering CPU, memory, disks, network interfaces and connections, and hardware sensors. It is aimed at system monitoring, profiling, limiting process resources, and managing running processes, and it reproduces many features of UNIX command-line tools such as ps, top, free, iotop, netstat, ifconfig and lsof.
The same API works on Linux, Windows, macOS, FreeBSD, OpenBSD, NetBSD, Sun Solaris and AIX, so scripts can gather metrics without shelling out to platform-specific commands. Installation is done with pip.
The library is widely used as a dependency: it is listed among the most-downloaded packages on PyPI.
Key features
- 01Query CPU usage, frequency, and core counts.
- 02Inspect virtual and swap memory, disk partitions and usage.
- 03List network I/O counters and open network connections.
- 04Read temperature and battery sensors where supported.
- 05Enumerate, inspect, and manage processes via the Process class.
Use cases
- Building custom system monitoring or alerting scripts in Python.
- Profiling resource usage of a running application.
- Writing cross-platform tools that need process information without platform-specific commands.
- Limiting or terminating runaway processes from automation code.
Quick start
- 1
Install psutil with pip
pip install psutil
Topics
FAQ
- What is psutil?
- Cross-platform Python library for retrieving process and system utilization info such as CPU, memory, disks, network and sensors. psutil is a Python library for querying running processes and system utilization, covering CPU, memory, disks, network interfaces and connections, and hardware sensors. It is aimed at system monitoring, profiling, limiting process resources, and managing running processes, and it reproduces many features of UNIX command-line tools such as ps, top, free, iotop, netstat, ifconfig and lsof.
- Is psutil free to use? What license does it have?
- psutil is open source under the BSD-3-Clause license. Check the license terms before using it in commercial products.
- Is psutil still maintained?
- Actively maintained. The last commit to psutil was on Nov 6, 2026.
- What can I use psutil for?
- Building custom system monitoring or alerting scripts in Python. Profiling resource usage of a running application. Writing cross-platform tools that need process information without platform-specific commands. Limiting or terminating runaway processes from automation code.
- How do I install psutil?
- Install psutil with pip: pip install psutil
- Where can I get psutil?
- The source code and installation instructions are on GitHub: https://github.com/giampaolo/psutil
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A macOS menu bar app that shows live CPU, GPU, memory, disk, network, battery, sensor and Bluetooth stats.
Free Windows software and .NET library that reads temperature, fan, voltage, load and clock sensors from your computer's hardware.
Terminal UI that graphs CPU temperature, frequency, power and utilization, with a built-in CPU stress test.
Lightweight Windows app that monitors system memory in real time and clears cached memory to free up RAM.
Cross-platform terminal and web system monitor for CPU, memory, disk, network, processes and containers, with a REST API and exports.