一直以为dd只能用于裸设备级别的读写操作,其实也可以用于块设备文件系统级别的读写,而且可对文件系统如何进行读写有个更透彻的了解。
1. 字符设备(裸设备)的读写,由bs控制读写块的大小
bash-3.00# dd if=/dev/rdsk/c0t0d0s0 of=/dev/null bs=1024k
bash-3.00# iostat -xndz 2
r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device
79.0 0.5 80904.7 3.0 0.0 1.6 0.0 20.6 0 100 c0t0d0
extended device statistics
r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device
79.0 0.5 80896.8 4.0 0.0 1.4 0.0 17.8 0 100 c0t0d0
extended device statistics
r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device
79.5 0.0 81408.4 0.0 0.0 1.0 0.0 12.5 0 100 c0t0d0
由计算block size公式可得每次读写的块大小为1024k,并且IOPS为79.5 。
2. 文件系统(块设备)的读写,solaris ufs默认为128k
bash-3.00# dd if=/dev/dsk/c0t0d0s0 of=/dev/null bs=1024k
bash-3.00# iostat -xndz 2
extended device statistics
r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device
637.4 0.0 81592.0 0.0 0.0 0.9 0.0 1.5 1 93 c0t0d0
extended device statistics
r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device
599.5 9.0 76675.8 7.7 0.0 2.7 0.0 4.5 1 97 c0t0d0
extended device statistics
r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device
638.0 0.0 81662.4 0.0 0.0 0.9 0.0 1.5 1 93 c0t0d0
由计算block size公式可得每次读写的块大小为128k,虽然在dd命令时bs设置为1024k,并且IOPS增加到638.0 。
UFS文件系统的最大读写块大小为128k 。
阅读(2359) | 评论(0) | 转发(0) |