[haiku-bugs] Re: [Haiku] #9019: add iotop utility

  • From: "Haiku" <trac@xxxxxxxxxxxx>
  • To: undisclosed-recipients: ;
  • Date: Mon, 15 Jun 2020 06:50:25 -0000

#9019: add iotop utility
----------------------------------------------+----------------------------
  Reporter:  Prasad                           |      Owner:  nobody
      Type:  enhancement                      |     Status:  new
  Priority:  normal                           |  Milestone:  Unscheduled
 Component:  Applications/Command Line Tools  |    Version:  R1/Development
Resolution:                                   |   Keywords:
Blocked By:                                   |   Blocking:  16255
  Platform:  All                              |
----------------------------------------------+----------------------------
Description changed by diver:

Old description:

iotop is a simple top like utility for monitoring IOs. For utility to
work, kernel must do IO accounting for each process. The patch adds
struct io_accounting in the kernel account for IOs performed by each
process.

The accounting for IO is performed in various version of read and
write system calls.

The userland part (iotop command) uses team_info mechanism to get
the accounting information in the userland. The utility provides user
with lots of options like
        - monitoring processes of particular user
        - monitoring processes based on process ids
        - only showing processes doing actual IOs
        - configuration refreshing delay

iotop also allows user to sort the output on various parameters
dynamically while running.

The utility also checks the visible terminal co-ordinates and updates
the output accordingly.

Here is a sample output of the iotop:
~> ./iotop

Total Disk Reads:    2.00 B/s | Total Disk Writes:    0.00 B/s

    TID     USER     READ BW    WRITE BW      IO %   Command
    114     user    2.00 B/s    0.00 B/s  100.00 %
/boot/system/servers/power_daemon
     48     user    0.00 B/s    0.00 B/s    0.00 %
/boot/system/servers/registrar
     55     user    0.00 B/s    0.00 B/s    0.00 %
/boot/system/servers/debug_server
     56     user    0.00 B/s    0.00 B/s    0.00 %
/boot/system/servers/net_server
     57     user    0.00 B/s    0.00 B/s    0.00 %
/boot/system/servers/app_server
     72     user    0.00 B/s    0.00 B/s    0.00 %
/boot/system/servers/syslog_daemon
     84     user    0.00 B/s    0.00 B/s    0.00 %
/boot/system/servers/input_server
     94     user    0.00 B/s    0.00 B/s    0.00 %
/boot/system/servers/mount_server
    106     user    0.00 B/s    0.00 B/s    0.00 %   /boot/system/Tracker
    107     user    0.00 B/s    0.00 B/s    0.00 %   /boot/system/Deskbar
    108     user    0.00 B/s    0.00 B/s    0.00 %
/boot/system/servers/media_server
    109     user    0.00 B/s    0.00 B/s    0.00 %
/boot/system/servers/midi_server
    110     user    0.00 B/s    0.00 B/s    0.00 %
/boot/system/servers/print_server
    112     user    0.00 B/s    0.00 B/s    0.00 %
/boot/system/servers/cddb_daemon
    113     user    0.00 B/s    0.00 B/s    0.00 %
/boot/system/servers/notification_server
    143     user    0.00 B/s    0.00 B/s    0.00 %
/boot/system/servers/media_addon_server
    193     user    0.00 B/s    0.00 B/s    0.00 %
/boot/system/apps/Terminal
    197     user    0.00 B/s    0.00 B/s    0.00 %   /bin/bash -l
      1     user    0.00 B/s    0.00 B/s    0.00 %   kernel_team
    212     user    0.00 B/s    0.00 B/s    0.00 %   ./iotop
-----------------------------------------------------------------------
User: all
Processes: all
Sorted according to 'Percentage of total IOs'.  Reverse Sorting: false
Refreshing every 3 seconds.

~> ./iotop -o

Total Disk Reads:    2.00 B/s | Total Disk Writes:    0.00 B/s

    TID     USER     READ BW    WRITE BW      IO %   Command
    114     user    2.00 B/s    0.00 B/s  100.00 %
