|
如何使您的USB读写速度有质的飞越
发表于 2015-6-3 15:08:41
浏览:9820
|
回复:3
打印
只看该作者
[复制链接]
楼主
本帖最后由 总有刁民想害朕 于 2015-6-3 15:26 编辑
标题党....
其实就是说下怎么提高NTFS格式的写速度。
想知道怎么测试读写速度的,这里有教程:
http://developer.t-firefly.com/thread-1021-1-1.html
很多人应该都知道,现在Openwrt是采用ntfs-3g挂载 ntfs格式的u盘的。但是ntfs-3g的写速度实在不怎样,恩山上很多大神(swigger大神),在华硕的一个固件里面抠出一个驱动 具体怎么做可以看这个帖子:
http://www.right.com.cn/forum/thread-164826-1-1.html
但是,那个驱动是针对3.14内核的,firewrt出来得晚,最少都3.18内核了。
我也不是专业的内核工程师,如果官方不支持,我也不想去折腾。可是最近在看firewrt的u盘挂载脚本的时候,发现firewrt早就支持ufsd了。
大概在 /etc/hotplug.d/block/30-mount 377行的样子:
elif [ "$isntfs" -a "$isfuse" -a "$isntfs3g" ]; then mkdir -p /mnt/$device
if [ "$isufsd" ]; then
chkntfs -f /dev/$device
mount_ret=$(mount -t ufsd /dev/$device /mnt/$device 2>&1)
mount_ret_erro=`echo $mount_ret | grep Failed`
else
mount_ret_erro="not support ufsd"
fi
if [ ! -z "$mount_ret_erro" ];then
mount_ret=$(ntfs-3g -o noatime,big_writes,async,nls=utf8 /dev/$device /mnt/$device 2>&1)
#echo "mount_ret ntfs = "$mount_ret
mount_ret_erro=`echo $mount_ret | grep Failed`
fi
可以看到如果当前固件支持ufsd的话,将会优先采用 ufsd挂载。如果没有,则采用 ntfs-3g挂载。
于是找呀找,在firewrt的软件源里面发现了这个驱动。kmod-fs-ufsd_3.18.11+2015-05-16-1_ramips_1004kc.ipk 。尝试安装看看咯~
这里想问一下,为什么都是 3.18.11内核,但是使用opkg install kmod-fs-ufsd的时候就会提示这个错误???
Collected errors:
* satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-fs-ufsd:
* kernel (= 3.18.11-1-90eeb1cec790a2b3422486f718006702) *
* opkg_install_cmd: Cannot install package kmod-fs-ufsd.
再尝试一下加--force-depends参数,安装成功。
对比一下读写速度吧。是用一个USB3.0的移动硬盘测试的。
用ntfs-3g测试的话:
读 time dd if=/dev/zero of=/mnt/sda1/testfile bs=1M count=1024 大概75M/s
写 time dd if=/mnt/sda1/testfile of=/dev/null 大概12.2M/s
用 ufsd测试的话:
读 time dd if=/dev/zero of=/mnt/sda1/testfile bs=1M count=1024 大概73.6M/s
写 time dd if=/mnt/sda1/testfile of=/dev/null 大概76M/s
这是经过很多次测试的数据了,用ufsd确实能有质的飞越。只是不明白为什么firewrt不内置进去。也没开放代码。
另外,这个ipk其实用在最新的trunk代码上也是可以的啦,最新是3.18.14
kmod-fs-ufsd_3.18.11 2015-05-16-1_ramips_1004kc.ipk
(183.85 KB, 下载次数: 28)
|
|