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


       sg_read - read blocks of data continually from same offset


       sg_read [OPTION]...


       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.

              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).

              this  must be the block size of the physical device (defaults to

              read this number of blocks. This argument must be given

              read from this FILE. This argument must be given

              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


       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


       Written by Doug Gilbert.


       Report bugs to <>.


       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


       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)