在使用 Microsoft Teams 客户端的过程中,我们可能会见到 Teams 客户端吃了大量的内存。我的电脑是 8G 内存的,经常见 Teams 客户端一个人就吃了 1G 多。

这是由 Microsoft Teams 当初的开发架构选型决定的。为了方便 Teams 的跨平台开发,微软基于 Electron 设计了 Teams 客户端。因此,Teams 客户端同样继承了 Chromium 对于内存的使用逻辑。详细技术细节可以参考 Chromium 的相关文档:

Memory Usage Backgrounder

https://www.chromium.org/developers/memory-usage-backgrounder

Key Concepts in Chrome Memory

https://chromium.googlesource.com/chromium/src.git/+/master/docs/memory/key_concepts.md

对于 Teams 本身,我们需要保证用户在使用相关功能时的 Teams 本身的正常运行,例如在会议中,为了保证音视频的质量,Teams 会比非会议时调用更多资源。

但是,在有其他应用需要更多系统资源的情况下,Teams 会在保证自身功能能够正常运行的情况下,释放部分内存以满足其他应用的需求。例如,在 Teams 会议中,起初 Teams 占用了约 1.1GB 内存,但是在打开了大量浏览器窗口后,Teams 的内存使用量降到了 800MB 左右,此时,尽管从操作系统层面用户会感觉到明显卡顿,但是 Teams 本身的音视频并没有受到影响。

在上述例子中,Teams为了保证音视频的质量,其会占用比轻度使用时更多的资源,这是可预期的,因为涉及到音视频编码和解码,而最终造成的卡顿是由于我们后期打开了大量浏览器窗口,最终导致资源使用接近 PC 本身的性能极限。

关于 “我需要多少内存才能流畅 Teams” 这个问题,我们需要按用户的特征来确定。

对于轻量办公用户,绝大部分用户仅使用 Office 相关工具。部分用户在 Teams 会议中可能需要打开一些很大的幻灯片,表格,高清视频以及大量的浏览器标签页,并视情况通过共享桌面的方式分享给参会者。因此,这些用户的电脑起始内存建议 8GB 。

而对于一些重度使用硬件资源的用户,例如视频剪辑工作者,程序员等,以及数据分析师,他们可能会在使用 Teams 的同时,执行程序编译、视频渲染、同时打开多个 Power BI 实例等。因此,个人建议针对这些用户,至少给他们使用 16GB 以上内存的电脑。

与此同时,我们也需要考虑用户硬件的更新频率。假如说一台硬件设备的期望使用时间在 5 年左右,那么 16GB 起步。这并不是仅仅仅限于 Teams 的使用,同时也迎合 Modern App 的趋势,从而避免设备的过快折旧。
 
关于更多 Teams 对于内存调用的信息,可参考以下微软官方文档:
How Microsoft Teams uses memory
https://docs.microsoft.com/en-us/microsoftteams/teams-memory-usage-perf#:~:text=Sustained%20overall%20system%20memory%20usage,system%2C%20which%20indicates%20a%20problem