macOS Command tools, threads and QoS
8 months ago
- #macOS
- #QoS
- #performance
- 搭载Apple芯片的Mac电脑在处理大型文件夹的tar和Gzip压缩时可能耗时较长,这与其线程调度和服务质量(QoS)设置有关。
- 线程机制影响性能:单线程进程每次只能运行在一个CPU核心上,从而限制了速度。
- macOS根据QoS等级分配线程——高优先级线程(如用户交互级QoS 33)通常运行在性能核心(P核),低优先级线程(如后台级QoS 9)则运行在能效核心(E核)。
- 命令行工具(如tar)未必被分配低QoS等级,其速度慢主要源于单线程设计而非运行在E核。
- 通过活动监视器的CPU历史记录可查看进程实际使用的核心类型(P核或E核)。
- 多线程压缩工具(如Cormorant、Keka)通过调用多个P核,性能显著优于单线程工具(如tar)。
- 后台任务(如LaunchAgents/LaunchDaemons)通常以低QoS等级(9或更低)运行在E核,这在其属性列表中有明确设定。
- 建议选用多线程工具替代tar等单线程方案以获得更佳性能。