我们的服务器的可用内存总是很低.然而,顶级流程只占用我们服务器上应有的部分内容(10 GB内存).
我运行任务列表来获取所有进程的列表,并累计了他们使用的内存总量.总内存使用量为6GB,大约1GB内存“可用”.
除非我遗漏了某些东西,否则意味着大约3GB的缺口(10GB总内存 – 使用6 GB – 1 GB“可用”).
我想知道会发生什么.每隔一段时间,“免费”内存就会下降到0,此时我们会遇到速度减慢.
内存管理已经是一个复杂的主题,不幸的是,微软已经在几乎每一个
Windows版本中都改变了有关不同类型内存的确切定义和术语.相信我,你不是唯一一个被它困惑的人.
原文链接:https://www.f2er.com/windows/366205.html使用任务列表时,任务列表会显示分配给每个进程的工作集.工作集是最近触及的分配给进程的RAM的物理页面,并不考虑进程可能正在使用的所有虚拟内存(在某种意义上,进程仅使用虚拟内存,因为物理内存是抽象的进入更大的虚拟内存池并与其他虚拟内存源(如页面文件)结合使用.)它也不考虑文件缓存等.
您的系统永远不应该有太多“免费”内存.这是浪费的RAM,实际上什么都不做.当没有进程需要更多内存时,Windows使用可用内存来缓存文件,直到可用内存回退到零或接近零.
但是,可以非常快速地将该缓存重新分配给进程,此时它将成为虚拟字节的一部分并从可用内存中减去.
至于你的减速,你可能会经历很多事情.当Windows的可用内存不足时,它开始消耗(或修剪)进程工作集,这可能导致明显的减速.
在谈论这些类型的内存时,请使用性能监视器中的描述来获得最准确的描述. (与任务管理器相反,后者对某些术语有一些冲突/混淆的术语.)
最后,我强烈建议您观看这个由两部分组成的视频系列:http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/WCL405