让aria2c只下载torrent文件,下载后不自动解析下载里面的内容,添加--follow-torrent=false参数
aria2c --follow-torrent=false http://example.com/file.torrent
AI 生成
好的,我们来详细讲解一下 aria2c 的多线程选项。
aria2c 的“多线程”下载能力主要体现在两个方面:
- 多连接(Multi-Connection):针对单个文件,使用多个连接(线程)从服务器同时下载不同部分,然后合并。这是最核心的多线程功能。
- 多任务(Multi-Task):同时下载多个文件,每个文件可以使用单连接或多连接。
你通常关心的“多线程”主要是指第一点:如何让单个文件下载得更快。
核心多线程/连接选项
1. -s 或 -j 或 --split (拆分数量)
这是控制多线程最核心的选项。它指定了针对一个下载任务,最多使用几个连接。
- 语法:
-s <N>或--split=<N> - 说明: 将文件分割成
N个部分,并使用多个连接并行下载这些部分。如果设置为1,则禁用多线程,使用单连接下载。 - 默认值:通常是
5。 - 示例:
- 注意事项:
- 并非数字越大越好。服务器可能限制了单个IP的连接数(通常会限制在10-20个左右),设置过高可能被服务器拒绝或封禁。
- 对于很多小文件,多线程的优势不明显,因为建立连接和整理碎片的开销可能比下载本身还大。
2. -x 或 --max-connection-per-server (每服务器最大连接数)
这个选项和 -s 类似,但它是一个全局上限。它限制了到同一台服务器的并发连接数。
- 语法:
-x <N>或--max-connection-per-server=<N> - 说明: 对于同一个服务器,最多建立
N个连接。-s选项为单个任务设置的值不能超过这个全局值。 - 默认值:通常是
1。 - 示例:
- 最佳实践: 通常将
-s和-x设置为相同的值,或者将-x设得稍大一点(如果你同时下载多个来自同一服务器的文件)。
3. -k 或 --min-split-size (最小拆分大小)
这个选项决定了文件块的最小大小,与 -s 选项协同工作,避免无意义的多线程。
- 语法:
-k <SIZE>或--min-split-size=<SIZE> - 说明: aria2c 不会将文件分割成小于
SIZE的块。例如,一个 10MB 的文件,你设置了-s 10,但-k的默认值是 20M。aria2c 会发现 10MB / 10 = 1MB < 20M,因此它不会启用10线程,而可能会只用1个或少量线程来下载。 - 默认值:
20M(20兆字节) - 示例:
多任务(并行下载多个文件)选项
-j 或 --max-concurrent-downloads (最大同时下载任务数)
这个选项控制同时进行多少个下载任务。
- 语法:
-j <N>或--max-concurrent-downloads=<N> - 说明: 同时下载
N个文件。每个文件仍然受其自身的-s选项和全局-x选项限制。 - 默认值:通常是
5。 - 示例:
总结与常用配置示例
一个非常常用且高效的配置组合是:
-s 16: 尝试用16个连接下载一个文件。-x 16: 允许对同一服务器建立最多16个连接(为-s提供支持)。-k 1M: 只要每个分块大于1MB就进行拆分。这确保了对几MB到几十MB的文件也能有效启用多线程,而不是仅限于超大型文件。
将常用选项存入配置文件: 为了避免每次输入长长的参数,你可以创建一个配置文件(例如 ~/.aria2/aria2.conf),并在其中写入:
# 每个任务最大连接数
split=16
# 同一服务器连接数上限
max-connection-per-server=16
# 最小分片大小,设置为1M或2M可以加速中小文件的下载
min-split-size=1M
# 断点续传
continue=true
# 最大同时下载任务数
max-concurrent-downloads=5
# 文件分配方式,能减少磁盘碎片
file-allocation=prealloc
然后在命令行中只需指定配置文件即可:
重要提醒
- 服务器限制: 多线程并非万能。如果服务器端限速或限制了单IP的连接数,即使你开100个线程速度也不会变快,反而可能因为频繁建立连接和等待超时而变得更慢,甚至被服务器封禁IP。
- 硬盘瓶颈: 对于机械硬盘,过多的线程同时写入数据可能会成为瓶颈,反而降低整体下载效率。SSD则基本无此问题。
- 道德与规则: 请尊重服务器的负载能力,不要无脑地将连接数设置得非常高。对于常用的软件源、镜像站或小型个人网站,使用默认的5连接通常就够了。
希望这些解释能帮助你更好地使用 aria2c 的强大功能!