小编Cra*_*aig的帖子

Windows 2012 Core Extreme 内存在 SVCHOST/Workstation 服务上的使用

我们有大约 200 台服务器、Hyper V、文件集群和 IIS,它们都遇到相同的问题,通过正常使用在服务器上发生一个事件,该事件使服务器上的 RAM 达到或接近最大。一旦发生这种情况,特别是 SVCHOST/Workstation 服务(通过将 Workstation 服务与它自己的 SVCHOST 隔离而淘汰)将停止释放句柄/线程,并且永远不会释放该服务使用的内存。在某些极端情况下,我们拥有在 255GB 服务器上使用多达 40GB 内存的工作站服务。在某些情况下还会发现超过 4000 万个句柄。

在重新启动时,问题当然会消失,并且直到所有内存都被使用(例如 W3 进程或 HyperV 虚拟机)之后才会再次出现,然后工作站服务开始获取所有 RAM。该过程非常缓慢,可能需要数周/数月的时间,具体取决于服务器上的 RAM 量。

我们的 Hyper V 服务器和 IIS 服务器都访问用于工作文件的共享,这些共享位于 SSD 存储上,因此它们的性能非常好。我们已经安装了所有当前的补丁,但尚未迁移到 R2,因为我们有很多工具可以使这成为重要的一步,并且找不到任何明确的迹象表明这将在 R2 中修复。

我们已经运行了 ProcMon 和其他工具,但在问题最严重的服务器上,这些工具甚至无法运行。在其他方面,他们提供的结果只是表明该过程中确实存在内存泄漏。

有没有办法可以从这个过程中释放内存或一起避免错误?我们不想重新启动,一旦进程处于错误状态,我们就无法重新启动它。该过程变得冻结。

我们试图避免定期重新启动以“修复”此问题,因此我们将不胜感激。

windows-server-core memory-leak windows-server-2012 hyper-v-server-2012 iis-8

9
推荐指数
1
解决办法
955
查看次数