Skip to main content

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.

Python macOS License

✨ 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

vtop 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 library
  • psutil - 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:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Inspired by asitop by tlkh
  • Built with dashing terminal UI library

📊 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vtop-1.0.0.tar.gz (13.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vtop-1.0.0-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

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

Hashes for vtop-1.0.0.tar.gz
Algorithm Hash digest
SHA256 27c67f4759e7cd488934ae49ca51ca0edcb0ed57f7d54cae7e5260b213d7749f
MD5 6be2a2f1543cf19683f6ec0ebdaa53e4
BLAKE2b-256 119ea46a93d4aadd1be60a2c9dd121bd8b75a50b3574abee92136b31d2723e83

See more details on using hashes here.

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

Hashes for vtop-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d3c1be1d5ee6be0c917d0278ddd0d51a712c4ce5f8a29969563a840ce87f3a36
MD5 4664cded2f1332c2eddf252cedfd5198
BLAKE2b-256 dbab9592f0a3e0d00ef891285f940e2f1204bb75df0327f7c2316797ddc919a6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page