标签:16.11 MB dd 写入 dev 2000 io Linux 硬盘
当将数据写入文件时,内核通常先将该数据复制到其中一个缓冲区中,如果该缓冲区尚未写满,则并不将其排入输出队列,而是等待其写满或者当内核需要重用 该缓冲区以便存放其他磁盘块数据时,再将该缓冲排入输出队列,然后待其到达队列时,才进行实际的I/O操作。 conv=fdatasync 参数,当 dd 命令结束前,一次性把所有的数据写到磁盘上,因此写入速度非常快。 oflag=dsync 参数,每执行一次写入一次硬盘,比较慢测试写:
time -p bash -c "(dd if=/dev/zero of=test.dd bs=1M count=2000 conv=fdatasync)" 2000+0 records in 2000+0 records out 2097152000 bytes (2.1 GB) copied, 16.0832 s, 130 MB/s real 16.11 user 0.00 sys 4.56
这里可以看到:写入2000M的时间是16.11s,所以磁盘的写速度为124MB/sec(2000M/16.11)
测试读:
hdparm -t --direct /dev/sda3 /dev/sda3: Timing O_DIRECT disk reads: 426 MB in 3.06 seconds = 139.35 MB/sec
这里可以看到:在3秒时间内读取426MB,每秒读取139.35MB
标签:16.11,MB,dd,写入,dev,2000,io,Linux,硬盘 来源: https://www.cnblogs.com/lucktomato/p/16257393.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。