Graphs the disk IO in a linux terminal.

Overview

diskgraph

Monitor for disk IO

screenshot

Introduction

The diskgraph tool will graph disk IO under linux, in a terminal.

Examples:

$ ./diskgraph /dev/nvme0n1

$ ./diskgraph /dev/sda

You can also leave out the dev prefix and do:

$ ./diskgraph sda

Periodically (500ms intervals) it will read the statistics from /sys/block/DEVICE/stat and see how many sectors are read and written since last sample.

These are converted to bandwidth, by dividing by time.

It also shows (in orange) the number of operations that are in-flight at the moment the sample was taken.

Keys

Press ESCAPE or Q to exit diskgraph.

Known issues

  • Shows garbage on terminals that do not support 24 bit colour.
  • Does not work on older linux kernels.
  • Missing manual page.
  • Assumes 512 byte sectors.

Copyright

diskgraph is (c)2021 by Bram Stolk and licensed under the MIT license. Thank you to PQCraft for improving resize functionality and other changes.

Issues
  • Issues with ZFS block devices

    Issues with ZFS block devices

    If I run diskgraph against my ZFS Pool on my proxmox host, I get the following Error:

    
    root:~/diskgraph# ./diskgraph zd0
    Failed to open /sys/class/block/zd0/device/model: No such file or directory.
    

    This is due to the fact that ZFS Block devices don't have a ./device folder.

    
    root:~/diskgraph# ls /sys/block/zd0/
    alignment_offset  capability  discard_alignment  events_async       ext_range  holders   integrity  queue  removable  size    stat       trace
    bdi               dev         events             events_poll_msecs  hidden     inflight  power      range  ro         slaves  subsystem  uevent
    
    opened by JmbFountain 6
  • [See description]

    [See description]

    Used a better way to get the terminal size Fixed not resetting shell prompt position to beginning of line Added 'q' as an exit key Improved legibility a bit by adding spacing between arithmetic operators Changed _WIN64 to _WIN32 to fix compiling on 32-bit Windows (_WIN32 is also defined under 64-bit Windows) Made a dummy functions for raw mode functions under Windows as CMD doesn't echo characters Fixed possible ENABLE_VIRTUAL_TERMINAL_PROCESSING undefined issue on Windows Added a lot more _WIN32 checks to exclude things that are missing on Windows Windows polls the size now due to the absence of SIGWINCH

    opened by PQCraft 5
  • Issues with the scale on fast SSDs

    Issues with the scale on fast SSDs

    Nice program! I had a problem running it on my Corsair Force MP600 SSD which runs PCIe 4 and theoretically supports a peak of around 5TB per second transfer rates. This is what I see when suspending a large VM in virtualbox: image Note the vertical scale is a bit messed up.

    opened by zsaleeba 2
  • Makefile rewrite for robustness

    Makefile rewrite for robustness

    I'm planning on uploading this to the AUR for others to use, however the Makefile made it difficult to package according to Arch Linux's package guidelines.

    opened by lmartinez-mirror 0
  • diskgraph uses a ton of bandwidth over SSH

    diskgraph uses a ton of bandwidth over SSH

    Seems like a good application for this utility would be to SSH in to a server and run diskgraph while generating load. When I run diskgraph remotely on my server I'm seeing about 10Mb/s of traffic. That seems crazy high for a text based application. I'm not sure why it would need that much bandwidth, but it's something worth looking in to.

    opened by scottchiefbaker 1
Owner
Bram Stolk
Bram Stolk
Hide SMBIOS/disk/NIC serials from EFI bootkit

Rainbow Rainbow is a bootkit like HWID spoofer for Windows. It abuses several hooks in EFI runtime services and uses clever DKOM to hide hardware seri

Samuel Tulach 159 Jun 22, 2022
A small proof-of-concept for using disk devices for DMA on Windows.

ddma A small proof-of-concept for using disk devices for DMA on Windows. Why Some native hypervisors (i.e. Hyper-V) allow the guest unvirtualized devi

null 42 Jun 7, 2022
A method from GH on how to stream a dll without touching disk, TAGS: fortnite cheat fortnite injector dll injector

