Jor*_*ter 3 windows-server-2008 memory-usage
我们的服务器可用内存总是很低。然而,顶级进程只占用了我们服务器上应该可用的一部分(具有10 GB内存)。
我跑去tasklist
获取所有进程的列表,并将它们使用的内存总量加起来。总内存使用量为6GB,大约有1GB的内存“可用”。
除非我遗漏了什么,否则这意味着大约有 3GB 的缺口(10GB 总内存 - 使用了 6 GB - 1 GB“可用”)。
我想知道会发生什么。每隔一段时间,“空闲”内存就会下降到 0,此时我们会遇到速度变慢的情况。
内存管理已经是一个复杂的话题,不幸的是,微软几乎在每个 Windows 版本中都改变了关于不同类型内存的确切定义和术语。所以相信我,你不是唯一一个被它弄糊涂的人。
当您使用 tasklist 时,tasklist 会显示分配给每个进程的工作集。工作集是分配给进程的最近访问的 RAM物理页,它不占进程可能使用的所有总虚拟内存(从某种意义上说,进程只使用虚拟内存,因为物理内存是抽象的到更大的虚拟内存池中,并与其他虚拟内存源(如页面文件)结合使用。)它也不考虑文件缓存等。
你的系统上永远不应该有太多的“空闲”内存。那是浪费的 RAM,实际上什么都不做。当没有进程需要更多内存时,Windows 使用可用内存来缓存文件,直到可用内存回落到零或接近零。
但是该缓存可以非常快速地重新分配给进程,此时它将成为该进程的一部分虚拟字节并从可用内存中减去。
至于你的减速,你可能会遇到很多事情。当 Windows 的可用内存不足时,它开始蚕食(或修剪)进程工作集,这可能会导致明显的减速。
当您谈论这些类型的内存时,使用性能监视器中的描述来获得最准确的描述。(与任务管理器相反,它对某些术语有一些冲突/混淆的术语。)
最后,我强烈建议您观看这个由两部分组成的视频系列:http : //channel9.msdn.com/Events/TechEd/NorthAmerica/2011/WCL405
归档时间: |
|
查看次数: |
2977 次 |
最近记录: |