当我有这么多RAM时,为什么我的系统这么慢?


8

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

我的公司将Excel推到了引用其他工作表的极限,这浪费了很多资源。通常,它在运行计算,保存等操作时,有时似乎会挂起10分钟。

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

是否有解释为什么它运行这么慢?

编辑:我应该澄清。我正在寻找更多有关此概念的概念,而不仅仅是我的计算机运行缓慢的解决方案(仅作为示例)。我认为在注意到可能影响整个系统的严重速度变化之前,我应该能够使用几乎所有的RAM。


你有什么处理器?另外,4GB的内存也不是很多。充其量只能算是平均水平,但这是我今天对所有人提出的最低建议。
Darth Android

对于运行32位XP的系统,这几乎“充其量”。
Joe Internet,

1
@Joe与操作系统的最大容量无关,仅与普通用户最近使用的应用程序数量以及占用的内存量有关。没错,添加更多内容直到他升级到64位操作系统之前都不会起作用。
达斯Android

IMO,您不能从“平均值”中删除硬件上下文。OP运行Windows XP,建议的最小RAM为128M,支持的最小为64M。因此,大约55倍的支持最小值可能高于平均值。
Joe Internet

Answers:


11

这些参考电子表格中的某些电子表格可能位于LAN上吗?如果是这样,您与LAN上的文件建立了什么样的连接(100mbit,千兆位,无线等)?

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

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

最终,许多公司都无法充分利用Excel的最佳功能,就像您的公司一样(为什么,为什么他们在需要数据库时不使用数据库,而让Excel保留简单的数据记录和处理功能??? ?),我发现比较旧计算机/较慢计算机(使用4年的IBM台式机8215和9645)和较新/速度较快计算机(使用6个月的台式机,3269、9964)上的Excel的速度,并没有显着差异。

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

您所能做的就是找出并缓解所有可能的缓慢点,并期盼最好。


哇,你钉了!我刚刚在上一篇文章的帮助下找到了答案,然后看到了这个答案。是的,我同意该数据库。有人告诉我原因是“因为我们不想付DBA”。取而代之的是,他们每天付我3个小时的时间来抚摸我的拇指,等待Excel。我确定问题的一部分可能是VBA,因为我也主要是自学成才,但我注意到的可能更多是LAN问题。谢谢!
僵尸2011年

4
不客气 好消息是,在Excel中可以有相对有效的处理方法。一个常见的任务是查找数据的行数。某些人会搜索所有数据行的预设最大值,假设其他方法遇到第一个空单元格时可能会报告最后一行,但没有意识到有比手动检查不会失败的整个范围更快的方法第一个空单元格。Excel编码中的另一个好的做法是将整个表加载到数组中,从而将它们保留在内存中。像这样的小事情加起来并有助于加速事情。
音乐2

1
每天花3个小时来学习SQL和数据库理论,以及如何提高Excel VBA技能。虽然拥有专用的DBA对于非常困难的东西或非常笨重的东西有好处,但是使用诸如SQL Server Express版本之类的东西并不难。
Joe Internet,

1
@Joe:Or Access (这对公司会更友好,因为他们可能都已经安装了它,但是总有一天比Excel迁移到SQL Server容易得多)
BlueRaja-Danny Pflughoeft 2011年

除了能够在表单上绘制按钮之外,我想不到Access可以给这种情况带来的好处。如果确实需要,Visual Studio Express仍然是更好的选择。
Joe Internet,

6

Windows XP在使用超过1GB的RAM方面做得不好。某些应用程序可能使用更多,但至少在默认情况下,单个应用程序一次不能使用超过2GB的内存,这是应用程序可以看到的最大虚拟地址空间。有一种模式可以允许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)投资于将减少性能瓶颈的硬件。


谢谢!我使用漫游配置文件,这使我意识到对我正在处理的文件的服务器读/写可能是问题的很大一部分。另外,有据可查!再次感谢。
僵尸2011年

2

听起来好像您使用的是32位操作系统(问题并不是一定要说的),在这种情况下,您只能使用3.45GB的可寻址内存。Windows根本不知道任何超出此限制的内存。

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

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


1
您是说即使我在32位的盒子上安装了8GB的内存,我也只有3.45 GB?其余的将永远不会被使用?
Pacerier,2011年

1
@Pacerier-类似的东西。每个进程有2GB的限制,该限制是由于操作系统的性质而引起的-将2提升到32nd power是4GB,因此您不能再提高了。
ChrisF 2011年

2

我怀疑与当前答案完全不同:我想知道您是否安装了“用于Office 2003、2007 Office和Office 2010的Microsoft Office文件验证”更新。

它将对Excel文件的网络访问简化为CRAWL。我只用了1分钟时间就打开了一个21k的文件。一旦它脱落,砰!,恢复正常。

请参阅我有关服务器故障的文章以及相关的知识库文章,该文章将其称为“已知问题”。

/server/286427/slow-opening-of-excel-files-on-the-network


哇!听起来很激烈!幸运的是,我正在运行Excel 2010,并且几个月来我也一直在注意这一点(帖子说更新是在本月初进行的)。感谢您的注意。我希望它变得如此简单!
僵尸2011年

@Zombian OK,至少您检查过。是的,它不会影响Excel 2010,因为它内置了有问题的更新功能,但对于2003/2007而言却并不愚蠢。该更新导致很多专业管理员花费大量时间和精力。我也希望这对您来说是如此轻松。
KCotreau

1

其他答案提到的问题可能会导致您的问题,但似乎没有人提到Excel具有内置的内存限制;请参阅“ Excel内置内存限制”。它不会使用PC的所有RAM。

以下是Excel的一些限制:

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

来源和更多信息:Excel内存限制,由Microsoft Excel MVP Charles Williams提供

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.