Linux系统下DD命令是常用的命令之一linux 内存测试软件linux系统编程,同时DD命令的使用范围也比较广泛。不仅已知的可以用DD命令来复制文件外,还可以用DD命令来测试c盘的性能。这么怎样使用DD命令测试Linuxc盘的性能?
下边直接介绍几种常见的DD命令,先看一下他的区别:
ddbs=64kcount=4kif=/dev/zeroof=test
ddbs=64kcount=4kif=/dev/zeroof=test;sync
ddbs=64kcount=4kif=/dev/zeroof=testconv=fdatasync
ddbs=64kcount=4kif=/dev/zeroof=testoflag=dsync
这四条DD命令区别在于显存中写缓存的处理方法:
1.ddbs=64kcount=4kif=/dev/zeroof=test
没有加任何参数,dd默认的方法不包括“同步(sync)”命令。也就是说,dd命令完成前并没有让系统真正把文件讲到c盘上。所以以上命令只是单纯地把这128MB的数据读到显存缓冲当中(写缓存[writecache])。所以你得到的将是一个超级快的速率。由于虽然dd给你的只是读取速率,直至dd完成后系统才开始真正往c盘上写数据,但这个速率你是看不到了。所以假如这个速率很快,没有哪些作用。
实际运行结果:
268435456bytes(268MB)copiedlinux删除文件夹,1.3529seconds,198MB/s
2.ddbs=64kcount=4kif=/dev/zeroof=test;sync
和上面1中的完全一样。分号隔开的只是先后两个独立的命令。当sync命令打算开始往c盘上真正写入数据的时侯,上面dd命令已然把错误的“写入速率”值显示在屏幕上了。所以你还是得不到真正的写入速率。
实际运行结果:
268435456bytes(268MB)copied,0.522815seconds,513MB/s
3.ddbs=64kcount=4kif=/dev/zeroof=testconv=fdatasync
加入这个参数后,dd命令执行到最后会真正执行一次“同步(sync)”操作,所以这时侯你得到的是读取这128M数据到显存并写入到c盘上所需的时间,这样算下来的时间才是比较符合实际使用结果的。
实际运行结果:
268435456bytes(268MB)copied,2.8046seconds,95.7MB/s
4.ddbs=64kcount=4kif=/dev/zeroof=testoflag=dsync
加入这个参数后,dd在执行时每次就会进行同步写入操作。也就是说,这条命令每次读取64k后就要先把这64k写入c盘,之后再读取下边这64k,一共重复128次。这可能是最慢的一种形式了,由于基本上没有用到写缓存(writecache)。
实际运行结果:
268435456bytes(268MB)copied,3.40069seconds,78.9MB/s
通常来说,第四种方式是最严格的,可以模拟数据库的插入操作,所以很慢,也是拿来测试vps硬碟性能标准的一条典范,通常来说测试结果,假若超过10M,对正常建站就无影响。超过50M,就是十分给力状态,看了这个vps硬碟性能十分的好,DD速率达到了78.9MB/s。
在这几条命令中,bs=64k表示同时读入/输出的块大小为64k个字节,count=4k表示拷贝块的个数为4000个,假如测试再严格一点,我们运行1G数据量的DD:
ddif=/dev/zeroof=testbs=64kcount=16koflag=dsync
表示每位块大小为64k个字节,测试16k个数目的块,实际测试结果:
1073741824bytes(1.1GB)copiedlinux 内存测试软件,18.9098seconds,56.8MB/s
以上就是使用DD命令测试Linuxc盘的性能的方式了,虽然这个方式的原理还是使用DD命令的复制功能,通过文件转移的速率来测试c盘的读写频度。