如果应用程序足够大以便加载到可用的RAM内存中会发生什么?

时间:2009-11-19 12:19:36

标签: memory operating-system memory-management

有可能需要在低配置系统中启动重量级应用程序..(特别是当系统内存太少时) 当我们已经在系统中打开了很多应用程序时我们继续尝试开启新的应用程序会发生什么?

我只看到应用程序需要花时间处理或挂起一段时间,当我尝试在低配置中使用它时。低内存和旧处理器的系统.. 当内存不足时,它如何能够容纳许多应用程序..? (如128 MB或更小..) 它是否涉及任何分页或其他内容..?

有人可以让我知道这背后的理论......!

3 个答案:

答案 0 :(得分:1)

搜索引擎的一些关键词是:分页,交换,虚拟内存。

维基百科有一篇名为Paging (Redirected from Swap space)的文章。

答案 1 :(得分:1)

经常使用虚拟内存。如果使用虚拟内存页面,它们将映射到物理内存。如果需要物理页面且没有可用页面,则会将另一个页面写入磁盘。这称为交换,这解释了为什么拥挤的系统变慢,内存升级对性能产生积极影响。

答案 2 :(得分:1)

“重量级”是一个非常模糊的术语。当操作系统加载程序时,EXE会映射到您的地址空间中,但只会根据需要对运行的代码页(或引用的数据页)进行分页。

如果在程序运行时需要不断地交换页面(也就是许多硬页面错误),你可能会遇到可怕的性能,但它应该可以工作。

由于您的提交费用接近提交限制,并且提交限制可能没有增长空间,您也可能会收到许多malloc() / VirtualAlloc(..., MEM_COMMIT) / HeapAlloc() / { {1}}失败,因此您需要在程序中查看返回代码。