V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Exin
V2EX  ›  问与答

aria2 的下载过程太诡异了吧

  •  
  •   Exin · 2014-08-31 10:54:58 +08:00 · 28136 次点击
    这是一个创建于 3773 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如我要下载1GB的abc.rar
    从迅雷离线YAAW递交给aria2后,aria2开始工作,先是在下载目录里创建了aba.rar.aria2(1kb)和abc.rar(0kb)文件,并且可以看到abc.rar的大小从0开始逐渐增大,增大速度大约为2MB/S,正好是我的路由对硬盘的写入速度极限。而这个过程中aria2的控制面板里显示上传/下载速度为0/0
    直到abc.rar的大小达到1GB后,aria2里才终于开始下载(达到满带宽2MB/S)

    是我的aria2安装不正确吗?这样下载需要耗费2倍于原来下载的时间,是不是太低效了?

    ps. 硬盘格式为NTFS,因为手头剩余空间不足以转移文件来格式化,没办法改成EXT3
    14 条回复    2014-08-31 14:30:13 +08:00
    DoubleJo
        1
    DoubleJo  
       2014-08-31 10:58:52 +08:00
    文件预分配吧,问题还是硬盘写入速度太渣...
    DoubleJo
        2
    DoubleJo  
       2014-08-31 11:00:48 +08:00
    --file-allocation=none 关闭文件预分配试试吧
    zhujinliang
        3
    zhujinliang  
       2014-08-31 11:01:22 +08:00 via Android   ❤️ 1
    可能是下载前先写满文件,占下所需的空间
    Exin
        4
    Exin  
    OP
       2014-08-31 11:26:25 +08:00
    @DoubleJo 请问应该写在哪个文件里?
    banbanchs
        5
    banbanchs  
       2014-08-31 11:30:23 +08:00   ❤️ 1
    有个 file-allocation 选项可以控制的,不想预分配就设为none

    分配太慢主要因为你硬盘/CPU写入速度太慢了

    http://aria2.sourceforge.net/manual/en/html/aria2c.html#cmdoption--file-allocation
    banbanchs
        6
    banbanchs  
       2014-08-31 11:32:37 +08:00
    最好是falloc+ext4,据文档说可以立即分配完毕
    DoubleJo
        7
    DoubleJo  
       2014-08-31 11:33:15 +08:00   ❤️ 1
    Exin
        8
    Exin  
    OP
       2014-08-31 11:37:15 +08:00
    @DoubleJo 非常感谢,千反田酱!2333,我是折木!
    Exin
        9
    Exin  
    OP
       2014-08-31 11:39:27 +08:00
    @banbanchs
    如果仅仅是因为CPU/硬盘太慢那就有点诡异了,在电脑上下载文件不管多大都可以瞬间开始的对吧
    我觉得主要如DoubleJo所说的设置问题
    jerryjhou
        10
    jerryjhou  
       2014-08-31 12:25:46 +08:00
    @Exin 电脑上就是预分配的,但是只需要几秒,因为不会实际写入文件,直接更新MFT即可。但是aria2应该是没有对NTFS做优化的
    66450146
        11
    66450146  
       2014-08-31 12:31:11 +08:00
    @Exin 路由器的 CPU 真的很慢
    aa65535
        12
    aa65535  
       2014-08-31 12:40:41 +08:00   ❤️ 2
    aba.rar.aria2 文件 是 aria2 下载时用到的 control file ,作用是保存下载进度之类的。
    aba.rar 是真正的数据保存文件,至于你说的从0开始逐渐增大,是因为使用了文件预分配功能(file-allocation 参数),于是在下载开始之前先在磁盘划分出所需的大小,而且使用的是默认的 prealloc 预分配方式,这种预分配方式速度很慢,如果不想使用的话可以将 file-allocation 设置为 none,另外还有 trunc, falloc 两种分配方式,速度很快,不过需要系统支持。
    另外可以参考 http://aria2c.com/usage.html
    liuchen9586
        13
    liuchen9586  
       2014-08-31 13:58:37 +08:00   ❤️ 1
    ext4是可以直接分配完毕的,而且下载速度更快(亲测
    aria2对ntfs/fat32支持不太好,有时候甚至不能达到网络满速(我家4M)换成ext就没问题
    或者关闭预分配也行
    robbielj
        14
    robbielj  
       2014-08-31 14:30:13 +08:00   ❤️ 1
    其实文档写得蛮清楚的

    falloc最好,高速无碎片,但需要ext4,btrfs或者xfs,而ntfs只有windows的版本支持
    prealloc太慢,none的话有碎片问题
    trunc没用过

    所以如果嫌prealloc太慢,就none和trunc试试
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   878 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 20:27 · PVG 04:27 · LAX 12:27 · JFK 15:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.