让 KIO 快速复制海量文件
来源:blogs.kde.org — 2026-07-28
📋 概述
Méven Car 终于解决了 KDE 持续十多年的性能痛点:Bug 342056——复制 15GB 含 300 万小文件的文件夹需要 5-10 小时,而 rsync 只需 20 分钟。问题根源不是单一热点,而是每个文件都需经历"读取挂载表→打开源/目标文件→与 worker 进行内部套接字往返通信"的微小开销累积。通过火焰图分析和历史回顾,作者展示了如何在 KIO 的复制路径上彻底消除这些瓶颈。
🔑 核心要点
- Bug 342056 自 2014 年存在至今,300 万小文件复制需 5-10 小时,rsync 只用 20 分钟。
- 性能问题不是单一热点,而是每个文件的微小开销累积:读挂载表、文件操作、套接字往返。
- 套接字往返通信占阻塞时间约15%,散布在两个线程中,每个文件都要支付这笔开销。
- 作者使用Off-CPU 火焰图(sched:sched_switch 加权)精准定位瓶颈,并对比各 KIO 版本的改进数据。
💡 金句
我通常用 cp 和 rsync 代替 Dolphin 来处理超过几个文件的操作——这就是问题的严重程度。
👍 0
👎 0
← 返回 Lobsters 首页