htop
htop copied to clipboard
IOPS_READ_RATE / IOPS_WRITE_RATE / IOPS_RATE column ?
i don't know of any tool which can show an IOPS/s rate on a per-process basis.
as IOPS is an extremely important unit in storage administrators daily job and since htop can show SYSCR and SYSCW column (but only in absolute values), i wonder if it wouldn't be valuable and easy, to show a rate per second instead of an absolute value.
that would give an estimate of process IOPS besides IO_READ_RATE and IO_WRITE_RATE
so what about adding
IOPS_READ_RATE - The number of read(2) syscalls per second per process IOPS_WRITE_RATE - The number of write(s) syscalls per second per process IOPS_RATE - The total number of read(2) and write(2) syscalls per second per process
?
The latest htop
version on main already has this feature (might also be in the latest release). Just look for IO_READ_RATE
and IO_WRITE_RATE
in Setup -> Screens -> List of Columns and add those as appropriate.
This does not show the number of syscalls, but the amount of data read/written.
Adding the IOPS additionally to the IO size mostly depends on if there is a structure providing those values readily that htop
already processes as every additional source of information means a certain hit on overall performance.
i explicitly mean the number/count of calls, not the byte rate.
that is something entirely different
you can have low iops rate with high disk troughput or have high iops rate with low disk trougput. it depends on the disks capabilities and if you write with small or large blocks
i know that per-process iops is NOT the same as disks iops, but i think it could be useful to identify processes which have high rate of read()/write() syscalls as this may show ressource hungry processes or weakness in implemaentation or whatever.
i'm not sure if we really should call that "IOPS", as IOPS is "IO Operations Per Second" and that mostly refers to disk writes/reads. and read()/write() may get pooled before hitting the disks