OneDrive for Business:高 CPU、内存和磁盘负载

OneDrive for Business:高 CPU、内存和磁盘负载

我昨天将 OneDrive for Business 下载到我的个人电脑上,运行正常,除了 CPU、内存和磁盘负载非常高: 截屏

  • 左图:通过 OneDrive 同步新文件时,即使是包含几个文件(总计约 5MB)的小文件夹,由于以下原因,CPU、内存和磁盘负载也会显著增加:Microsoft OneDrive for Business(32 位)Microsoft Office 文档缓存(32 位)(左侧截图)。
  • 右截图:当我%UserProfile%\OneDrive同步后打开时,Microsoft OneDrive for Business(32 位)开始同时使用 CPU 和内存,并且当除三个之外的所有文件夹都有复选标记时,CPU 和内存负载就会降低到更可接受的水平。

有人知道该怎么办吗?

答案1

高 CPU 使用率源于计算本地存储和云端文件之间的差异。您可以查看此类算法的一些示例这里. 引述:

当然,这样做的好处是,我们不用将整个新文件传输到机器 A,而只需传输一个小签名和一个包含差异的增量文件。我们牺牲了 CPU 使用率,以节省大量带宽。

为了避免您每次都下载整个文件,他们会计算“增量文件”,然后将其发送到服务器。我无法为您提供 OneDrive 情况下此操作的所有细节,因为在云同步中,此类操作有很多问题需要解决。但您可以肯定,他们不想在您每次更改文件时都发送整个文件,因此他们会使用您的 CPU 来最大限度地减少要发送/接收的数据量。

内存使用量增加也是正常的,因为每个程序在运行时都需要内存来保存数据。因此,每当它处理文件(数据块)时,它都必须将其加载到内存中。这些是每种编程语言的基础。

答案2

我在尝试将 One Drive 文件下载到新的 Celeron 笔记本电脑上时遇到了类似的问题。

一个驱动器使用了 40-63% 的 CPU,并且每当我移动鼠标 1 厘米,光标就会移动 5 厘米。

我最终关闭了 One Drive,并通过 LAN 将 One Drive 文件从我的台式机复制到笔记本电脑上。

如果您没有 LAN 访问权限,另一种解决方案是将文件复制到 USB 拇指驱动器或 HDD,然后将其复制到新计算机上。

答案3

我在 Win10 1703(早期 Creators 版本)上遇到了 OneDrive 持续高 CPU 使用率的问题。我升级到了 Win10 1709(最新 Creators 版本)。它附带一个更新的 OneDrive 客户端,该客户端曾经指向我的本地镜像文件,覆盖了旧的 OneDrive 客户端,并修复了这个问题。

注意我需要从https://support.office.com/en-us/article/Enable-users-to-sync-SharePoint-files-with-the-new-OneDrive-sync-client-22e1f635-fb89-49e0-a176-edab26f69614, “启用该功能前请先测试它”标题。

新的 OneDrive 客户端似乎在保持同步方面做得更好,并且包含仅下载您编辑的在线文件的选项。

干杯。

答案4

我遇到了同样的问题,我通过删除我在 OneDrive 上存储和构建的几个 NodeJS 项目中的 node_modules 文件夹解决了这个问题。这些编译会下载大量文件(我的项目在 node_modules 中有超过 35000 个文件),它们似乎导致 OneDrive 开始使用大量 CPU 和内存。使用 TreesizeFree 识别包含大量文件的文件夹后(https://www.jam-software.com/treesize_free),我使用 OneDrive 的 Web UI 删除了它们,在桌面客户端完成同步后(这可能需要一段时间),它的 CPU 和内存使用率降至正常水平。我希望这能帮助您解决问题。顺便说一句,我正在运行 Windows 10 v2004 和最新的 OneDrive 内部版本。

相关内容