vtop 🖥️
Advanced System Monitor for Apple Silicon Macs
A beautiful, real-time system monitoring tool designed specifically for Apple Silicon (M1/M2/M3/M4) Macs. Monitor every CPU core, GPU, memory, storage, and more—all from your terminal.
✨ Features
CPU Monitoring
- Per-core history charts for both E-cores (Efficiency) and P-cores (Performance)
- Real-time frequency tracking for each core
- Total CPU usage with cluster breakdown
GPU Monitoring
- GPU utilization percentage and frequency
- Historical usage chart
Memory & Storage
- RAM usage with percentage
- Swap usage tracking
- SSD usage (shows actual available space like Finder)
- Memory Pressure indicator (Normal/Moderate/High)
Power Consumption
- CPU power draw with avg/peak tracking
- GPU power draw with avg/peak tracking
- Total system power consumption
- Thermal throttling status
System Information
- Thermal status
- System uptime
- Load average (1/5/15 min)
- Disk I/O (read/write speeds)
- Network I/O (download/upload speeds)
- Battery status (percentage, charging state, time remaining)
- Top CPU-consuming processes
📸 Screenshot
🚀 Installation
From PyPI (recommended)
pip install vtop
From GitHub
pip install git+https://github.com/filippovicidomini/vtop.git
From source
git clone https://github.com/filippovicidomini/vtop.git
cd vtop
pip install .
Development install
git clone https://github.com/filippovicidomini/vtop.git
cd vtop
pip install -e .
📖 Usage
vtop requires sudo to access power metrics:
sudo vtop
Options
| Option | Default | Description |
|---|---|---|
--interval |
1 | Refresh interval in seconds |
--color |
2 | Color theme (0-8) |
--avg |
30 | Window for averaged values (seconds) |
Examples
# Default usage
sudo vtop
# Update every 2 seconds
sudo vtop --interval 2
# Use a different color theme
sudo vtop --color 5
Press Ctrl+C to exit.
🔧 Requirements
- macOS with Apple Silicon (M1, M2, M3, M4 series)
- Python 3.8+
- Terminal with Unicode support
Dependencies
dashing- Terminal UI librarypsutil- System monitoring library
🏗️ Architecture
vtop/
├── vtop.py # Main application and UI layout
├── parsers.py # Parsing powermetrics output
├── utils.py # Utility functions and data gathering
└── __init__.py
🤝 Contributing
Contributions are welcome! Feel free to:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
📊 Comparison with other tools
| Feature | vtop | htop | asitop |
|---|---|---|---|
| Per-core history | ✅ | ❌ | ❌ |
| GPU monitoring | ✅ | ❌ | ✅ |
| Power consumption | ✅ | ❌ | ✅ |
| Memory pressure | ✅ | ❌ | ❌ |
| Battery status | ✅ | ❌ | ❌ |
| Top processes | ✅ | ✅ | ❌ |
| Disk I/O | ✅ | ❌ | ❌ |
| Network I/O | ✅ | ❌ | ❌ |
| Apple Silicon optimized | ✅ | ❌ | ✅ |
Made with ❤️ for Apple Silicon
Metadata
Release files for vtop 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vtop-1.0.1.tar.gz | 13.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vtop-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.5 kB
Release files / vtop-1.0.1.tar.gz
| Download URL | vtop-1.0.1.tar.gz |
|---|---|
| Size | 13.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
09e8df0e00f0578c9e043b94dc04a2426574eccb911ff76086680334e73d0823
|
|
BLAKE2b-256 checksum How to use checksums |
72122d2edd3cfba122960101a113416581b0d2b5a3a98e19f5130fac90f1eff7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.2
|
Release files / vtop-1.0.1-py3-none-any.whl
| Download URL | vtop-1.0.1-py3-none-any.whl |
|---|---|
| Size | 12.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
29e4ef3d9d897349b069b8debdc876d27727274f823854ea4df88437dc8abbee
|
|
BLAKE2b-256 checksum How to use checksums |
934a0f06dedb1c77395fefebb4cb201e3ff84f52ccc0a903cb08e473d97c03c7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.2
|