当另一个程序用尽所有内存后,打开的程序需要很长时间才能重新加载

当另一个程序用尽所有内存后,打开的程序需要很长时间才能重新加载

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

例如:我在 Firefox 最小化到后台时打开程序 A。由于 Firefox 通常使用大约 500MB,而 A 占用了我所有的内存,因此 Firefox 现在占用了大约 10-20MB,我显然无法打开它(从技术上讲我可以,但恢复它需要很长时间)。现在我关闭程序 A,看到 Firefox 慢慢加载回内存,直到达到 400-450MB 时,它仍然“卡住”。

是什么原因导致内存加载如此缓慢?是内存速度的问题吗?也许是硬盘速度的问题?也许我可以通过操作系统偏好设置来控制它(我使用 win7)?

谢谢。

答案1

未使用的应用程序的内存已被分页输出,这意味着它已被写入磁盘并从 RAM 中删除。即使您释放 RAM,应用程序的内存仍然在磁盘上,而不是在 RAM 中。从非常慢的磁盘读取 500 MB 可能需要一段时间。如果防病毒软件设法搞乱了一切,则需要更长的时间。这会快得多如果页面文件/交换文件位于快速 SSD 上.这个过程也可以潜在加速创建更大的页面文件, 到减少碎片化一些应用程序还会进行自己的内存管理,并在内存紧张时尝试减少其占用空间,这可能会或可能不会增加或减少问题的规模(即,它们试图提供帮助,但在这样做时可能会搞砸)。

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

相关内容