Excel 的大地址感知功能更改

摘要

安装最新更新后,32 位版本的Microsoft Excel 2013和Excel 2016可以利用大地址感知 (LAA) 功能。 (请参阅“分辨率”部分,) 此更改使 32 位安装Excel 2016在用户在 64 位 Windows OS 上工作时消耗两倍的内存。 系统通过将用户模式虚拟内存从 2 GB (GB) 增加到 4 GB 来提供此功能。 此更改提供 50% 的内存 (例如,当用户使用 32 位系统时,) 从 2 GB 增加到 3 GB。

当内存受限于 32 位 Excel 安装时,此更改可能会最大程度地减少以下错误消息中描述的错误频率:

Excel cannot complete this task with available resources. Choose less data or close other applications.

Out of Memory

Not enough System Resources to Display Completely 

There isn't enough memory to complete this action. Try using less data or closing other applications. To increase memory availability, consider: 
* Using a 64-bit version of Microsoft Excel.
* Adding memory to your device.

解决方案

若要启用此更改,必须运行最新版本的 Microsoft Office。

更多信息

在 Windows 32 位体系结构中,任何程序的地址空间在应用程序 (用户模式内存) 和操作系统 (系统或内核内存) 之间共享。 对于 32 位进程,可寻址内存总量为 4 GB。 默认情况下,此内存在进程和系统之间均匀分配。 为了支持可能需要更多内存的程序,Windows 支持 LAA 内存布局。 仅当程序可以支持此功能并将其标识为提供此支持时,才使用此功能。 LAA 允许系统分配更多进程内存,但代价是自行保留较少的内存。

当前对 32 位 Excel 的设计更改使其可支持 LAA,并在 Windows 中将其标识为 LAA 程序。 Windows 可为程序提供的最大内存量取决于系统位数。 32 位 Windows 系统可以为用户模式内存分配不超过 3 GB 的内存。 这会将可用系统内存缩小到 1 GB。 (32 位系统的总 RAM) 不能超过 4 GB。 在 64 位 Windows 系统上,系统的可寻址内存空间要大得多,并且系统内存可以位于 4 GB 限制之外。 因此,在 64 位系统上运行的 32 位进程的最大可用用户内存是完整的 4 GB 可寻址范围。

此更改仅适用于 32 位程序。 因此,它仅影响 32 位版本的 Excel。 如果运行的是 64 位版本的 Excel,则此更改不起作用。

64 位操作系统和 32 位 Office

如果运行的是 64 位 Windows,则会自动应用此更改。 不需要你执行任何操作。 Excel 进程的可用内存会自动从 2 GB 增加一倍到 4 GB。 这改进了对使用大量内存的操作的支持。

32 位操作系统和 32 位 Office

如果运行的是 32 位 Windows,则无法自动应用此更改,因为它要求你更改运行操作系统的模式。 更具体地说,若要在 32 位 Windows 上利用 LAA,必须启用 /3GB 启动开关,然后重启系统。 有关此开关的详细信息,请参阅 Windows XP 和 Windows Server 2003 Boot.ini 文件的可用开关选项

注意

  • 可以通过删除 /3GB 启动开关来撤消此手动更改。
  • 通过设置此开关,可将系统内存资源减少到 1 GB。 这可能会导致功能限制,例如可以同时运行的程序数,以及可同时打开的所有程序的 windows (数) 。 每个系统资源都会消耗一些系统内存。 因此,尽管 /3GB 开关会扩展程序资源的内存,但它会减少可用于系统资源的内存。 请注意这种权衡,因为它可能会在其他程序中触发错误,不一定在 LAA 程序本身中触发。 64 位 Windows 系统没有此限制,因为系统资源可以保存在 32 位可寻址范围之外。
  • 此外,此更新还包含默认情况下在 Excel 自己的实例中打开 Excel 的功能。 有关详细信息,请参阅 如何默认在新实例中强制打开 Excel

常见问题

LAA 更新是否可以应用于 Excel 2013?

LAA 适用于Excel 2016即点即用、Excel 2013 MSI 和Excel 2016 MSI 版本。

LAA 更新是否可以应用于 Excel 2016 MSI 版本?

是的,Excel 2016 MSI 可以在安装 2016 年 6 月 7 日更新后应用Excel 2016

是否可以向计算机添加更多 RAM 以强制 LAA 超出标准限制 (32 位操作系统的 2 GB,64 位 OS) 为 4 GB?

添加更多 RAM 不会影响 LAA 程序的最大可寻址内存。 如果程序需要的内存超过 LAA 最大值,则可能需要移动到 64 位系统和 64 位版本的 Excel。

加载项是否会受到 LAA 的影响?

任何代码程序都可能受到此更改的微妙影响。 因此,你需要测试加载项,以确保它们正常工作。 任何功能的兼容性都不应有硬性中断。 因此,正确编写的加载项应从更改中获得的好处与主机应用程序本身一样多。 但是,如果加载项从未在 LAA 中进行测试,则任何现有代码 bug 现在都可能首次向用户公开。

此更改是否会修复工作簿中的内存不足错误?

许多因素都可能导致工作簿中的内存不足错误。 LAA 可以帮助降低内存压力,但并不能解决每个内存问题。 有时,可能需要执行以下操作之一:

其他内容