为何我有这么多 RAM,系统却这么慢?

为何我有这么多 RAM,系统却这么慢?

因此,根据我的操作系统 (XP),我的计算机具有 3.45 GB 的 RAM。我有 2 GB 的虚拟 RAM。

我公司将 Excel 引用其他工作表的功能发挥到了极致,这会消耗大量资源。在运行计算、保存等操作时,程序通常会挂起长达 10 分钟。

当我查看问题所在时,我注意到处理器通常以大约 8-12% 的速度运行,但 RAM 通常为 250,000+ KB。这导致我的计算机运行缓慢,如果我只有 512 或 1 GB 的 RAM,这对我来说是合理的。我知道 250,000 是用于操作系统的相当多的内存,但总共有 6 GB,我期望性能会好得多。

有没有解释一下为什么它运行得这么慢?

编辑:我应该澄清一下。我正在寻找更多这背后的概念,而不仅仅是解决我的电脑运行缓慢的问题(这只是一个例子)。我当时认为,在注意到会影响整个系统的严重速度变化之前,我应该能够使用几乎所有的内存。

答案1

这些引用的电子表格中是否有一些可能位于 LAN 上?如果是,您与 LAN 上的文件采用哪种连接(100mbit、千兆位、无线等)?

Excel 非常“健谈”。尤其是当您处理参考电子表格和分散在各种资源中的数据时,应用程序可能需要大量通信才能发送和接收必要的信息。如果大多数文件位于网络共享和网络驱动器上,这至少可以解释您遇到的缓慢问题的一部分。

此外,无论您使用多少内存,您可能会发现 excel.exe 通常不会占用您预期的那么多内存。您的计算机上是否正在运行其他不必要的进程?许多任务栏图标(时钟旁边)您不知道它们是如何出现在那里或它们的用途?

最后,许多公司对 Excel 的利用远远超出了其最佳功能,就像您的公司一样(为什么他们在需要数据库时不使用数据库,而将 Excel 留给简单的数据记录和处理功能???),我发现比较 Excel 在我们较旧/较慢的机器(4 年前的 IBM 台式机 8215 和 9645)和较新/较快的机器(6 个月前的台式机,3269、9964)上的速度,并没有显著差异。

根据连接电子表格的宏和代码的编写方式,电子表格收集和处理所需数据的速度可能存在本质上的硬性限制。

您所能做的就是找出并缓解所有可能导致速度缓慢的点,并希望获得最好的结果。

答案2

Windows XP 在使用超过 1GB 的 RAM 方面表现不佳。某些应用程序可能会使用更多,但没有任何单个应用程序一次可以使用超过 2GB 的 RAM,至少默认情况下是这样 - 这是应用程序可以看到的最大虚拟地址空间。有一种模式允许使用 3GB 的地址空间,但这可能会导致许多软件出现兼容性问题。

如果您的机器仅使用 0.25GB,这似乎很奇怪 - 除非内存根本不是您的瓶颈。

如果您的机器“似乎挂起了”,我猜是因为您正在进行大量的硬盘访问。这可能与 Windows XP 内存使用问题有关 - Windows 7 在预测您近期将使用的内容并缓存它方面更加积极。Windows XP 甚至不会将那么多内存用于缓存,更不用说尝试进行预测性缓存了,因此您更有可能“破坏”硬盘。

如果是这个问题,可以考虑以下一些选择......

  1. 尝试使用 ramdisk,以尽量减少硬盘的使用。将文档放在那里,并确保任何临时文件也存储在那里。甚至有一些可用的 ramdisk 可以使用 32 位 Windows XP 可以访问的 4GB 以外的 RAM。

  2. 使用具有条带化的 RAID 阵列来提高硬盘性能。

  3. 使用固态硬盘 - 但请注意,如果您的应用程序进行大量写入,这可能会导致 SSD 过度磨损。此外,Windows XP 并未针对 SSD 进行优化 - 请留意支持 Trim 的更新。

基本上,这个想法要么是 (1) 强制您的系统使用 RAM,要么是 (2, 3) 投资可以减少性能瓶颈的硬件。

答案3

听起来你使用的是 32 位操作系统(你在问题中没有明确说明),在这种情况下,你的内存限制为 3.45GB可寻址内存。Windows 根本不知道任何超过此限制的内存。

这意味着,当运行使用大量资源的程序时,您将大部分时间将数据分页到磁盘,因为操作系统必须将内存中的数据与磁盘上的数据交换出去。您可以尝试增加页面文件的大小(假设这就是您所说的虚拟 RAM),但最好让 Windows 来管理这一点。

您需要安装 64 位操作系统才能从内存中获得性能优势。

答案4

其他答案提到了可能导致您出现问题的事情,但似乎都没有提到Excel 具有内置内存限制;它不会使用 PC 的所有 RAM。

Excel 的一些限制如下:

  • Excel 5:仅限于16MB
  • Excel 95/97/2000:仅限于64MB
  • Excel 2002:仅限于128MB
  • Excel 2003:仅限于1GB工作集,实际工作簿较少
  • Excel 2007:仅限于2GB工作集,实际工作簿较少
  • Excel 2010:仅限于2GB在 32 位 Excel 中,8 TB(8000GB)在 64 位 Excel 中

来源及更多信息:Excel 内存限制,作者:Charles Williams,Microsoft Excel MVP

相关内容