/boot/system/servers/power_daemon
-----------------------------------------------------------------------
User: all
Processes: all
Only showing processes doing IOs.
Sorted according to 'Percentage of total IOs'.  Reverse Sorting: false
Refreshing every 3 seconds.

New description:

 iotop is a simple top like utility for monitoring IOs. For utility to
 work, kernel must do IO accounting for each process. The patch adds
 struct io_accounting in the kernel account for IOs performed by each
 process.

 The accounting for IO is performed in various version of read and
 write system calls.

 The userland part (iotop command) uses team_info mechanism to get
 the accounting information in the userland. The utility provides user
 with lots of options like
  - monitoring processes of particular user
  - monitoring processes based on process ids
  - only showing processes doing actual IOs
  - configuration refreshing delay

 iotop also allows user to sort the output on various parameters
 dynamically while running.

 The utility also checks the visible terminal co-ordinates and updates
 the output accordingly.

 Here is a sample output of the iotop:\\
 ~> `./iotop`


 {{{
 Total Disk Reads:    2.00 B/s | Total Disk Writes:    0.00 B/s

     TID     USER     READ BW    WRITE BW      IO %   Command
     114     user    2.00 B/s    0.00 B/s  100.00 %
 /boot/system/servers/power_daemon
      48     user    0.00 B/s    0.00 B/s    0.00 %
 /boot/system/servers/registrar
      55     user    0.00 B/s    0.00 B/s    0.00 %
 /boot/system/servers/debug_server
      56     user    0.00 B/s    0.00 B/s    0.00 %
 /boot/system/servers/net_server
      57     user    0.00 B/s    0.00 B/s    0.00 %
 /boot/system/servers/app_server
      72     user    0.00 B/s    0.00 B/s    0.00 %
 /boot/system/servers/syslog_daemon
      84     user    0.00 B/s    0.00 B/s    0.00 %
 /boot/system/servers/input_server
      94     user    0.00 B/s    0.00 B/s    0.00 %
 /boot/system/servers/mount_server
     106     user    0.00 B/s    0.00 B/s    0.00 %   /boot/system/Tracker
     107     user    0.00 B/s    0.00 B/s    0.00 %   /boot/system/Deskbar
     108     user    0.00 B/s    0.00 B/s    0.00 %
 /boot/system/servers/media_server
     109     user    0.00 B/s    0.00 B/s    0.00 %
 /boot/system/servers/midi_server
     110     user    0.00 B/s    0.00 B/s    0.00 %
 /boot/system/servers/print_server
     112     user    0.00 B/s    0.00 B/s    0.00 %
 /boot/system/servers/cddb_daemon
     113     user    0.00 B/s    0.00 B/s    0.00 %
 /boot/system/servers/notification_server
     143     user    0.00 B/s    0.00 B/s    0.00 %
 /boot/system/servers/media_addon_server
     193     user    0.00 B/s    0.00 B/s    0.00 %
 /boot/system/apps/Terminal
     197     user    0.00 B/s    0.00 B/s    0.00 %   /bin/bash -l
       1     user    0.00 B/s    0.00 B/s    0.00 %   kernel_team
     212     user    0.00 B/s    0.00 B/s    0.00 %   ./iotop
 -----------------------------------------------------------------------
 User: all
 Processes: all
 Sorted according to 'Percentage of total IOs'.  Reverse Sorting: false
 Refreshing every 3 seconds.
 }}}


 ~> `./iotop -o`


 {{{
 Total Disk Reads:    2.00 B/s | Total Disk Writes:    0.00 B/s

     TID     USER     READ BW    WRITE BW      IO %   Command
     114     user    2.00 B/s    0.00 B/s  100.00 %
 /boot/system/servers/power_daemon
 -----------------------------------------------------------------------
 User: all
 Processes: all
 Only showing processes doing IOs.
 Sorted according to 'Percentage of total IOs'.  Reverse Sorting: false
 Refreshing every 3 seconds.
 }}}

--
-- 
Ticket URL: <https://dev.haiku-os.org/ticket/9019#comment:18>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.

Other related posts: