Advanced system monitor for Apple Silicon Macs with per-core CPU tracking
Project description
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 5 CPU-consuming processes
📸 Screenshot
🚀 Installation
From GitHub (recommended)
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vtop-1.0.0.tar.gz.
File metadata
- Download URL: vtop-1.0.0.tar.gz
- Upload date:
- Size: 13.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
27c67f4759e7cd488934ae49ca51ca0edcb0ed57f7d54cae7e5260b213d7749f
|
|
| MD5 |
6be2a2f1543cf19683f6ec0ebdaa53e4
|
|
| BLAKE2b-256 |
119ea46a93d4aadd1be60a2c9dd121bd8b75a50b3574abee92136b31d2723e83
|
File details
Details for the file vtop-1.0.0-py3-none-any.whl.
File metadata
- Download URL: vtop-1.0.0-py3-none-any.whl
- Upload date:
- Size: 12.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3c1be1d5ee6be0c917d0278ddd0d51a712c4ce5f8a29969563a840ce87f3a36
|
|
| MD5 |
4664cded2f1332c2eddf252cedfd5198
|
|
| BLAKE2b-256 |
dbab9592f0a3e0d00ef891285f940e2f1204bb75df0327f7c2316797ddc919a6
|