Man Linux: Main Page and Category List

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$