⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dt.help

📁 Linux磁盘测试的源代码,测试磁盘的读写性能
💻 HELP
字号:
			Overview of 'dt' Program			------------------------	The 'dt' program is a generic data transfer program which wasoriginally written to test sequential tape drives.  It's purpose was toprovide many of the features available via the 'dd' utility except withdata verification and performance statistics.	After the initial development was completed, it was found that'dt' was also useful for testing disk devices using both the raw andfile system interfaces.	Eventually, there was a need to test terminal interfaces and sovarious commands were added to control this testing (flow control, speed,parity, etc.).  The terminal support which resides in 'dt' was written forSun's streams based terminal driver.  This code has been conditionalizedappropriately for ULTRIX, OSF, and QNX terminal drivers.	When memory mapped files became available, this support was alsoadded to 'dt' so we could compare this performance with normal file systemperformance.  This code is conditionalized for SUN and OSF systems.	When I was performing my qualification of the RRD42 on ULTRIX, Iadded several more useful options which allowed testing using the RRD TESTDISC which is shipped with the RRD40.  This disk contains various datapatterns which was very useful for debugging several data corruptionproblems in the SCSI drivers.   I added the ability to read a pattern fileand to seek to various positions of the disk to verify each data pattern.	An option was added to force use of mis-aligned data buffers to testcode paths in drivers which must do special handling of this condition.This is accomplished by specifiying a buffer offset (align=) which offsetsthe normally page aligned buffers to force unaligned data access.	New Features:	"procs="	To initiate multiple processes.	"files="	To process multiple tape files.	"step="		To force seeks after disk I/O.	"runtime="	To control how long to run.	"enable=aio"	To enable POSIX Asynchronous I/O.	"aios=value"	To set POSIX AIO's to queue (default 8).	"align=rotate"	To rotate data address through sizeof(ptr).	"pattern=incr"	To use an incrementing data pattern.	"min="		To set the minimum record size.	"max="		To Set the maximum record size.	"incr="		To set the record bytes to increment.	The "procs" option is useful for load testing, & testing buffercache, driver, and controller optimizations.  The "files" option is usefulfor verifying tape drivers properly report & reset file marks & end of tapeconditions.  The "step" option is useful to cause non-sequential disk access.The "min", "max", & "incr" options are used for variable length records.  Inaddition to these options, errors now have a timestamp associated with them,and the start & end times are displayed in the total statistics.		There are several useful scripts I've developed which use 'dt' fortesting.  These script reside in the ~rmiller/utils/dt directory along withthe source code and pattern files required for testing with the RRD TEST DISC.A short overview of these scripts is described below:	dta	For testing asynhronous terminal lines.	dtc	Test the RRD40/42 using the RRD TEST DISC.	dtf	For testing floppy drives.	dtt	For testing tape devices.	dtr	To read data patterns written by 'dtw'.	dtw	Writes the data pattens obtained from the RRD TEST DISC.		These pattern files are named pattern_[0-9]	A common script could be developed to replace most of the existingscripts, but I'm not a script expert so a simple cut & paste does the job.	The help text below is what resides in the 'dt' program.  Pleasealso be aware that 'dt' will let you hurt yourself if you have write accessto raw disk devices (i.e., running as root).  'dt' does not verify whethera disk is mounted or whether it contains file systems. The best way to learn'dt' is to simply play with it by specifying different options.	Good luck, and have fun...Cheers,Robin Miller================================================================================% dt helpUsage: dt options...    Where options are:        if=filename      The input file to read.        of=filename      The output file to write.        pf=filename      The data pattern file to use.        bs=value         The block size to read/write.        log=filename     The log file name to write.        aios=value       Set number of AIO's to queue.        align=offset     Set offset within page aligned buffer.    or  align=rotate     Rotate data address through sizeof(ptr).        dispose=mode     Set file dispose to: {delete or keep}.        dlimit=value     Set the dump data buffer limit.        dtype=string     Set the device type being tested.        errors=value     The number of errors to tolerate.        files=value      Set number of tape files to process.        flow=type        Set flow to: none, cts_rts, or xon_xoff.        incr=value       Set number of record bytes to increment.        iomode=mode      Set I/O mode to: {copy, test, or verify}.        iotype=type      Set I/O type to: {random or sequential}.        min=value        Set the minumum record size to transfer.        max=value        Set the maximum record size to transfer.        lba=value        Set starting block used w/lbdata option.        lbs=value        Set logical block size for lbdata option.        limit=value      The number of bytes to transfer.        munsa=string     Set munsa to: cr, cw, pr, pw, ex.        flags=flags      Set open flags:   {excl,sync,...}        oflags=flags     Set output flags: {append,trunc,...}        oncerr=action    Set child error action: {abort or continue}.        parity=string    Set parity to: {even, odd, or none}.        passes=value     The number of passes to perform.        pattern=value    The 32 bit hex data pattern to use.    or  pattern=iot      Use DJ's IOT test pattern.    or  pattern=incr     Use an incrementing data pattern.    or  pattern=string   The string to use for the data pattern.        position=offset  Position to offset before testing.        procs=value      The number of processes to create.        ralign=value     The random I/O offset alignment.        rlimit=value     The random I/O data byte limit.        records=value    The number of records to process.        runtime=time     The number of seconds to execute.        skip=value       The number of records to skip past.        seek=value       The number of records to seek past.        step=value       The number of bytes seeked after I/O.        speed=value      The tty speed (baud rate) to use.        timeout=value    The tty read timeout in .10 seconds.        ttymin=value     The tty read minimum count (sets vmin).        enable=flag      Enable one or more of the flags below.        disable=flag     Disable one or more of the flags below.    Flags to enable/disable:        aio              POSIX Asynchronous I/O.(Default: disabled)        compare          Data comparison.       (Default: enabled)        coredump         Core dump on errors.   (Default: disabled)        debug            Debug output.          (Default: disabled)        Debug            Verbose debug output.  (Default: disabled)        dump             Dump data buffer.      (Default: enabled)        eei              Tape EEI reporting.    (Default: enabled)        resets           Tape reset handling.   (Default: disabled)        flush            Flush tty I/O queues.  (Default: enabled)        header           Log file header.       (Default: enabled)        lbdata           Logical block data.    (Default: disabled)        loopback         Loopback mode.         (Default: disabled)        microdelay       Microsecond delays.    (Default: disabled)        mmap             Memory mapped I/O.     (Default: disabled)        modem            Test modem tty lines.  (Default: disabled)        pstats           Per pass statistics.   (Default: enabled)        stats            Display statistics.    (Default: enabled)        table            Table(sysinfo) timing. (Default: disabled)        ttyport          Flag device as a tty.  (Default: disabled)        verbose          Verbose output.        (Default: enabled)        verify           Verify data written.   (Default: enabled)        Example: enable=debug disable=compare,pstats    MUNSA Lock Options:        cr = Concurrent Read (permits read access, cr/pr/cw by others)        pr = Protected Read (permits cr/pr read access to all, no write)        cw = Concurrent Write (permits write and cr access to resource by all)        pw = Protected Write (permits write access, cr by others)        ex = Exclusive Mode (permits read/write access, no access to others)            For more details, please refer to the dlm(4) reference page.    Common Open Flags:        excl (O_EXCL)         Exclusive open. (don't share)        ndelay (O_NDELAY)     Non-delay open. (don't block)        nonblock (O_NONBLOCK) Non-blocking open/read/write.        cache (O_CACHE)       Attempt to keep data in file system cache.        rsync (O_RSYNC)       Synchronize read operations.        sync (O_SYNC)         Sync updates for data/file attributes.    Output Open Flags:        append (O_APPEND)     Append data to end of existing file.        defer (O_DEFER)       Defer updates to file during writes.        dsync (O_DSYNC)       Sync data to disk during write operations.        trunc (O_TRUNC)       Truncate an exisiting file before writing.    Delays (Values are seconds, unless microdelay enabled):        cdelay=value     Delay before closing the file.    (Def: 0)        edelay=value     Delay between multiple passes.    (Def: 0)        rdelay=value     Delay before reading each record. (Def: 0)        sdelay=value     Delay before starting the test.   (Def: 0)        tdelay=value     Delay before child terminates.    (Def: 1)        wdelay=value     Delay before writing each record. (Def: 0)    Numeric Input:        For options accepting numeric input, the string may contain any        combination of the following characters:        Special Characters:            w = words (4 bytes)            q = quadwords (8 bytes)            b = blocks (512 bytes)         k = kilobytes (1024 bytes)            m = megabytes (1048576 bytes)  p = page size (8192 bytes)            g = gigabytes (1073741824 bytes)            t = terabytes (1099511627776 bytes)            inf or INF = infinity (18446744073709551615 bytes)        Arithmetic Characters:            + = addition                   - = subtraction            * or x = multiplcation         / = division            % = remainder        Bitwise Characters:            ~ = complement of value       >> = shift bits right           << = shift bits left            & = bitwise 'and' operation            | = bitwise 'or' operation     ^ = bitwise exclusive 'or'        The default base for numeric input is decimal, but you can override        this default by specifying 0x or 0X for hexadecimal conversions, or        a leading zero '0' for octal conversions.  NOTE: Evaluation is from        right to left without precedence, and parenthesis are not permitted.    Pattern String Input:            \\ = Backslash   \a = Alert (bell)   \b = Backspace            \f = Formfeed    \n = Newline        \r = Carriage Return            \t = Tab         \v = Vertical Tab   \e or \E = Escape            \ddd = Octal Value    \xdd or \Xdd = Hexadecimal Value    Time Input:            d = days (86400 seconds),      h = hours (3600 seconds)            m = minutes (60 seconds),      s = seconds (the default)        Arithmetic characters are permitted, and implicit addition is        performed on strings of the form '1d5h10m30s'.    Defaults:        errors=1, files=0, passes=1, records=0, bs=512, log=stderr        pattern=0x39c39c39, flow=xon_xoff, parity=none, speed=9600        timeout=3 seconds, dispose=delete, align=0 (page aligned)        aios=8, dlimit=64, oncerr=continue, iomode=test, iotype=sequential    --> Date: July 22nd, 1999, Version: 11.14, Author: Robin T. Miller <--% 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -