Syncthing 中文文档 下载 App

性能调优:CPU 占用、GOMAXPROCS 与扫描间隔

先理解开销从哪来

官方 FAQ 把 CPU 消耗拆成四件事,全是设计内的开销:

  1. SHA-256 哈希——新文件或首次扫描时逐块计算(首次同步尤其明显);
  2. 加密/解密——所有传输数据强制 TLS,接收端还要解压;
  3. 索引维护——跟踪每个文件的当前与可用版本;
  4. 周期扫描——watcher 关闭时每分钟一次、开启时每小时一次的完整核对,大文件夹会形成 CPU 峰值。

关键判断:同步完成、系统稳定后 CPU 应接近于零。长期高占用才需要动手调。

限制核心数:GOMAXPROCS

官方给出的方法是把环境变量 GOMAXPROCS 设为允许使用的最大核心数——四核机器设 2 即最多用一半算力。systemd 部署写在服务的环境变量里,Windows 任务计划写在动作参数前(或脚本里设置),GUI 集成包在其启动配置里设置。

程序自身也做了缓解:默认尝试降低进程优先级(setLowPriority 选项),让出前台响应性。

扫描机制的官方细节

理解扫描才知道调优方向:

低速设备的重点(NAS/树莓派/手机)

官方 FAQ 点名的第一瓶颈就是低功耗设备的 CPU。对策按性价比排序:

验证手段

首次启动日志里的 Hashing performance is ... MB/s 给出本机哈希吞吐基线;iperf 一类的工具可以分离「网络慢」与「算力慢」两个变量。