You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux下将共享目录10G-50G大文件拷贝到本地SSD的最快方法

单大文件SMB共享到本地SSD多线程拷贝方案

cp默认走单线程、小块IO,在SMB这类网络挂载场景下无法充分利用带宽和SSD写入性能,以下是可直接落地的工具和方案:

推荐工具

1. aria2(最接近azcopy的多线程实现)

专门针对分块并行传输设计,支持本地路径作为源/目标,是当前场景的最优选择

  • 安装命令:
    Debian/Ubuntu 系:apt update && apt install aria2
    RHEL/CentOS 系:yum install aria2
  • 你的场景直接用以下命令:
    aria2c -x 16 -s 16 -d /root /smb/share01/<你的大文件名>
  • 参数说明:
    • -x 16:最大并行连接数16,可根据SSD性能在8~32区间调整
    • -s 16:将单文件拆分为16个块并行读取写入
    • -d:指定目标存储目录
  • 优势:内置文件完整性校验,不会出现拷贝损坏,SMB场景下基本可以跑满带宽或SSD写入上限

2. 调优版rsync(系统自带无需额外安装)

如果环境不允许安装第三方工具,调整rsync参数后也能大幅提升拷贝速度

  • 命令示例:
    rsync -av --progress --inplace --block-size=1M /smb/share01/<你的大文件名> /root/
  • 参数说明:
    • --inplace:直接写入目标文件,不生成临时中转文件,减少额外IO开销
    • --block-size=1M:调大传输块到1MB,比默认小块的传输效率提升数倍
    • --progress:实时显示拷贝进度和速度
  • 优势:系统默认预装,稳定性高,兼容所有Linux发行版

3. 大区块dd命令(熟手极致性能选择)

对单文件场景,调大dd的读写块大小也能获得接近多线程的传输效率

  • 命令示例:
    dd if=/smb/share01/<你的大文件名> of=/root/<目标文件名> bs=4M status=progress conv=fsync
  • 参数说明:
    • bs=4M:设置读写块大小为4MB,可根据存储性能调整为1M/8M
    • status=progress:实时展示拷贝进度
    • conv=fsync:拷贝完成后强制将数据从缓存刷写到磁盘,避免假完成

额外性能优化提示

  • 并行数不要盲目调大:普通消费级SSD开超过32线程会引发IO争抢,反而降低速度,建议从8线程开始测试最优值
  • 可重新挂载SMB共享时添加rsize=1048576,wsize=1048576参数,调大SMB协议层的读写块大小,底层优化后拷贝速度会进一步提升
  • 拷贝前关闭后台占用IO的进程,避免占用SSD写入带宽

内容的提问来源于stack exchange,提问作者Vidya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 15:48:01