摘要
App Tamer 是 St. Clair Software 开发多年的一款菜单栏工具。它常驻后台、实时监控所有运行中的进程,主打以可视化的方式管控应用后台资源占用。通过 App Tamer,用户既可以设定进程的 CPU 占用上限,也可以指定线程占用的核心类型,还可以强制应用在切入后台时直接挂起。 我此前数次浅尝 App Tamer,但总觉得这个工具有点多此一举——macOS 自带的调度足够无感,偶尔用活动监视器定位问题即可,平时无须人工干预。直到最近,我的设备遇到了一些性能瓶颈,又正好发现 App Tamer 的 3.0 版正在公测,才算真正用了起来。下面,我就来聊聊重新捡起这款工具的动机、它的工作原理,以及在哪些场合可能值得一试。 开始使用的动机 作为一般原则,在操作系统自带的性能调度机制没有明显不足的情况下,没有必要寻求第三方工具的帮助。的确,macOS 自 10.9 起便引入了「App 小憩」(App Nap)机制,会在窗口完全不可见且不播放音频时,压低应用的调度优先级。 然而,App 小憩是一个相当「心慈手软」的机制,只在面对那些根据 macOS 原生规范开发的应用时有较好的效果,不足以应对目前复杂、臃肿的应用生态。根据 App 小憩 的豁免条件,只要应用持有任何系统资源(网络连接、定时器等),或在播放音频,就不会被置于小憩状态。 以浏览器为例,轮播的 banner 广告动画,定时轮询、抓取与刷新的社交媒体时间线,监听其他用户的操作并同步状态的在线文档,无不持续占用着系统资源,从而不能被 App 小憩机制所调节。类似地,许多使用 Electron 框架的套壳 web 应用也不听从 App 小憩的指挥。 此外,对于我这样的多显示器用户而言,同时显示的窗口变多了,也就意味着在系统看来处于「后台」的应用少了。这进一步限制了 App 小憩机制的调节空间。因此,当我给手头用了好几年的 M1 Pro MacBook Pro 外接了两块显示器后,明显感觉到就算开机放着什么都不做,CPU 也有明显的持续占用。 只有寥寥数个应用能进入小憩状态,不少还是自带应用。 既然系统的自动优化在这种场景下力有不逮,App Tamer 这样的第三方工具便有了用武之地。 App Tamer 的功能和原理 App Tamer 提供三种管控策略,可单独或组合施加于每个应用:…
摘要可能不完整,可查看原文