当内存不足(RAM)和分页被禁用时,Windows会发生什么?


0

是否会出现任何错误消息或应用程序崩溃?

我看到以下消息:

... exe遇到了问题,需要关闭。我们对造成的不便很抱歉。

当系统负载较大时,往往会发生这种情况。我还没有能够监控任何确切的内存使用情况。

这是在Windows XP SP3上,构建2600。


我很确定如果内存耗尽,Windows会崩溃。
cascer1

1
怎么了?这取决于。有时候崩溃可以被抓住并且优雅地处理,有时它会崩溃。但是你在帖子中没有说什么,这是一个记忆问题。打开任务管理器,查看它使用了多少资源。查看事件查看器以查看详细信息
Dave

Answers:


0

为了将窗口和/或引导安装到窗口中,已经需要一定量的存储器。如果内存不足,Windows将无法安装。但如果你有足够的内存,安装Windows,然后删除内存,Windows将无法启动。

也就是说,让我们说你有足够的内存来运行Windows,但你启动的程序需要比Windows更多的内存?

那么,发生的事情取决于一些事情。

程序员是否使用Windows API调用来正确管理内存,如果是这样,程序在尝试执行某些任务时应该只显示错误消息。如果加载程序本身超过内存,它可能会在启动时崩溃,给出“此程序意外终止。向Microsoft发送错误报告”

但是,如果程序员没有使用微软API调用,那么它会确定程序员预测可能存在内存问题的程度,并测试程序发现内存问题。如果程序员没有为任何内存问题添加检查,程序将崩溃,或者取决于程序员所做的甚至可以使Windows本身崩溃。

诸如c ++之类的编程语言允许直接内存管理,并且在没有经过适当检查的情况下插入代码时足以使窗口崩溃。

Windows确实有一些内置的保护,以BSoD的形式,但这仍然是一个崩溃。


1
这个答案是对的。如果捕获到异常,使用C#或Java等托管语言编写的程序将生成异常。编写一个像C ++这样的语言的程序可以抛出异常,但它也可能崩溃。即使C#程序异常本身没有被捕获,仍然会抛出异常,它只会导致不可恢复的状态
Ramhound

谢谢你的回答lpchip。所以关于错误消息..你说“xx.exe遇到问题需要关闭。我们很抱歉给您带来不便。”最有可能与内存问题无关?
Nicco

我不是这么说的,但确实如此。这可能是一个原因,但并非必须如此。 prorammer可能很容易溢出整数或以其他方式创建内存反馈循环并变得无响应。它甚至可以执行一个特定的代码行,这将导致程序崩溃(调试指令)。
LPChip

0

首先,您无法在Windows上禁用分页。我认为你的意思是没有分页文件。答案是 - 没有什么不寻常的事情发生。这是一个完全正常的情况。

当Windows超出RAM且需要RAM时,它会执行以下操作之一:

  1. 如果需要,可以再次从磁盘中检索的仅作为信息副本的清理页面将被丢弃。这使得更多免费页面。

  2. 包含已修改文件副本的脏页将写回磁盘,从而使页面清晰,允许它们被丢弃。

通常,系统会有第三个选项 - 不包含已修改的文件副本的脏页可以写入页面文件,允许它们也被丢弃,但如果没有页面文件,则该选项不可用。这往往会导致性能严重下降,因为系统内存会被从未访问过的脏页混乱。

与大多数现代操作系统一样,Windows通常几乎一直都没有RAM。如果它没有RAM,它将有一个比它可能更小的磁盘缓存,导致不必要的I / O操作。


我假设交换文件在这里,你可以禁用。
LPChip

谢谢你的回答大卫。所以你的意思是..即使你检查虚拟内存选项下的“没有分页文件”..窗口仍然以某种方式使用分页?
Nicco

如果是这种情况,那么当您尝试禁用它时,Windows不会向您显示严重警告。
LPChip

1
@Nicco是的。 Windows页面无论你做什么。例如,无论你做什么,当你运行程序时,Windows都会 将整个程序加载到内存中。它会将程序的开头加载到内存中,并根据需要允许其他程序进行分页。这样,如果程序执行的很少(比如,等待命令或连接),则不会浪费大量RAM来保存整个应用程序。
David Schwartz

1
@LPChip禁用分页文件意味着Windows无论如何都无法获取脏的,无内容的页面内存。这严重损害了Windows有效利用内存的能力。通常情况下,干净页面的集合会受到挤压,并且当RAM填充了可能永远无法访问的脏页时,您会得到不必要的I / O,因为干净的页面会加载和卸载。
David Schwartz

0

内存不足警告和错误意味着提交费用已达到提交限制。这与可用RAM的短缺无关。即使有足够的RAM可用,也会发生错误。

提交限制是RAM大小+页面文件大小 - 开销很小。没有页面文件,它将略小于RAM大小。对于许多常见的工作负载,即使使用4 GB RAM,这可能还不够。

最佳解决方案是启用页面文件,最好设置为系统管理。

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.