Provided by: lmbench_3.0-a9+debian.1-9_amd64 bug

NAME

       lmdd - move io for performance and debugging tests

SYNOPSIS

       lmdd [ option=value ] ...

DESCRIPTION

       lmdd  copies  a  specified  input  file to a specified output with possible conversions.  This program is
       primarily useful for timing I/O since it prints out the timing statistics after completing.

OPTIONS

       if=name        Input file is taken from name; internal is the default.  internal is a special  file  that
                      acts like Sun's /dev/zero, i.e., it provides a buffer of zeros without doing a system call
                      to get them.
                      The following file names are taken to mean the standard input: -, 0, or stdin.

       of=name        Output  file is taken from name; internal is the default.  internal is a special file that
                      acts like /dev/null, without doing a system call to get rid of the data.
                      The following file names are taken to mean the standard output: -, 1, or stdout.
                      The following file names are taken to mean the standard error: 2, or stderr.

       bs=n           Input and output block size n bytes (default 8192).  Note  that  this  is  different  from
                      dd(1),  it  has a 512 byte default.   Also note that the block size can be followed by 'k'
                      or 'm' to indicate kilo bytes (*1024) or megabytes (*1024*1024), respectively.

       ipat=n         If n is non zero, expect a known pattern in the  file  (see  opat).   Mismatches  will  be
                      displayed as "ERROR: off=%d want=%x got=%x".  The pattern is a sequence of 4 byte integers
                      with the first 0, second 1, and so on.  The default is not to check for the pattern.

       opat=n         If  n is non zero, generate a known pattern on the output stream.  Used for debugging file
                      system correctness.  The default is not to generate the pattern.

       mismatch=n     If n is non zero, stop at the first mismatched value.  Used with ipat.

       skip=n         Skip n input blocks before starting copy.

       fsync=n        If n is non-zero, call fsync(2) on the output  file  before  exiting  or  printing  timing
                      statistics.

       sync=n         If n is non-zero, call sync(2) before exiting or printing timing statistics.

       rand=n         This  argument,  by default off, turns on random behavior.  The argument is not a flag, it
                      is a size, that size is used as the upper bound for the seeks.  Also note that  the  block
                      size  can  be  followed  by  'k'  or  'm'  to  indicate  kilo  bytes  (*1024) or megabytes
                      (*1024*1024),

       flush=n        If n is non-zero and mmap(2) is available, call msync(2) to invalidate  the  output  file.
                      This  flushes the file to disk so that you don't have unmount/mount.  It is not as good as
                      mount/unmount because it just flushes file pages - it misses the indirect blocks which are
                      still cached.  Not supported on all systems, compile time option.

       rusage=n       If n is non-zero, print rusage statistics as well as timing statistics.  Not supported  on
                      all systems, compile time option.

       count=n        Copy only n input records.

EXAMPLES

       This  is the most common usage, the intent is to measure disk performance.  The disk is a spare partition
       mounted on /spare.

           # mount /spare
           # lmdd if=internal of=/spare/XXX count=1000 fsync=1
           7.81 MB in 3.78 seconds (2.0676 MB/sec)

           : Flush cache
           # umount /spare
           # mount /spare

           # lmdd if=/spare/XXX of=internal
           7.81 MB in 2.83 seconds (2.7611 MB/sec)

AUTHOR

       Larry McVoy, lm@sun.com

(c)1994 Larry McVoy                                  $Date$                                              LMDD(8)