ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Windows Aria2 配置全指南:RPC、AriaNg 与常见故障排查

Windows Aria2 配置全指南:RPC、AriaNg 与常见故障排查 浏览器下载大文件卡在 99% 然后提示失败或者手头攒了几十个安装包需要一个个点开、等它跑完、再手动改名——只要你在 Windows 上做过稍微有点规模的下载任务这种场景一定不陌生。Aria2 就是冲着这类需求来的一个没有界面的命令行下载内核支持多线程分片、断点续传、批量投递、远程管理资源占用比大多数带界面的下载器小得多。但它的劝退点也很明确——Windows 安装 Aria2 之后你会发现双击 exe 一闪而过配置文件写得不对它连报错都不给你RPC 端口配好了前端却一直显示未连接。这套配置和常见问题的坑我前后踩过好几轮索性一次性整理清楚从版本选择、目录规划、配置文件逐行拆解到后台常驻、前端打通、故障排查全部落到可复现的操作上。不管你是第一次接触命令行工具还是已经用过只是老被某些报错卡住下面这些内容都能直接抄作业。1. 命令行下载内核在今天还有什么用先说清楚这个东西是什么。Aria2 本身只有一个主程序文件运行起来之后不弹任何窗口所有的任务添加、暂停、查看进度都要靠外部手段去驱动——要么命令行发指令要么通过它开放的 RPC 接口让网页前端来管。这个设计和传统下载软件正好相反传统软件是界面即程序Aria2 是内核与界面彻底分离。分离带来的第一个好处是它可以被任意程序调用。你写个脚本批处理上百个链接或者让某个程序在后台自动拉取资源Aria2 就是一个随时待命的下单窗口发一条 JSON 指令就完事不需要人去点按钮。第二个好处是资源占用极低常驻内存通常在几十 MB 量级挂在后台一整天几乎感觉不到它的存在。第三个好处是分片下载的粒度可以精细控制把一个文件切成多少片、每片最小多大、同时开几个任务这些参数全部可调而带界面的软件通常只给你一个高速模式开关。1.1 内核、RPC 与前端的三层结构理解这个三层结构后面的配置才不会写错。最底下是aria2c.exe 这个内核进程它自己不知道界面长什么样只负责下载和接收指令。中间是RPC 服务内核启动时可以选择开放一个本地端口任何能访问这个端口的客户端都可以向它发指令。最上面才是前端比如 AriaNg 这类网页工具它本身不做任何下载只是把你的点击翻译成 RPC 请求发给内核再把内核返回的任务状态渲染成进度条。这意味着一个很常见的误解以为前端配置错了。实际上前端连不上九成问题出在中间那层——内核根本没启动或者端口没开放或者密钥填错了。搞清这一点排查方向会明确很多。1.2 三类使用者各自的配置重点不同类型的人配置重心完全不一样我把常见的三种情况列出来你可以对号入座使用场景核心诉求配置重点偶尔下大文件比浏览器稳、能断点续传continue、file-allocation、会话保存批量/自动化下载脚本投递、无人值守RPC 开放、计划任务常驻、日志长期挂着跑稳定、可远程管理rpc-secret鉴权、磁盘缓存、参数调优第一类人其实不需要折腾 RPC命令行直接调用就够第二类人才是 RPC 的重度用户第三类人最需要关注的是长期运行的稳定性比如日志膨胀、内存占用、任务列表丢失这些问题。下面每一节我都会标出它主要服务哪一类人你可以只挑自己需要的部分细看。2. Windows 安装 Aria2 的版本选择与目录规划Windows 上装 Aria2 本身没有任何安装程序官方发布的是压缩包解压出来就是可执行文件绿色到极致。也正因为没有安装程序很多人第一次拿到压缩包反而不知道该放哪——随手解压到下载文件夹结果过几天清理下载目录时把程序一起删了或者放在桌面路径里带一堆空格和中文后面配计划任务时各种报错。这一步看似简单实际上决定了后面 80% 的麻烦。2.1 官方包里的文件到底有什么区别从发布页下载 Windows 版本时通常会看到几个不同的包。它们的核心区别只有一个主程序是否附带控制台窗口。带控制台的版本双击后会弹出一个黑窗口里面滚动日志适合调试期观察输出不带控制台的版本双击之后什么反应都没有进程静默在后台跑适合正式使用。调试阶段我建议先用带控制台的版本把配置文件跑通确认没问题了再换或者说用静默启动的方式挂到后台。这样你能第一时间看到配置错误而不是对着一个没反应的程序猜半天。另外一个经常被忽略的文件是CA 证书文件。Aria2 自带的根证书列表可能已经过期当你下载 HTTPS 链接时会直接报证书校验失败。解决办法是单独去下载一份最新的根证书文件通常叫cacert.pem放进程序目录然后在配置里指定它的路径。这个坑后面第 6 节会详细展开这里先记住把证书文件一起准备好能省一次排查。2.2 目录结构为什么必须用纯英文路径我把目录规划当成配置的第一步来强调因为它的影响面太大。推荐的结构是这样路径作用备注D:\Aria2\aria2c.exe主程序固定不动D:\Aria2\aria2.conf配置文件所有参数写这里D:\Aria2\aria2.session任务会话文件首次可为空文件D:\Aria2\aria2.log运行日志调试期开启D:\Aria2\cacert.pem根证书下 HTTPS 必需D:\Aria2\Downloads\下载目录与程序目录分开整个路径链上不要出现中文和空格。原因有三个一是配置文件里写路径时带空格的路径需要转义或加引号容易漏二是打包成计划任务调用时命令行参数的引号嵌套一层套一层极难调对三是某些老版本的路径解析对非 ASCII 字符支持不一致会出现文件明明存在却打不开的怪现象。用D:\Aria2这种短英文路径能一次性绕开所有这些麻烦。下载目录我建议和程序目录平级而不是嵌套在里面。理由很实际将来你要备份或者迁移程序时直接整个Aria2目录打包走不会把几百 GB 的下载文件一起拖进去。2.3 首次运行的自检命令在写配置文件之前先用最简参数跑一次确认程序本身能起来。打开命令提示符切到程序目录cd /d D:\Aria2 aria2c.exe --version能正常打印版本号说明可执行文件没问题也说明系统的运行环境满足要求。接着用一个公开的小文件测一下下载能力同时指定目录和断点续传参数aria2c.exe -d D:\Aria2\Downloads -c --split4 --max-connection-per-server4 https://example.com/test.bin这里的-c就是开启断点续传--split和--max-connection-per-server是临时覆盖默认值。如果这一步能正常下完文件说明网络和磁盘都没问题可以进入配置文件环节了。如果报错先别急着往下走把报错原文记下来第 6 节的排查表里大概率能找到对应条目。提示第一次运行时如果程序一闪而过、什么输出都没有大概率是它被安全软件静默拦了或者你用的是无控制台版本。先换成带控制台的版本再试观察真实输出。3. aria2.conf 逐行拆解每个参数为什么这么写配置文件是整套方案的核心。网上流传的很多模板其实是 Linux 版本直接拿到 Windows 上用会踩一堆雷——最典型的就是daemontrue这一行在 Windows 上完全无效写了只会让人误以为应该后台运行了实际上进程根本没启动起来。所以这一节我不打算只贴一份配置而是按功能分组把每一行为什么这么写讲清楚。你可以按需取用也可以整体复制后微调。3.1 基础与路径参数绝对路径是底线# 下载目录 dirD:\Aria2\Downloads # 会话文件读取和保存共用同一个 input-fileD:\Aria2\aria2.session save-sessionD:\Aria2\aria2.session save-session-interval30 force-savetrue # 日志 logD:\Aria2\aria2.log log-levelwarndir用绝对路径理由和前面说的一样避免相对路径在不同工作目录下解析出不同结果——这一点在打包成计划任务后尤其致命因为计划任务的工作目录默认是系统目录不是你的程序目录。save-session-interval30的意思是每 30 秒把当前任务列表刷到会话文件里。这个间隔是个取舍设得太短频繁写磁盘设得太长程序被强杀时会丢任务记录。30 秒对家用场景已经足够掉电最多丢半分钟的进度信息。force-savetrue配合使用保证即使没有活动任务也会保存会话。日志级别先用warn只记录警告和错误。调试试用期可以改成info或debug但长期运行一定要调回 warn 以上否则日志文件会以肉眼可见的速度膨胀跑一个月能吃掉好几 GB 磁盘。3.2 分片与并发split 调大了为什么没提速这是最容易被误解的一组参数我单独拎出来讲。continuetrue max-concurrent-downloads3 split16 max-connection-per-server16 min-split-size10M先明确每个参数的含义split是单个文件最多切成多少片max-connection-per-server是对同一台服务器最多同时开多少条连接默认值只有 1min-split-size是每一片的最小体积默认 20M。很多人照着网上教程把split改成 16 甚至 32结果速度纹丝不动。原因往往就藏在min-split-size里。举个具体的例子一个 100MB 的文件min-split-size设为默认的 20M那么它最多只能切成 5 片——因为每片不能小于 20M5 片刚好 100M。这时候你把split设成 32 也没用实际生效的上限被min-split-size卡死了。所以真正的调法是两个参数一起动想让它切得更碎就要同时把min-split-size降下来。上面的配置里min-split-size10M配合split16100MB 的文件可以切到 10 片。如果文件普遍比较大可以把min-split-size降到 4M 或 1M但要注意分片越小磁盘的随机写压力越大机械硬盘上反而可能变慢。还有一个联动关系max-concurrent-downloads3意味着最多同时跑 3 个任务如果每个任务都开 16 条连接理论峰值是 48 条并发连接。很多服务器对单 IP 的连接数有限制超了会被直接拒绝表现出来就是某个任务一直重试但下不动。所以并发数不是越高越好家用宽带下max-concurrent-downloads保持 2 到 3单任务连接数 8 到 16是比较舒服的区间。3.3 file-allocation 三个取值在 Windows 上的实际表现disk-cache64M file-allocationnone auto-file-renamingtrue allow-overwritefalsefile-allocation控制文件空间怎么分配可选值有三个常用的none表示不预分配边下边写prealloc表示预先占满整个文件的磁盘空间trunc表示用文件系统调用快速声明这块空间但不真正写入数据。falloc这个在 Linux 上表现最好的选项拿到 Windows 上基本等于prealloc效果并不突出。所以我这里的建议是机械硬盘用prealloc因为它能减少文件碎片虽然开始时要等几秒到几十秒的分配时间但下载过程中写入更连续固态硬盘用none省掉分配等待直接开始下。disk-cache是内存缓存单位可以用 K/M上面写的 64M 是 64 兆。这个值不是越大越好——它会实实在在占用进程内存。设置合理的缓存能减少小分片带来的频繁磁盘写入64M 到 128M 对家用场景已经够用。设成 0 就是关闭缓存全走磁盘。auto-file-renamingtrue配allow-overwritefalse的组合效果是遇到同名文件时自动加序号而不是覆盖。这个组合我个人很推荐尤其是批量下载场景偶尔撞名不至于把已有的文件毁掉。3.4 RPC 与鉴权为什么 rpc-secret 不能留空enable-rpctrue rpc-listen-allfalse rpc-listen-port6800 rpc-allow-origin-alltrue rpc-secret换成你自己的长随机串enable-rpctrue是打开 RPC 服务的总开关不开这个任何前端都连不上。rpc-listen-all控制监听范围。设成false时只接受本机127.0.0.1的连接设成true则监听所有网卡局域网内其他设备也能连。如果你只在本机用一定保持 false这是最省心的安全做法。确实需要从手机或另一台电脑管理时再改成 true并且必须配合下面这条。rpc-secret就是访问口令。留空的 RPC 服务等于把你机器上的任意文件写入权限开放给了所有能访问到那个端口的人——别人可以通过接口让你下载任意 URL 到任意路径。所以只要rpc-listen-all开了rpc-secret就必须设而且要设得足够长、足够随机别用生日和手机号。生成方法很简单在命令行敲一行就行aria2c.exe --generate-random-bytes 32 -o -输出的这一串直接粘到配置里。rpc-allow-origin-alltrue是给网页前端用的允许跨域请求。因为 AriaNg 通常是本地打开的一个 HTML 文件它的来源和 RPC 端口不同源不放开这个限制浏览器会直接把请求拦掉前端表现出来的就是一直连接中。3.5 会话恢复与任务列表的持久化断点续传这件事在 Aria2 里分两层。文件层面的续传由continuetrue负责它决定已存在的不完整文件是否继续写。任务层面的恢复则由会话文件负责——程序重启后读input-file指的那个文件把上次没跑完的任务重新排进队列。这里有个容易被忽略的细节首次使用时要先手动创建一个空的 session 文件。如果配置里写了input-file但那个路径不存在Aria2 启动时可能直接报错退出而不是友好地跳过。所以我的做法是在程序目录下先新建一个aria2.session空文件或者在命令行里用type nul aria2.session生成一个。save-session-interval前面说过是 30 秒配合force-savetrue基本能保证异常退出时任务列表不丢。如果你经常调整配置记得改完配置后重启进程——配置文件只在启动时读取一次运行中修改不会生效这一点新手特别容易搞混改了半天没反应其实是忘了重启。4. 让 Aria2 常驻后台并开机自启配置文件跑通之后下一个问题是它得一直在那儿待着不能每次开机手动去双击。这件事有三种做法各自适合不同的人。4.1 用脚本包装实现静默启动最简单的方式是写一个 VBS 脚本把控制台窗口藏起来Set ws CreateObject(WScript.Shell) ws.Run D:\Aria2\aria2c.exe --conf-pathD:\Aria2\aria2.conf, 0, False第二参数0表示窗口隐藏第三参数False表示不等待程序结束就返回。把这个脚本存成start-aria2.vbs放在程序目录双击就静默启动了。它的优点是零依赖、改起来直观缺点是它本身也只是个启动器进程崩了不会自动拉起来。注意路径里如果真的有空格需要把命令部分整体用引号包起来VBS 里的引号转义是连续两个双引号这就是为什么前面反复强调路径别带空格。4.2 计划任务里最容易配错的三个选项比 VBS 更稳的是系统自带的计划任务。用命令行创建一条schtasks /create /tn Aria2 /tr D:\Aria2\aria2c.exe --conf-pathD:\Aria2\aria2.conf /sc onlogon /rl highest这条命令创建了一个登录时触发的任务。如果你想用图形界面配置有三个选项必须注意选项建议设置不这样设会怎样起始于工作目录填D:\Aria2相对路径全部失效日志和 session 找不到触发器登录时开机启动时用户目录可能还没准备好权限按需勾选最高权限写入受保护目录时失败且无明显报错起始于这一项是绝大多数人配错的地方。它对应的是进程的工作目录如果留空进程会在系统目录里启动所有相对路径都会解析到错误位置。即使你的配置全用了绝对路径日志文件位置正确了某些临时文件的行为仍然可能受影响。填上程序目录一次解决。至于触发器我倾向于用登录时而不是开机时。原因是 Aria2 要把文件写到你的用户目录下开机阶段用户会话还没建立权限上下文不一样容易出现写入失败。登录时触发等人进桌面它就起来了实际体验上没什么差别。4.3 服务化的取舍再往上一层是把 Aria2 注册成系统服务这样不登录也会运行重启也不用管。做法一般是借第三方工具把普通程序包成服务。它的优点是真正的无人值守缺点也明显运行在系统账户下文件权限和用户账户不同下载到用户目录可能被拒调试也麻烦看不到任何窗口输出只能靠日志文件。我的建议是家里自用就用计划任务登录时触发就够了只有当它需要 7×24 承担自动化任务、且你确实不常登录这台机器时才考虑服务化并且提前把下载目录设成所有账户都可写的公共路径。5. AriaNg 打通 RPC 的完整过程内核跑起来了接下来就是给它配一个能看的界面。这一步的关键不是界面本身多复杂而是那几个连接参数要和配置里严丝合缝地对上。5.1 前端的三种获取方式AriaNg 是一个纯静态的前端页面有几种使用方式。第一种是下载打包好的静态文件解压后双击里面的index.html用浏览器直接打开。第二种是使用单文件版本只有一个 HTML双击即用适合放在 U 盘里随身带。第三种是自己搭一个静态服务托管它。三种方式里我推荐第一种或第二种因为它们都是通过file://协议打开的不存在混合内容限制。这一点很关键如果你把前端挂在 HTTPS 站点上浏览器会拒绝它向本机的 HTTP RPC 端口发起请求前端会一直卡在连接中控制台里能看到被拦截的记录但页面上不会有任何提示。用本地文件打开就没这个问题。5.2 需要填的四个字段打开页面后进设置里的 RPC 配置页需要填的东西其实就这么几项字段填什么说明地址localhost或127.0.0.1本机就用这两个端口6800或你自定义的要和rpc-listen-port一致密钥配置里的rpc-secret原值不要加token:前缀协议http除非你额外配置了加密层最后一个字段是密钥。这里有个经典的混淆点直接在命令行调 RPC 接口时密钥需要写成token:xxxxx的形式但在前端界面的输入框里只需要填裸的密钥值本身前缀由前端自己加。填错的人会看到认证失败或者干脆连不上排查半天以为是端口问题。5.3 从另一台设备访问的两个前提有时候你想从手机或者笔记本上管理这台下载机那就需要跨设备访问。这时候有两个前提必须同时满足少一个都不行第一配置里把rpc-listen-all改成true让它监听所有网卡而不是只监听本机回环地址。第二系统的防火墙要放行对应端口。放行命令很简单netsh advfirewall firewall add rule nameAria2 RPC dirin actionallow protocolTCP localport6800然后在前端里把地址从localhost改成下载机的局域网 IP端口和密钥照填。如果还是连不上按第 6 节的顺序排查基本就是这两个前提之一没做到。注意只要开了跨设备访问rpc-secret就绝对不能留空也不能设成简单字符串。这不是可选项是必选项。6. 我踩过的坑八个问题的完整排查链路前面讲的是应该怎么配这一节讲配完不对怎么办。我把这些年遇到的问题按出现频率排了个序每个都给出症状、根因和验证方法你可以直接对照着排查不用从头试。6.1 双击就退出看不到任何输出症状双击 exe 或者脚本进程一闪就没了任务管理器里也找不到。排查顺序先在命令行里手动执行把报错留在窗口里。cd /d D:\Aria2 aria2c.exe --conf-pathD:\Aria2\aria2.conf如果这时能看到报错问题就定位了。最常见的原因是input-file指向的会话文件不存在程序启动时读取失败直接退出。其次是配置文件里有拼写错误的参数名Aria2 对无法识别的选项会报错并终止。再就是配置文件编码问题——必须存成 UTF-8 无 BOM 格式带 BOM 头会让第一行的参数名多出几个不可见字符导致解析失败。用记事本另存为时选 UTF-8 就行别选带 BOM的选项。如果命令行里跑得好好的只是一双击就退出那是启动方式的问题回到第 4 节用脚本或计划任务的方式包装。6.2 RPC 一直显示未连接这个问题的排查要有顺序不然容易乱。先看进程再看端口最后看密钥。先确认进程活着tasklist | findstr aria2c有输出说明内核在跑。然后看端口是不是真的在监听netstat -ano | findstr :6800能看到LISTENING状态就对了。如果这里没输出说明enable-rpc没开或者端口号和前端填的不一致。如果看到监听地址是127.0.0.1:6800而你从另一台设备访问那就是rpc-listen-all还是false。前两步都正常还是连不上基本就是密钥填错。注意区分前端里填裸值、命令行里加token:前缀这个差异。另外改完配置文件一定要重启进程运行中改的配置不会生效——这个坑我踩过不止一次。6.3 下载速度上不去先分清任务类型速度问题要分两种任务来看处理思路完全不同。直链任务是 HTTP/HTTPS 下载速度取决于三个因素服务器对单 IP 的连接数限制、你的分片参数、以及本地磁盘写入速度。前面 3.2 节讲的分片逻辑在这里直接用得上——检查max-connection-per-server是不是还停在默认的 1检查split和min-split-size是不是互相卡住了。还有一点常被忽略有些服务器会主动限速你把连接数开到 64 也没用这时候应该降回合理值避免被服务器判定为异常流量而直接拒绝连接。种子类是另一个逻辑。它的速度取决于能连上多少其他节点、对方的带宽和积极性跟分片数几乎没关系。这时候去调split是白费功夫应该关注的是任务本身还有多少活跃连接。所以遇到下不动第一件事是看清楚这是哪种任务别拿直链的思路去调种子。6.4 .aria2 文件残留与校验失败症状下载完成了但目录里还躺着一个同名加.aria2后缀的文件或者程序反复提示校验不通过。.aria2是进度控制文件记录着每个分片下到了哪里。正常情况下文件下完后它会自动删除。它残留通常有两种原因一是文件其实没下完只是主文件看起来大小对了二是下载过程中被强制中断过控制文件里的状态和实际文件内容对不上了。处理办法是先看日志里对应的报错。如果是校验失败可以在配置里打开完整性检查让程序在下完后重新验证一遍check-integritytrue代价是每个文件下完都要多花时间读一遍全盘大文件上耗时会很明显所以我只在下载重要文件时临时开。如果确认文件已经损坏且无法续传最干脆的做法是把主文件和.aria2文件一起删掉重下——保留控制文件重新下载有时反而会因为状态不一致陷入死循环。6.5 HTTPS 链接报证书错误症状HTTP 链接一切正常一换成 HTTPS 就报证书校验失败或者握手失败。根因是程序内置的根证书列表过期了。解决办法是下载一份最新的根证书文件放进程序目录然后在配置里指定check-certificatetrue ca-certificateD:\Aria2\cacert.pem这里要特别提醒不要为了图省事把check-certificate设成false。关掉证书校验等于对所有 HTTPS 连接放弃了身份验证风险比想象的大。正确做法是更新证书文件而不是关掉检查。6.6 计划任务启动后找不到配置文件症状手动双击脚本一切正常计划任务跑起来却报配置文件不存在或者日志文件没生成。几乎可以肯定是工作目录没设。前面 4.2 节说过计划任务的起始于留空时进程在系统目录启动所有相对路径都会错位。打开任务属性把起始于填成D:\Aria2或者干脆把所有路径参数都改成绝对路径两条路选一条走通就行。稳妥的做法是两个都做。6.7 重启后任务列表空了一大截症状程序崩溃或者机器意外断电后重启发现好几个没跑完的任务不见了。原因就是会话文件没及时保存。检查三件事save-session的路径对不对、save-session-interval是不是设成了 00 表示不自动保存、force-save有没有开。把间隔设成 30 秒之后最多丢半分钟的任务记录这个代价可以接受。6.8 磁盘占用突然飙到 100%症状任务一多磁盘使用率直接拉满整个系统都卡。这是分片策略和磁盘类型不匹配的典型表现。分片越小、并发任务越多磁盘要处理的随机写入就越多。机械硬盘上来 16 个分片同时写磁头来回寻道性能直接崩。调整方向是降低分片密度、提高单片体积、减少并发任务数同时把disk-cache加大一些让数据先在内存里聚合再落盘。如果用的是机械盘还可以配合prealloc减少碎片。7. 提速参数的取舍把连接数调到匹配你的环境参数调优这件事我不想给一套万能最优配置因为根本不存在。真正有用的是理解每个参数背后的代价然后按自己的环境去权衡。这一节给几组实测对比你可以以此为基准微调。7.1 三组配置的实际差异参数组splitmax-connectionmin-split-size适用场景保守组5420M机械盘、小水管家宽均衡组16810M固态盘、100M 以上带宽激进组32164M固态盘、服务器端不限连接保守组的逻辑是尽量减少并发把磁盘压力降到最低代价是单任务速度上限不高。均衡组适合大多数家用场景兼顾速度和稳定性。激进组只在服务器端明确没有连接限制、且本地是固态盘时才有效否则很容易触发服务器拒绝反而更慢。这里有个实用的判断方法先固定其他参数只调max-connection-per-server从 4 开始往上加观察速度曲线的拐点。速度随连接数增长但增长明显放缓的那个位置就是你这台机器的合理值。继续往上加速度不涨被拒绝的概率却在涨纯属给自己添堵。7.2 带宽控制别让下载器吃掉所有上行如果你在下载的同时还需要正常上网、开会、看视频那就必须限速。Aria2 提供了整体限速和单任务限速两类参数max-overall-download-limit0 max-overall-upload-limit1M max-download-limit0单位是字节每秒可以写K或M。0表示不限。我建议至少把上传限速设上因为大量并发连接的上行确认包会显著影响网络体验而下行往往是你不希望限的。如果你的宽带下行本来就不宽裕给整体下载限一个峰值带宽的 80% 左右能给其他应用留出余地。另外一个容易被忽略的点是任务数上限。max-concurrent-downloads设得太多每个任务都在抢连接和磁盘带宽最后所有任务一起变慢完成时间反而更长。家用环境我一般设 2 到 3。7.3 什么时候该反过来调低参数大部分教程都在教怎么把参数调大但实际使用中调小同样重要。几种需要反向调整的情况服务器返回 429 或者频繁断连说明你被限流了把max-connection-per-server降到 4 以下同时把retry-wait加到 10 秒以上。磁盘 IO 持续满载降低并发任务数和分片密度。路由器开始丢包、其他设备上不了网开整体限速。这些都是参数更大反而更差的典型例子。8. 长期挂机需要注意的几个习惯Aria2 跑起来之后真正的考验是长期运行的稳定性。这部分没什么技术难点但都是踩过才知道的经验。日志一定要管。调试完就把log-level调回warn并且隔一段时间看看日志文件大小。程序本身不提供日志轮转长期跑下去单靠日志就能吃掉大量磁盘空间。我现在的做法是配合一个定期清理脚本或者干脆只保留错误级别。升级版本时不要覆盖配置文件。新版本解压出来后只替换主程序文件配置和会话文件保持原样。参数在新旧版本之间偶尔会有默认值变化直接覆盖配置可能带来意想不到的行为改变。定期看一眼会话文件。如果它 Growth 得异常快或者里面出现了大量重复的任务记录说明可能有任务在反复失败重试却没被清理值得关注一下。改配置之后必须重启进程。这一条我在前面提过但它是最高频的配置不生效原因值得再强调一次。配置文件只在启动时读取运行中修改不会有任何效果。最后一点关于安全。只要开了 RPC就永远设上密钥只要不用跨设备管理就让rpc-listen-all保持false。这两条规矩守住了剩下的都是性能调优问题出不了大事。我在实际使用中发现绝大多数所谓的配置疑难杂症追到最后都是路径、编码、密钥、工作目录这四个基础点里的某一个没到位——把这几处固化成习惯后面基本就是一路顺畅了。
返回列表