#9019: add iotop utility ---------------------------------------------+----------------------------- Reporter: Prasad | Owner: nobody Type: enhancement | Status: new Priority: normal | Milestone: R1 Component: Applications/Command Line Tools | Version: Keywords: | R1/Development Blocking: | Blocked By: Platform: All | Has a Patch: 0 ---------------------------------------------+----------------------------- 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: <http://dev.haiku-os.org/ticket/9019> Haiku <http://dev.haiku-os.org> Haiku - the operating system.