基础知识 · 2022年5月30日

Excel 的大地址感知功能更改

概括

安装最新更新后,32 位版本的 Microsoft Excel 2013 和 Excel 2016 可以利用大地址感知 (LAA) 功能。(请参阅“解决方案”部分)当用户在 64 位 Windows 操作系统上工作时,此更改允许 32 位安装的 Excel 2016 消耗双倍的内存。系统通过将用户模式虚拟内存从 2 GB 增加到 4 GB 来提供此功能。当用户在 32 位系统上工作时,此更改提供了 50% 的更多内存(例如,从 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。

版本发布日期内部编号
Office 365 for 2016(当前频道订阅者)2016 年 5 月 3 日构建 16.0.6868.2060
Office 365 for 2016(首次发布延迟频道)2016 年 6 月 14 日构建 16.0.6965.2058
Office 365 for 2016(延迟频道订阅者)2016 年 10 月 11 日构建 16.0.6965.2092
2013 版 Office 3652016 年 6 月 7 日构建 15.0.4833.1001
Excel 2013 (微星)2016 年 6 月 7 日构建 15.0.4833.1000
Excel 2016 (微星)2016 年 6 月 7 日构建 16.0.4393.1000

更多信息

在 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。这可能会导致功能受到限制,例如可以同时运行的程序数量和可以同时打开的窗口数量(对于所有程序)。每个系统资源都会消耗一些系统内存。因此,尽管 /3GB 开关为程序资源扩展了内存,但它减少了可用于系统资源的内存。请注意这种权衡,因为它可能会在其他程序中触发错误,不一定在 LAA 程序本身中。64 位 Windows 系统没有此限制,因为系统资源可以保留在 32 位可寻址范围之外。
  • 此更新还包括默认情况下在其自己的实例中打开 Excel 的功能。有关详细信息,请参阅默认情况下如何强制 Excel 在新实例中打开

常问问题

LAA 更新能否应用于 Excel 2013?

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

LAA 更新能否应用于 Excel 2016 MSI 版本?

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

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

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

加载项会受到 LAA 的影响吗?

任何代码程序都可能以微妙的方式受到这种变化的影响。因此,您需要测试加载项以确保它们正常工作。任何功能的兼容性都不应出现硬性中断。因此,正确编写的加载项应该从更改中获得与宿主应用程序本身一样多的好处。但是,如果从未在 LAA 中测试过该插件,则任何现有的代码错误现在都可能首次暴露给用户。

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

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

附加内容