永发信息网

linux中怎么测试单个口 USB 的读写速度的问题

答案:2  悬赏:80  手机版
解决时间 2021-01-26 12:27
  • 提问者网友:精神病院里
  • 2021-01-25 19:21
在linux系统中,插入U盘出现了sda1的设备节点,U盘里面已经放了一个500M的压缩文件,
我要测试写入的速度的话执行:dd if=/dev/sda1 of =/dev/null bs=100M count=1;
测试读出的话:dd if=/dev/zero of =/dev/sda1 bs=100M count=1;
哪位大神能指导下错误地方,我参考这个资料实现的:http://www.cnblogs.com/jacktu/archive/2010/06/28/1766791.html
最佳答案
  • 五星知识达人网友:举杯邀酒敬孤独
  • 2021-01-25 19:33
第一,你把方向搞反了
第二,测试的/dev/null文件也是错的

先了解以下概念:
(1)首先null文件时一个黑洞文件,你把它理解为垃圾桶就行,什么废旧不需要的文件只需往里扔,进入它的内容都会永远丢失
(2)zero文件当你读它的时候,它会提供无限的空字符(NULL, ASCII NUL, 0x00),最长用的做法就是想你这样生产一个特定大小的空白文件。
(3)if是读出来 of是写进去。

所以应该是这样
你还得把你的U盘设置一个挂载点,挂载到一个位置上,然后再往里写入,如

mount /dev/sda1 /mnt

应该如下:
1、测试写入应该这样:
dd if=/dev/zero of=/mnt/test.txt bs=100M count=1
2、测试读取是这样:
dd if=/mnt/test.txt of=/dev/null bs=100M count=1

纯手打,采取吧。。。。
全部回答
  • 1楼网友:枭雄戏美人
  • 2021-01-25 20:24
1、先熟悉两个特殊的设备: (1)/dev/null:回收站、无底洞。 (2)/dev/zero:产生字符。 2、测试磁盘写能力 代码如下: time dd if=/dev/zero of=/testw.dbf bs=4k count=100000 因为/dev//zero是一个伪设备,它只产生空字符流,对它不会产生io,所以,io都会集中在of文件中,of文件只用于写,所以这个命令相当于测试磁盘的写能力。命令结尾添加oflag=direct将跳过内存缓存,添加oflag=sync将跳过hdd缓存。 3、测试磁盘读能力 代码如下: time dd if=/dev/sdb of=/dev/null bs=4k 因为/dev/sdb是一个物理分区,对它的读取会产生io,/dev/null是伪设备,相当于黑洞,of到该设备不会产生io,所以,这个命令的io只发生在/dev/sdb上,也相当于测试磁盘的读能力。(ctrl+c终止测试) 4、测试同时读写能力 代码如下: time dd if=/dev/sdb of=/testrw.dbf bs=4k 在这个命令下,一个是物理分区,一个是实际的文件,对它们的读写都会产生io(对/dev/sdb是读,对/testrw.dbf是写),假设它们都在一个磁盘中,这个命令就相当于测试磁盘的同时读写能力。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