linux 磁盘延时,Linux:如何模拟硬盘延迟?我想在不使用CPU电源的情况下增加iowait值...

设备映射器“延迟”设备

查看设备映射器设备的“延迟”目标。这正是它存在的原因。

这是如何进行此操作的示例:

创建一个可以读取/写入的位置

[root@centos6 ~]# dd if=/dev/zero of=/tmp/100M-of-zeroes bs=1024k count=100

100+0 records in

100+0 records out

104857600 bytes (105 MB) copied, 0.141834 s, 739 MB/s

使其成为块设备

Dev-mapper仅从一个块设备映射到另一块设备,而不在文件和块设备之间映射。这就是回送设备的工作。

[root@centos6 ~]# losetup --show --find /tmp/100M-of-zeroes

/dev/loop0

以块为单位获取设备大小

由于这是开发映射器稍后需要的...

[root@centos6 ~]# blockdev --getsize /dev/loop0

204800

设置“慢速”设备

# echo "0 204800 delay /dev/loop0 0 200" | dmsetup create dm-slow

(about a 30 second pause here with no output)

上面“ echo”命令中设备映射器设置表中的字段是:

设备映射器设备此部分的起始扇区(0)

设备映射器设备此部分的扇区数(204800)

此部分的设备映射器设备的类型(延迟)

“ delay”的第一个参数,是延迟后用于实际读取/写入的设备

“ delay”的第二个参数,它是源设备中要使用的偏移量(0)

“ delay”的第三个参数,它是延迟读取(或在未指定其他参数的情况下进行读写)的时间的毫秒数。(200)

我们只有一条线,因为我们将整个设备映射器设备视为相同,但是这使您可以使用不同的后备设备来拥有不同的扇区,仅使其中一些运行缓慢,仅使其中一些发出错误,等等。

See https://linux.die.net/man/8/dmsetup for more info, including the possibly-also-useful "flakey" mapper type. Authoritative documentation on device-mapper's delay feature is at https://www.kernel.org/doc/Documentation/device-mapper/delay.txt

慢吗?

[root@centos6 ~]# dd if=/dev/mapper/dm-slow of=/dev/null count=25000

25000+0 records in

25000+0 records out

12800000 bytes (13 MB) copied, 10.2028 s, 1.3 MB/s

是的,这非常慢,尤其是与原始版本相比:

[root@centos6 ~]# dd if=/dev/loop0 of=/dev/null count=25000

25000+0 records in

25000+0 records out

12800000 bytes (13 MB) copied, 0.0361308 s, 354 MB/s

因此,映射的设备肯定会引入延迟。

结合以上

我故意将事情分解开来,因此该过程很容易遵循。但是,您可以轻松地将上述步骤组合成更少的命令。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值