我正在使用 QuickBooks 插件,该插件需要大量内存才能运行。问题是,QuickBooks 根据 RAMMAP 中列出的“空闲”内存计算可用内存。我的机器上有 64GB 内存,RAMMAP 显示其中 59GB 内存为“归零”,大约 4GB 内存为“空闲”。
这是正常的吗?有没有办法增加“可用”内存,以便 QuickBooks 应用程序可以利用它?我已经阅读了数百篇关于增加 QuickBooks 内存使用量的文章,但我还是无能为力。
有任何想法吗?
答案1
这是正常的,没有问题。Windows 使用空闲内存之前必须用零覆盖它。这是由内核的 MmZeroPageThread 函数完成的。这就是为什么零的值如此之大。
答案2
有一些方法可以绕过 QBES 中的标准缓存设置,如下所示斯利特博客和知识库,根据您运行的版本号而有所不同。
版本 12 及以下版本具有下载并运行缓存修复工具在您的服务器上,然后重新启动。
版本 13 及以上,
- 确保你使用的是最新版本
- 使用文本编辑器打开(Windows Vista 及更高版本,C:\ProgramData\Intuit\QBW.ini)(XP 或 Server 2003,C:\Document and Settings\All Users\Application Data\Intuit\QBW.ini)
- 使用 .BAK 扩展名保留原始版本
在新部分添加以下三行
- [数据库服务器选项]
- 初始缓存=256
- 最大缓存=0
保存文件并关闭编辑器。
- 从文件菜单中关闭托管,然后重新打开。这将断开当时正在运行的任何用户会话。
如果服务器仅运行数据库管理器,请参阅上述文章中的第六步以获取说明。
QuickBooks 系列应用程序是作为 32 位应用程序编写的,因此它们最多可以使用 4GB。许多编程公司都这样做,因为 32 位代码速度更快,使用时占用的 RAM 更少,并且可以在 64 位操作系统上运行(而 64 位应用程序无法在 32 位操作系统上运行)。它还可以降低编程和文档的成本,因为只需要维护和分发一个代码库。
现在,如果您的操作系统是 64 位(您没有指定,但我推断),Windows 和其他应用程序将不会与 QuickBooks 使用的 4GB 部分竞争,所以这是好事。如果您使用的是 32 位版本的 Windows,您可以通过多种方式让您的 PC 使用超过 4GB 的内存,例如http://www.techrepublic.com/blog/windows-and-office/override-the-4gb-memory-barrier-on-32-bit-windows-81-systems/ 和 http://wj32.org/wp/2012/12/26/pae-patch-updated-for-windows-8/。