A wrapper for iostat that displays I/O statistics in a real-time chart format similar to nload, with the ability to switch between devices using keyboard navigation.
- Real-time visualization - Live I/O statistics with smooth updates
- Multiple chart views - IOPS, Throughput, Utilization, and Wait Times
- Keyboard navigation - Switch devices and views with arrow keys
- Color-coded charts - Easy-to-read terminal charts with color support
- Cross-platform - Works on Linux and macOS (Unix-like systems)
- Lightweight - Minimal dependencies, fast startup
- Real-time I/O statistics visualization
- Multiple charts showing:
- Read/Write IOPS (requests per second)
- Read/Write Throughput (KB/s)
- Device Utilization (%)
- Average wait times
- Switch between devices using
<(previous) and>(next) keys - Clean, terminal-based interface using curses
- Ring.cr
- Ring.cr
- Python 3.8+
iostatcommand (part ofsysstatpackage)- On macOS:
brew install sysstat - On Linux: Usually pre-installed or available via package manager
- On macOS:
asciichartpyPython library for chart rendering- Install with:
pip install asciichartpy
- Install with:
curl -fsSL https://raw.githubusercontent.com/guntanis/ioload/main/scripts/install.sh | bashSee docs/INSTALL.md for detailed manual installation instructions.
./ioload.pyOr:
python3 ioload.pyYou can specify a custom refresh interval (in seconds):
./ioload.py -i 0.5 # Refresh every 0.5 seconds
./ioload.py --interval 2.0 # Refresh every 2 secondsLeft Arrowor<: Switch to previous deviceRight Arrowor>: Switch to next deviceUp Arrow: Switch to previous chart viewDown Arrow: Switch to next chart viewQ: Quit the application
The tool continuously runs iostat -x in the background to collect I/O statistics for all block devices. It maintains a rolling history of the last 60 data points and displays them as ASCII charts in real-time.
The charts show:
- Read/Write IOPS: Combined visualization of read and write requests per second
- Read/Write Throughput: Combined visualization of read and write data transfer rates
- Utilization: Device utilization percentage over time
(Add screenshots or animated GIFs here showing ioload in action)
Contributions are welcome! Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by
nloadandhtop - Uses
asciichartpyfor beautiful terminal charts - Built with Python's
curseslibrary
ioload/
├── docs/ # Additional documentation
├── scripts/ # Installation scripts
├── tests/ # Test files
└── ioload.py # Main application
See PROJECT_STRUCTURE.md for details.
If you find this project useful, please consider giving it a star on GitHub!
Made with ❤️ by the ioload contributors