Snoop I/O events as they occur. Uses DTrace.

      iosnoop [-a|-A|-Deghinostv] [-d device] [-f filename] [-m mount_point]
         [-n name] [-p PID]

   -a     print all data

   -A     dump all data, space delimited

   -D     print time delta, us (elapsed)

   -e     print device name

   -i     print device instance

   -N     print major and minor numbers

   -o     print disk delta time, us

   -s     print start time, us

   -t     print completion time, us

   -v     print completion time, string

   -d device
          instance name to snoop (eg, dad0)

   -f filename
          full pathname of file to snoop

   -m mount_point
          mountpoint for filesystem to snoop

   -n name
          process name

   -p PID process ID

iosnoop prints I/O events as they happen, with useful details such as UID, PID, block number, size, filename, etc. This is useful to determine the process responsible for using the disks, as well as details on what activity the process is requesting. Behaviour such as random or sequential I/O can be observed by reading the block numbers.

Since this uses DTrace, only users with root privileges can run this command.

iosnoop will run forever until Ctrl-C is hit.


Default output, print I/O activity as they are executed:
$ iosnoop

Print human readable timestamps:
$ iosnoop -v

Print major and minor numbers:
$ iosnoop -N

Snoop events on the root filesystem only:
$ iosnoop -m /


  UID    User ID.
  PID    Process ID.
  PPID   Parent Process ID.
  COMM   command name for the process.
  ARGS   argument listing for the process.
  SIZE   size of the operation, bytes.

  BLOCK  disk  block  for  the  operation  (location.  relative  to  this
         filesystem.  more useful with the -N option to print  major  and
         minor numbers.)

  STIME  timestamp for the disk request, us.
  TIME   timestamp for the disk completion, us.

  DELTA  elapsed time from request to completion, us (this is the elapsed
         time from the disk request (strategy)  to  the  disk  completion (iodone))

  DTIME  time  for disk to complete request, us (this is the time for the
         disk to complete that event since it's last event (time  between iodones)
         or,  the  time  to  the strategy if the disk had been idle)

  STRTIME  timestamp for the disk completion, string.
  DEVICE device name.
  INS    device instance number.
  D      direction, Read or Write.
  MOUNT  mount point.
  FILE   filename (basename) for I/O operation

"Physical fitness is not only one of the most important keys to a healthy body, it is the basis of dynamic and creative intellectual activity" ~ John Fitzgerald Kennedy

Related macOS commands

dtrace - generic front-end to the DTrace facility.
opensnoop - Snoop file opens as they occur.
Top 10 DTrace scripts - Brandan Gregg (author of the dtrace book).

Copyright © 1999-2024
Some rights reserved