标签:falloc

【转】关于ls-wvl的aria2c的–file-allocation这一项的看法

最近我关于aria2的webclient发了若干文章关于各种优化和改进,希望对大家有一些启发作用,aria2这个工具确实不错,到目前为止比PT什么的用的多的多,而且容易上手,但今天我想关于他的一个参数展开讨论,也许这个是小的问题,但是我觉得从NAS发烧级层面上考虑值得讨论.

先介绍一下file allocation,下面的英文非常简单,我就不翻译了,man 了一下 aria2c

Specify file allocation method.  none doesn’t pre-allocate file space.  prealloc pre-allocates file space before download begins. This may take some time depending on the size of the file. If you are using newer file systems such as ext4 (with extents support), btrfs, xfs or NTFS(MinGW build only), falloc is your best choice. It allocates
large(few GiB) files almost instantly. Don’t use falloc with legacy file systems such as ext3 and FAT32 because it
takes almost same time as prealloc and it blocks aria2 entirely until allocation finishes.  falloc may not be available if your system doesn’t have posix_fallocate() function. Possible Values: none, prealloc, falloc Default:prealloc

其中他提及了如果你采用的是xfs或者ntfs或者ext4,他是强烈推荐你用falloc的,就是预先分配空间机制,我觉得如果你采用预先分配磁盘空间的话,你可以保证得到的是一片连续的区域,特别是当你看流文件的时候,可以让磁头减少跳转,提升磁盘寿命,就是这么简单的一个想法, 但我看论坛上的教程大部分都是让你把这个选项设置成none,于是我做一个权衡对比大家看看

设置成falloc:
优势:
1.可以预先申请得到一片连续的空间
2.减少磁头跳动
3.延长磁盘寿命
缺点:
1.一下子占用全部的空间(我觉得无所谓的),比如你的空间就30G,那么你同时下2部电影(20G和11G)的文件是做不到的,但这样的前提条件是你的磁盘空间吃劲到无法想象的地步.
2.预先分配空间需要一定时间,(16G的高清电影分配空间的时间大约1min)

设置成none
优势:
1.无需等待,即刻下载
2.磁盘空间慢慢减少,比如你的空间就30G,你可以同时下载2部电影(20G和11G),11G的会先下好,届时你的空间是22G被占用差不多,你可以先看11G的那部电影,看完后删除掉,等待第二部电影下好.时间上节约了不少,但这样的前提条件是你的磁盘空间吃劲到无法想象的地步.
缺点:
1.增加磁头跳转负担,无法保证得到一片连续的空间,特别是流媒体问题
2.对磁盘的寿命有影响

大家各取所需即可,我个人建议大家可以修改成falloc

原文:

http://nas1.cn/forum.php?mod=viewthread&tid=27086&page=1&authorid=56667