Provided by: sg-utils_1.02-1_i386 bug

NAME

       sg_read - read blocks of data continually from same offset

SYNOPSIS

       sg_read [OPTION]...

DESCRIPTION

       Read  data  from  a  Linux SCSI generic (sg) device, a raw devices or a
       normal file with each read command issued to the same offset. This will
       test (or time) disk caching and/or SCSI (or some other) bus throughput.

       bpt=BLOCKS
              each read operation will be made using this number of blocks (or
              less  if  near the end of count). Default is 128. Note also that
              each read operation starts at the same offset (as given by  skip
              or 0).

       bs=BYTES
              this  must be the block size of the physical device (defaults to
              512)

       count=BLOCKS
              read this number of blocks. This argument must be given

       if=FILE
              read from this FILE. This argument must be given

       skip=BLOCKS
              all read operations will start offset by BLOCKS bs-sized  blocks
              from the start of input (file or device)

       time=0 | 1 | 2
              When 0 (default) doesn’t perform timing.  when 1, times transfer
              and does throughput calculation, starting at  the  first  issued
              command  until  completion.  When  2,  times  transfer  and does
              throughput calculation, starting at the  second  issued  command
              until completion

       The  input  file  must  be either a sg device, a raw device or a normal
       file.  A raw device must be bound to a  block  device  prior  to  using
       sg_raw.  See raw(8) for more information about binding raw devices.

       BYTES  and  BLOCKS  may  be  followed  by  the following multiplicative
       suffixes: c C *1; b B  *512;  k  *1,024;  K  *1,000;  m  *1,048,576;  M
       *1,000,000; g *1,073,741,824; and G *1,000,000,000

EXAMPLES

       Let  us  assume  that /dev/sg0 is a disk and we wish to time the disk’s
       cache performance.

          sg_read if=/dev/sg0 bs=512 count=1M time=2

       This command will continually read 128 512 byte blocks  from  block  0.
       The  "128"  is  the  default  value for "bpt" while "block 0" is chosen
       because the "skip" argument was not given.  This  will  continue  until
       1,000,000  blocks  are read. The idea behind using "time=2" is that the
       first 64 KB read operation will  involve  reading  the  magnetic  media
       while  the  remaining  read operations will "hit" the disk’s cache. The
       output of thid command will look like this:

         time from second command to end was 8.51 secs, 60.19 MB/sec
         1000000+0 records in, SCSI commands issued: 7813

AUTHORS

       Written by Doug Gilbert.

REPORTING BUGS

       Report bugs to <dgilbert@interlog.com>.

COPYRIGHT

       Copyright © 2000-2002 Douglas Gilbert
       This software is distributed under the  GPL  version  2.  There  is  NO
       warranty;  not  even  for  MERCHANTABILITY  or FITNESS FOR A PARTICULAR
       PURPOSE.

SEE ALSO

       To time streaming media read or write time see sg_dd is in the sg_utils
       package.  The  lmbench package contains lmdd which is also interesting.
       raw(8), dd(1)