scu. SCSI 命令实用程序 (SCU) 实现了 SCSI 外围设备正常维护和诊断所需的各种 SCSI 命令。它的一些功能包括:格式化、扫描(和重新分配)坏块、下载新固件、执行诊断和获取性能信息。它可在多个 Unix 平台(和 NT)上使用,但目前仅以二进制形式提供。有关更多详细信息,请参见 www.bit-net.com/~rmiller/scu.html。
dd. 非常适用于测试磁盘和 cdrom/dvd 的流式传输性能。有关更多详细信息,请参见 man dd。以下示例演示如何计时磁盘读取 1 GB(10**9 字节),从块 0 开始
$ time dd if=/dev/sda of=/dev/null bs=512 count=1953126 |
$ time dd if=/dev/raw/raw1 of=/dev/null bs=512 count=1953126 |
dt. 数据测试 (DT) 程序模仿了 dd 的语法,但 dt 可以做比顺序复制更多的事情。它是一个全面的数据测试程序,适用于 SCSI 设备,例如磁盘、磁带和 cdrom/dvd。它可在多个 Unix 平台(和 NT)上使用,并且其源代码可用(与之前讨论的其稳定的伙伴“scu”不同)。有关更多详细信息,请参见 www.bit-net.com/~rmiller/dt.html。
lmdd. 此命令是 lmbench 程序套件的一部分,并且是 dd 命令的变体。它专为 IO 测量而定制,并在完成时输出时间和吞吐量数字。因此,不需要 time 命令和计算器。
blockdev. 获取块设备(通常是磁盘)的扇区大小、扇区数和预读状态。也可用于刷新缓冲区和重新读取分区表。请参见 man blockdev。
sg_dd. 此命令是 sg_utils 包的一部分(请参见 W4),并且是 dd 命令的另一个变体,其中输入和/或输出文件是 sg 或原始设备。块大小参数 (“bs”) 必须与所讨论的物理设备的块大小相匹配。“skip”和“seek”参数在 32 位架构上最多可以是 2**31 - 1,允许访问 1TB 磁盘 (2G * 512)。Linux 系统命令 llseek() 用于以 64 位文件读/写偏移量进行查找。lmdd 不处理 > 2GB 的情况,而 dd 命令则创造性地进行多次相对查找。sg_dd 具有一个 “bpt”(每次传输的块数)参数,用于控制每次 IO 事务中读取或写入的块数。
sg_utils 包中还有其他程序可以扫描 SCSI 总线 (sg_scan 和 sg_map)、测量 SCSI 总线吞吐量 (sg_rbuf 和 sg_turs )、显示来自 SCSI inquiry 命令的数据 (sg_inq) 以及启动(或停止)介质 (sg_start)。
dd_rescue + scsiinfo. 此 dd 变体旨在抢救损坏的介质,例如 SCSI(或 IDE)磁盘和 CDROM(请参见 W6)。用于显示和更改模式页面信息的 scsiinfo 实用程序也在该站点。
sard. 此实用程序模仿 System V Release 4 的 sar -d,用于生成已挂载设备和分区 的 IO 统计信息。它由 Stephen Tweedie 开发,包括 sard 实用程序和一个必需的内核补丁,该补丁扩展了/proc/partitions的输出。它可以在 ftp.uk.linux.org/pub/linux/sct/fs/profiling 中找到。与 vmstat 等程序(请参见 “man vmstat”)相比,它在相对较低的级别(例如 SCSI 中间层)收集统计信息。