在另一个程序耗尽了所有内存之后,打开程序需要永远重新加载


1

我有以下现象:我有4GB RAM,有时我使用一个程序(程序A),它占用了所有可用的内存,比如3.9GB。如果有更多的开放程序,那么他们的内存可能会保存到磁盘上,而在taskman上我看到他们现在几乎没有内存。一旦我关闭程序A,内存立即被释放(我在任务员身上看到它),我希望其余的程序能够快速加载回内存。但不幸的是,它们需要几分钟(最多5-10分钟),直到它们正确加载。

示例:我在后台最小化Firefox时打开程序A. 由于Firefox通常使用大约500MB,并且A需要我的整个内存,Firefox现在使用大约10-20MB,我显然无法打开它(技术上我可以,但它将需要永远恢复它)。现在我关闭程序A并观察Firefox慢慢加载到内存中,直到它达到400-450MB它仍然“卡住”。

导致内存加载的原因是什么?是记忆速度吗?也许是硬盘速度?也许我可以通过操作系统偏好控制它(我使用win7)?

谢谢。

Answers:


1

未使用的应用程序的内存已被分页,这意味着它已被写入磁盘并从RAM中删除。即使你释放RAM,应用程序的内存仍然在磁盘上,而不是在RAM中。从非常慢的磁盘读取500 MB可能需要一段时间。如果防病毒设备弄乱了一切,那就更长了。如果pagefile / swapfile位于快速SSD上,则速度会明显加快。这个过程也可能通过将加快建立一个更大的页面文件,以减少碎片。一些应用程序也会进行自己的内存管理,并尝试在内存变紧时减少占用空间,这可能会也可能不会增加或减少问题的大小(即他们试图提供帮助,但可能会在执行此操作时搞砸)。

内存速度无关紧要,因为最慢的RAM比最快的硬盘(假设现实世界的消费者计算机)快几个数量级。


谢谢!那么这里的“瓶颈”是硬盘速度?虽然我也怀疑AV,但我知道一些“企业AV”会让事情变得相当慢,也许它就是罪魁祸首。
yoki 2014年

1
最初的瓶颈是RAM。获得几个GB的RAM(32或64)将完全禁用该问题(这就是为什么板上焊接RAM的机器很烦人)。现在,如果你不能摆脱交换,你必须让它更快 - 在这种情况下,更快的磁盘将有所帮助。SSD上有大量的写作,但考虑到目前最小的SSD为64 GB并且磨损均衡效果很好,这不应该对SSD的寿命造成太大影响。
彼得

谢谢。问题是这是工作计算机,所以我不能真正摆弄硬件。但我确实增加了页面文件,它似乎已经略微好一些。
yoki 2014年
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.