在负载测试期间,Windows 内存在达到限制之前被释放

在负载测试期间,Windows 内存在达到限制之前被释放

.NET我正在通过 LAN 对 Web 应用程序运行负载测试。托管 Web 应用程序的服务器是一台虚拟机,Windows Server 2008 R2,具有 2 GB 的 RAM 和 3GB 的虚拟内存限制。它上面没有运行其他 Web 应用程序

测试运行 1 小时 40 分钟,每 10 分钟增加一次负载。

perfmon在负载测试期间记录了内存使用情况,我发现内存从 1.5GB 开始上升,直到 1 小时 20 分钟后达到 3.37GB 的限制,然后内存再次下降到 1.5GB。

我不明白为什么会发生这种情况。Windows 内存管理会这样做吗?如果是,为什么?

答案1

您正在探讨一个非常复杂的话题,很难在这个论坛上用一个简单的答案来概括它。

Windows 内存管理。我建议您先观看以下由两部分组成的视频系列:

http://northamerica.msteched.com/topic/details/WCL405

http://northamerica.msteched.com/topic/details/WCL406

对于您的问题,基本上,一旦系统开始变得内存紧张,内存管理器就会开始消耗待机列表、修改后的页面列表,最后是其他进程的工作集。

因此,要回答你的问题,是的,这是内存管理器在做这件事,根据它自己的算法,“好吧,我的内存不足了,我该怎么做才能为系统上的这个占用大量内存的进程释放一些内存”

相关内容