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

📄 whatsnew-jan29,2001

📁 Linux磁盘测试的源代码,测试磁盘的读写性能
💻
📖 第 1 页 / 共 2 页
字号:
Last Updated: February 2nd, 2001 by Robin Miller	This is a major release of 'dt'.  Many new features have beenadded, and the code has been restructured quite a bit to accomodatethese changes and future enhancements.	The following changes were made to 'dt' Version 14.0:     o	Slice & Dice:  A powerful new option (IMHO) has been added	for random access devices.  A slices=value option was added	which divides the media into slices.  Each slice contains a	a range of blocks to operate on.  If no pattern is specified,	each slice is started with a different data pattern.  Each	subsequent pass alternates through the 12 internal patterns.	Furthermore, each slice can have multiple processes and/or	async I/O's (aios=value).  So with a single command, you can	generate a very heavy I/O load, great for stress testing!	Note: AIO is only supported on Tru64 Unix and SCO UnixWare.     o	You can now enable variable length request sizes, by using	incr=var{iable} with the min/max= options.  The request size	calcualated will (of course) be between the min/max values	and be device size bytes aligned. (see example below)     o	It is now possible to specify the I/O direction for random	access devices (disks, CD-ROM's, file system, etc).  The new	iodir={forward,reverse} option controls this.  When reverse	I/O reaches the beginning of media, 'dt' will exit with 254,	which is its' normal end of file (EOF) status code.     o	Random I/O options (iotype=random or iodir=reverse) is now	supported with regular files (i.e., files on a file system).	The only caveat is that you must specify a data limit using	the limit/records= options, since my find capacity algorthm	won't work with regular files :-)     o	The hard coded 512 byte blocking previously imposed with the	IOT test pattern (pattern=iot) has been lifted. The blocking	used is setup from 1) dsize=value option, 2) lbs=value option,	3) device IOCTL (Tru64 only), or 4) defaults to 512 bytes.	This restriction was lifted, since the Windows IOT test discs	are blocked at 2048 bytes (native CD-ROM 2K block size).     o	Windows enhancements were made to recognize physical devices	and Cygnus mounted tape names (/dev/rmtN and /dev/nrmtN),	which is necessary for proper tape operation.     o	The "volumes=" and "vrecords=" options have been added to aid	with multi-volume testing, esp. for tapes.  With these options	you simply tell 'dt' how many volumes to write, and the number	of records to write on the last volume.  This resolves capacity	guessing problems with tapes, where data compression and varying	media capacities, were problematic for our test scripts.	Also Note:  After changing media and continuing, if using a tape	device, a rewind operation is performed to ensure the device is	ready before continuing.  This latter check is esp. important when	changing tapes on Linux and Windows.     o	Miscellaneous Changes:	- Additional checking to catch illegal or dangerous combinations	  of options.  For example, for IOT or Lbdata options, the block	  size must be greater than sizeof(u_int32), which is the size	  of the lba encoded at the beginning of each record.	- Better sanity checking for random access device options. The	  major checks in this area are to ensure block sizes are modulo	  the device size.  This additional checking can be bypassed by	  using the new "enable=bypass" option (this latter option may	  by of interest to those of you on Tru64 Unix doing non-modulo	  disk block access).  In general, these sanity checks prevent	  unexpected test failures.	- When using multiple processes (procs=) with regular files, a	  different pattern is used for each file, unless you specify a	  pattern to use.  Use the disable=unique to avoid this action.	  This pattern usage is consistent with that implemented with	  the new slices= option (i.e. different pattern for each slice).	- The "rseed=value" no longer enabled random I/O automatically.	  This option simply sets the random number generator seed now,	  since this option is necessary for variable request sizes too.	- When "enable=Debug" is specified, when using rotating media	  or the IOT/Lbdata options, the lba is now reported with record	  information.	- Extended statistics are reported when random I/O and/or slices	  options were specified.	- When aborting child processes, a SIGINT is now sent instead	  of SIGTERM, so the child process can report its' statistics.	  This was important for long running tests.  If SIGINT is	  problematic, I'll add an option to specify the kill signal.	- Some functions were converted to macros to inline code, which	  hopefully improves performance a little.	- Existing output files are no longer deleted automatically.	  Only files created by 'dt' get deleted.  Use dispose=delete,	  *if* you want existing output files deleted.	- When using multiple slices to an existing output file, the	  file is *not* deleted to avoid races with multiple procs.	Please see attached examples for use of these new options. 	Within Compaq, the updated 'dt' kits are located @ URL:		http://www.zk3.dec.com/~rmiller/dt.html				or		http://leto.shr.dec.com/~rmiller/dt.html	External to Compaq, you can obtain 'dt' kits from URL:		http://www.bit-net.com/~rmiller/dt.htmlCheers,Robin==============================================================================tru64% dt of=/dev/rrz1c bs=256k capacity=12g limit=1m slices=12 enable=debug,lbdata,rawdt: Data limit set to 12884901888 bytes (12288.000 Mbytes), 25165824 blocks.dt: Started process 18122...dt: Started process 18121...dt: Started process 18127...dt: Started process 18126...dt: Started process 18128...dt: Started process 18115...dt: Started process 18133...dt: Started process 18134...dt: Started process 18132...dt: Started process 18131...dt (18122): Start Position 0 (lba 0), Limit 1048576, Pattern 0x39c39c39dt (18122): Attempting to open output file '/dev/rrz1c', open flags = 02 (0x2)...dt (18121): Start Position 1073741824 (lba 2097152), Limit 1048576 bytesdt (18121): Attempting to open output file '/dev/rrz1c', open flags = 02 (0x2)...dt (18127): Start Position 2147483648 (lba 4194304), Limit 1048576 bytesdt (18127): Attempting to open output file '/dev/rrz1c', open flags = 02 (0x2)...dt (18126): Start Position 3221225472 (lba 6291456), Limit 1048576 bytesdt (18126): Attempting to open output file '/dev/rrz1c', open flags = 02 (0x2)...dt (18128): Start Position 4294967296 (lba 8388608), Limit 1048576 bytesdt (18128): Attempting to open output file '/dev/rrz1c', open flags = 02 (0x2)...dt (18115): Start Position 5368709120 (lba 10485760), Limit 1048576 bytesdt (18115): Attempting to open output file '/dev/rrz1c', open flags = 02 (0x2)...dt (18133): Start Position 6442450944 (lba 12582912), Limit 1048576 bytesdt (18133): Attempting to open output file '/dev/rrz1c', open flags = 02 (0x2)...dt (18134): Start Position 7516192768 (lba 14680064), Limit 1048576 bytesdt (18134): Attempting to open output file '/dev/rrz1c', open flags = 02 (0x2)...dt (18132): Start Position 8589934592 (lba 16777216), Limit 1048576 bytesdt (18132): Attempting to open output file '/dev/rrz1c', open flags = 02 (0x2)...dt (18131): Start Position 9663676416 (lba 18874368), Limit 1048576 bytesdt (18131): Attempting to open output file '/dev/rrz1c', open flags = 02 (0x2)...		.		.		.Total Statistics (18138):     Output device/file name: /dev/rrz1c (Device: BB01811C, type=disk)     Type of I/O's performed: sequential (forward, read-after-write)      Slice Range Parameters: position=11811160064 (lba 23068672), limit=1048576      Current Slice Reported: 12/12   Data pattern read/written: 0xffffffff (w/lbdata, lba 0, size 512 bytes)     Total records processed: 8 @ 262144 bytes/record (256.000 Kbytes)     Total bytes transferred: 2097152 (2048.000 Kbytes, 2.000 Mbytes)      Average transfer rates: 1797559 bytes/sec, 1755.429 Kbytes/sec     Number I/O's per second: 6.857      Total passes completed: 1/1       Total errors detected: 0/1          Total elapsed time: 00m01.16s           Total system time: 00m00.00s             Total user time: 00m00.05s               Starting time: Mon Jan 29 14:38:49 2001                 Ending time: Mon Jan 29 14:38:51 2001dt: Child process 18138, exiting with status 0tru64% ==============================================================================tru64% dt of=/dev/rrz1c bs=64k capacity=10g procs=2 slices=4 enable=debug,lbdatadt (21933): Data limit set to 10737418240 bytes (10240.000 Mbytes), 20971520 blocks.dt: Started process 21930...dt: Started process 21937...dt: Started process 21938...dt: Started process 21939...dt: Waiting for 4 child processes to complete...dt (21930): Start Position 0 (lba 0), Limit 2684354560 bytesdt: Started process 21940...dt: Started process 21936...dt: Started process 21935...dt: Started process 21942...dt: Waiting for 4 child processes to complete...dt (21937): Start Position 2684354560 (lba 5242880), Limit 2684354560 bytesdt: Started process 21943...dt: Started process 21941...dt: Started process 21946...dt: Started process 21947...dt: Waiting for 4 child processes to complete...dt (21938): Start Position 5368709120 (lba 10485760), Limit 2684354560 bytesdt: Started process 21945...dt: Started process 21953...dt: Started process 21954...dt: Started process 21956...dt: Waiting for 4 child processes to complete...dt (21939): Start Position 8053063680 (lba 15728640), Limit 2684354560 bytesdt: Started process 21955...dt: Started process 21952...dt: Started process 21951...dt: Started process 21950...dt: Waiting for 4 child processes to complete...dt (21940): Attempting to open output file '/dev/rrz1c', open flags = 01 (0x1)...dt (21936): Attempting to open output file '/dev/rrz1c', open flags = 01 (0x1)...dt (21935): Attempting to open output file '/dev/rrz1c', open flags = 01 (0x1)...dt (21942): Attempting to open output file '/dev/rrz1c', open flags = 01 (0x1)...dt (21943): Attempting to open output file '/dev/rrz1c', open flags = 01 (0x1)...dt (21941): Attempting to open output file '/dev/rrz1c', open flags = 01 (0x1)...dt (21946): Attempting to open output file '/dev/rrz1c', open flags = 01 (0x1)...dt (21947): Attempting to open output file '/dev/rrz1c', open flags = 01 (0x1)...dt (21940): Output file '/dev/rrz1c' successfully opened, fd = 3		.		.		.Total Statistics (21942):     Output device/file name: /dev/rrz1c (Device: BB01811C, type=disk)     Type of I/O's performed: sequential (forward)    Current Process Reported: 4/4   Data pattern read/written: 0x39c39c39 (w/lbdata, lba 0, size 512 bytes)     Total records processed: 81920 @ 65536 bytes/record (64.000 Kbytes)     Total bytes transferred: 5368709120 (5242880.000 Kbytes, 5120.000 Mbytes)      Average transfer rates: 464246 bytes/sec, 453.365 Kbytes/sec     Number I/O's per second: 7.084      Total passes completed: 1/1       Total errors detected: 0/1          Total elapsed time: 3h12m44.36s           Total system time: 00m13.71s             Total user time: 04m49.36s               Starting time: Tue Jan 30 08:51:00 2001                 Ending time: Tue Jan 30 12:03:44 2001dt: Child process 21942, exiting with status 0dt: Child process 21930, exiting with status 0tru64% ==============================================================================tru64% dt of=/dev/rrz1c min=4k max=256k incr=variable enable=Debug,lbdata disable=pstats count=3dt: Attempting to open output file '/dev/rrz1c', open flags = 01 (0x1)...dt: Output file '/dev/rrz1c' successfully opened, fd = 3dt: Allocated buffer at address 0x140036000 of 262148 bytes, using offset 0dt: Record #1 (lba 0), Writing 4096 bytes from buffer 0x140036000...dt: Record #2 (lba 8), Writing 235520 bytes from buffer 0x140036000...dt: Record #3 (lba 468), Writing 225280 bytes from buffer 0x140036000...dt: End of Write pass 0, records = 3, errors = 0, elapsed time = 00m00.05sdt: Closing file '/dev/rrz1c', fd = 3...dt: Attempting to reopen file '/dev/rrz1c', open flags = 00 (0)...dt: File '/dev/rrz1c' successfully reopened, fd = 3dt: Record #1 (lba 0), Reading 4096 bytes into buffer 0x140036000...dt: Record #2 (lba 8), Reading 235520 bytes into buffer 0x140036000...dt: Record #3 (lba 468), Reading 225280 bytes into buffer 0x140036000...

⌨️ 快捷键说明

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