dll-encryptor People who make pay hacks typically have down syndrome and are incapable of using their brains in any fashion, and yet these bath salt s

Micca 2 Nov 24, 2021
ImDisk Virtual Disk Driver

ImDisk Virtual Disk Driver for Windows NT/2000/XP/2003/Vista/7/8/8.1/10. This driver emulates harddisk partitions, floppy drives and CD/DVD-ROM d

Olof Lagerkvist 84 Jun 28, 2022
Tools to read Dragon32 VDK disk image files

Quick and dirty UNIX port of ddosutils This is originally an MSDOS tool to read Dragon 32 floppy disks. This version is crudely converted to operate o

Adrien Destugues 1 Dec 12, 2021
Creates a virtual disk in memory and provides the user a shell to interact with it

Tiny-File-System Creates a virtual disk in memory and provides the user a shell to interact with it Known bugs with Export missing chars at the end of

Alex Fuller 2 Nov 23, 2021
Comparing data of module exports from disk and memory, then caching any differences.

Inline-PatchFinder Need to see if the process you're reversing/analyzing is patching/hooking any loaded module's exports? Well, look no further. Inlin

null 12 Jun 20, 2022
Libguestfs is tools and a library for accessing and modifying guest disk images

Libguestfs is tools and a library for accessing and modifying guest disk images

null 493 Jun 29, 2022
This is a helper library to abstract away interfacing with floppy disk drives in a cross-platform and open source library.

Adafruit Floppy This is a helper library to abstract away interfacing with floppy disk drives in a cross-platform and open source library. Adafruit Fl

Adafruit Industries 125 Jun 22, 2022
Graphs a line in console using OOP methodologies

PointSlope This program graphs a line in console using OOP methodologies. Custom openGl libraries were provided for this class project and we used mut

Austin M Hood 1 Feb 1, 2022
AX.25 protocol (packet radio and APRS) interface / bridging / switching / terminal related software for Linux

CB3ROB-AX25-TOOLS-LINUX 2021-11-23T00:58:49Z (TUESDAY) cb3rob-kiss-tcp-attach.c links ax0 interface to KISS-TCP TNC, soundmodem (direwolf), or multipl

CB3ROB TACTICAL SYSTEMS 1 Jan 1, 2022
BKM-15R emulator written in C for Linux terminal

BKM-15R emulator written in C for Linux terminal Crude implementation of the BKM-15R protocol as described

Martin Hejnfelt 6 Feb 28, 2022
Lightweight Windows/Linux terminal control library for C/C++

TerControl Table of Contents About TerControl Features Installation Contributing License Contact Thanks TerControl is a lightweight opinion based term

Zackery .R. Smith 3 Apr 2, 2022
A Minimal, Header only Modern c++ library for terminal goodies 💄✨

rang Colors for your Terminal. Windows Demo Example usage #include "rang.hpp" using namespace std; using namespace rang; int main() { cout << "P

Abhinav Gauniyal 1.2k Jun 27, 2022
I2C hardware test terminal/master mode emulator.

I2C Master Mode Emulator The I2C master mode emulator allows communication with I2C devices by sending or receiving data to/from the I2C bus. To issue

Dilshan R Jayakody 17 Jan 26, 2022
Simulation of VT100 terminal hardware

Simulation of the VT100 hardware About This is a software simulation of the VT100 hardware. The original firmware ROM is built in and executed by an 8

Lars Brinkhoff 48 Mar 26, 2022
refterm is a reference renderer for monospace terminal displays.

refterm v2 refterm is a reference renderer for monospace terminal displays. It was designed to demonstrate that even in the worst-case scenario - extr

Casey Muratori 1.2k Jul 2, 2022
Galaxy simulation that runs directly into your terminal !

ASCII-galaxy-simulation (Work in progress) Current result : Two galaxies colliding Goal : Galaxy with black hole (Should make the galaxies more stable

Célian Riboulet 6 Jun 2, 2022
Displays Lat & Long on the terminal from a public API.

iss-term Displays Latidude & Longitude on the terminal from a public API, by using lib curl Libraries used libcurl to install Before you do anything,

Brad Bettencourt 1 Nov 16, 2021