windows-server-2008 – Windows Server上的内存使用情况

我们的服务器的可用内存总是很低.然而,顶级流程只占用我们服务器上应有的部分内容(10 GB内存).

我运行任务列表来获取所有进程的列表,并累计了他们使用的内存总量.总内存使用量为6GB,大约1GB内存“可用”.

除非我遗漏了某些东西,否则意味着大约3GB的缺口(10GB总内存 – 使用6 GB – 1 GB“可用”).

我想知道会发生什么.每隔一段时间,“免费”内存就会下降到0,此时我们会遇到速度减慢.

内存管理已经是一个复杂的主题,不幸的是,微软已经在几乎每一个 Windows版本中都改变了有关不同类型内存的确切定义和术语.相信我,你不是唯一一个被它困惑的人.

使用任务列表时,任务列表会显示分配给每个进程的工作集.工作集是最近触及的分配给进程的RAM的物理页面,并不考虑进程可能正在使用的所有虚拟内存(在某种意义上,进程仅使用虚拟内存,因为物理内存是抽象的进入更大的虚拟内存池并与其他虚拟内存源(如页面文件)结合使用.)它也不考虑文件缓存等.

您的系统永远不应该有太多“免费”内存.这是浪费的RAM,实际上什么都不做.当没有进程需要更多内存时,Windows使用可用内存来缓存文件,直到可用内存回退到零或接近零.

但是,可以非常快速地将该缓存重新分配给进程,此时它将成为虚拟字节的一部分并从可用内存中减去.

至于你的减速,你可能会经历很多事情.当Windows的可用内存不足时,它开始消耗(或修剪)进程工作集,这可能导致明显的减速.

在谈论这些类型的内存时,请使用性能监视器中的描述来获得最准确的描述. (与任务管理器相反,后者对某些术语有一些冲突/混淆的术语.)

最后,我强烈建议您观看这个由两部分组成的视频系列:http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/WCL405

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...