我们有大约200台服务器,Hyper V,文件集群和IIS,它们都遇到了同样的问题,通过正常使用在服务器上发生的事件最大化或接近最大化服务器上的RAM.一旦发生这种情况,SVCHOST / Workstation服务,特别是(通过将Workstation服务隔离到它自己的SVCHOST而被淘汰)会停止释放句柄/线程,并且该服务使用的内存永远不会被释放.在某些极端情况下,我们有一个工作站服务,在255GB服务器上使用多达40GB的RAM.在某些情况下还可以找到超过4000万把手.
在重新启动时,问题当然会消失,并且在所有内存都被使用之前不再出现,例如W3进程或HyperV VM,之后,Workstation服务开始抓取所有RAM.此过程非常缓慢,可能需要数周/月,具体取决于服务器上的RAM量.
我们的Hyper V服务器和IIS服务器都访问工作文件的共享,这些共享位于SSD存储上,因此它们具有足够的性能.我们安装了所有当前的补丁,但还没有移动到R2,因为我们有很多工具,这将使这个重要的一步,并且无法找到任何明确的迹象表明这将在R2中修复.
我们已经运行了ProcMon和其他工具,但在最有问题的服务器上,这些工具甚至都无法运行.在其他方面,他们提供的结果只表明在该过程中确实存在内存泄漏.
有没有办法可以从这个过程中释放内存或者一起避免错误?我们不想重新启动,一旦处于错误状态,我们就无法重启.这个过程变得冻结了.
我们试图避免定期重新启动以“修复”此问题,因此任何答案都将受到赞赏.