LMDD(8)
π LMDD(8) β the LMBENCH girlies' I/O mover
okay so bestie, this is lmdd, section 8 of the LMBENCH manual. she moves I/O around and tells you how fast it went. that's the whole vibe. let's go π«Ά
β¨ 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. no cap, that's it. π
the real tea though? this program is primarily useful for timing I/O since it prints out the timing statistics after completing. she's not here to be a file copier, she's here to be a stopwatch with main character energy β±οΈβ¨
π OPTIONS π
one bullet per option, all of them, no skipping, periodt π
if=name β input file is taken from name;internalis the default.internalis 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, orstdin. πof=name β output file is taken from name;internalis the default.internalis 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, orstdout. and the following file names are taken to mean the standard error:2, orstderr. π³οΈβ¨bs=n β input and output block size n bytes (default8192). β οΈ note that this is different fromdd(1), which has a 512 byte default β so don't come in here expecting dd's numbers, she's built different. also note that the block size can be followed bykormto indicate kilo bytes (*1024) or megabytes (*1024*1024), respectively. π’ipat=n β if n is non zero, expect a known pattern in the file (seeopat). mismatches will be displayed as"ERROR: off=%d want=%x got=%x". the pattern is a sequence of 4 byte integers with the first0, second1, 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 withipat. πskip=n β skip n input blocks before starting copy. βοΈfsync=n β if n is non-zero, callfsync(2)on the output file before exiting or printing timing statistics. πΎsync=n β if n is non-zero, callsync(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, and that size is used as the upper bound for the seeks. also note that the block size can be followed bykormto indicate kilo bytes (*1024) or megabytes (*1024*1024), πflush=n β if n is non-zero andmmap(2)is available, callmsync(2)to invalidate the output file. this flushes the file to disk so that you don't have to 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)
now we flush cache:
# umount /spare
# mount /spare
and read it back, bestie:
# lmdd if=/spare/XXX of=internal
7.81 MB in 2.83 seconds (2.7611 MB/sec)
likeβ¦ the second run is faster, that's the whole point, she ate π₯
π AUTHOR π
Larry McVoy, lm@sun.com π
ok that's the page!! go time your disks, you're gonna slay π β¨
(c)1994 Larry McVoy β $Date$ β and yeah this is LMDD(8) from LMBENCH, mwah ππ¦
π¦ where this page comes from
- debian bookworm: lmbench 3.0-a9+debian.1-6
- debian trixie: lmbench 3.0-a9+debian.1-9
- ubuntu jammy: lmbench 3.0-a9+debian.1-6
- ubuntu noble: lmbench 3.0-a9+debian.1-6build3
- ubuntu questing: lmbench 3.0-a9+debian.1-9
- ubuntu resolute: lmbench 3.0-a9+debian.1-10
- ubuntu stonking: lmbench 3.0-a9+debian.1-10
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms