我们有一个内存泄漏困扰着我们的许多2008R1SP2文件服务器。 poolmon.exe中的“File”非分页内存标签将泄漏,直到共享文件夹不再可用,然后RDPclosures(我们必须通过控制台重新启动)。 有时这个泄漏是> 1.5G /天。
如果有什么东西需要删除,我需要有一个相当不错的预感,一个巨大的CM需要被批准。 自从开始发生以来,唯一的变化就是增加了McAfee Agent 5.0.2.132,但是McAfee的AV还没有以任何方式运行(它正在为尚未实施的迁移做准备)。 我意识到poolmon屏幕中的MFEm标记是McAfee,但是在大多数泄漏的服务器中,它的列表并不高。
此外,追溯到网卡驱动程序(无论是iANS或BCM8)的标签通常都在非页面字节sorting的前五六位。 我们还没有尝试从networking隔离,但也许这是一个好主意。
我理解的下一个逻辑步骤是运行xperf / Windows Performance Toolkit,但是这似乎需要.NET 4.5,由于多种原因,我们无法安装它。
1)是否有人知道在哪里可以下载独立版本的xperf,与2008R1SP1兼容(甚至只有CLI)?
2)假设#1是不可用的(或至多是一个糟糕的想法),有没有其他工具可以跟踪和跟踪池标签类似的方式?
3)你有什么build议可以让我指出正确的方向吗?
这可能不是一个直接的答案,但正如我看到你的“图元文件”真的很高,有一个私人的解决scheme。
当系统文件caching消耗大部分物理RAM时,您将遇到应用程序和服务中的性能问题 – https://support.microsoft.com/zh-cn/kb/976618
在那里解释: http : //blogs.technet.com/b/mspfe/archive/2012/12/06/lots-of-ram-but-no-available-memory.aspx
我们结束了与微软的支持案例的支付。 工程师能够跟踪到McAfee代理的泄漏情况。 在我们的2008 SP2服务器上安装以下热修复(每个Microsoft)解决了非分页池泄漏(无需卸载McAfee代理):KB2029048,KB2961072,KB3019168。 我希望这可以帮助有这个问题的其他人。
感谢所有那些花时间去帮忙的人。
编辑:如果您好奇,我们不能因为政治原因在故障排除期间禁用McAfee代理。 一家大公司内的多个IT部门,有着重叠的兴趣和一些微妙的自我。 现在,证据至less在说话。 😉
高元caching+“文件”用法表示程序执行大量的FileIO操作。 您已经使用xperf来追踪导致使用情况的原因 。 从Windows SDK安装WPT (8.1版本也适用于Win7 / 2008R2,但不适用于较早版本的Server 2008)(这里是MSI安装程序,如果你不想安装.Net Framework 4.5),打开一个cmd。 exe作为pipe理和运行这个:
xperf -on PROC_THREAD + LOADER + POOL -stackwalk PoolAlloc + PoolFree + PoolAllocSession + PoolFreeSession -BufferSize 2048 -MaxFile 2048 -FileMode Circular && timeout -1 && xperf -d C:\ poolusage.etl
捕捉2-3分钟的游泳池使用量增长。 使用WPA.exe打开ETL(在安装了.net 4.5的第二台PC上),将池图添加到分析窗格。
按照您在图片中看到的顺序排列这些列, 加载 WPA.exe中的符号 ,然后展开您在poolmon中看到的“File”标记的堆栈。
这里的File标签由locate32.exe使用 ,扫描文件系统在search索引中生成。