Windows server 2003 程序最小化时内存丢失

Windows server 2003 程序最小化时内存丢失

这是我在操作系统上遇到过的最奇怪的事情。我运行了几个程序,这些程序占用了 1 GB 的内存。但如果我最小化该程序,它的内存使用量也会减少 100 MB!这意味着我丢失了 900 MB 的内存,它消失了,它去哪儿了?我怎样才能将内存保留在原处?

在我自己的笔记本电脑上,该程序运行良好,没有丢失内存。

而且程序不会立即崩溃,但几天后(它无法在内存中找到它需要的内容)有点奇怪......

这实际上是内存泄漏。(只是缺少内存)

我希望有人能帮助我!

答案1

这实际上是 Windows XP/2003 的一个已知功能。我不确定 Windows 7/2008/R2 是否保留了此行为。

当应用程序的顶层窗口最小化时,应用程序的工作集会被修剪
http://support.microsoft.com/kb/293215

答案2

你的程序并没有“丢失”任何 RAM。操作系统使用一个称为“分页”将 RAM 中现在不需要的内容外包给硬盘--> page file

当再次需要数据时,数据会位于硬盘上并再次加载到 RAM 中。

现在,当您最小化某个程序时,由于最小化时没有任何内容可显示,因此许多资源现在都不再需要。因此,Windows 会将内容写入页面文件以释放其他程序可能使用的内存。

相关内容