CPU 占用高正常吗:哈希加密扫描三类开销的判断
先问一句:现在在同步吗
官方 FAQ 把 CPU 高的原因列得很清楚,全部是设计内工作:
- SHA-256 哈希——新文件、变更文件、首轮扫描都要逐块算;
- 压缩与加密——传输数据可选压缩、强制加密,接收端反向操作;
- 索引维护——每个文件的版本元数据要更新;
- 周期扫描——比对每个文件的修改时间与数据库,大文件夹形成峰值(默认每小时全扫一次)。
所以判断标准很简单:
- 正在做首轮同步 / 大量文件变动 → CPU 高是正常的,等它跑完;
- 一切 Up to Date、长期静置 → 占用应接近零(官方原话),持续高占用才需要查。
程序自带的两层缓解
- 启动时默认尝试降低自身进程优先级——高占用时把前台让给你;
- 多核限制用环境变量
GOMAXPROCS,官方给的四核设 2 的例子见[性能调优(../09-配置与进阶/03-performance.md)。
稳定期仍高占用的检查清单
- 是否有文件夹反复报错重扫(界面看文件夹状态、日志看扫描记录);
- watcher 是否被关了——关闭后退化成每分钟全扫,大文件夹上就是持续 CPU(官方明确写了这组默认值);
- Windows 用户确认看到的是「两个进程」中较小的那个——监视进程常驻但很轻,大头在主进程(双进程的解释见[日志与审计(../09-配置与进阶/04-logs-and-audit.md));
- GUI 长开也会持续算汇总数据(官方提到的次要因素)。
与速度问题的关系
CPU 高常与同步慢同时出现,但根因可能不同:慢的第一嫌疑是中继链路(见[同步慢先看连接类型(01-faq-slow.md)),CPU 只是旁观指标。两件事分开排查,别把中继问题当算力问题治。