windows-server-2012 – 在SVCHOST / Workstation服务上使用Windows 2012 Core Extreme内存

前端之家收集整理的这篇文章主要介绍了windows-server-2012 – 在SVCHOST / Workstation服务上使用Windows 2012 Core Extreme内存前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们有大约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和其他工具,但在最有问题的服务器上,这些工具甚至都无法运行.在其他方面,他们提供的结果只表明在该过程中确实存在内存泄漏.

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

我们试图避免定期重新启动以“修复”此问题,因此任何答案都将受到赞赏.

我有一个奇怪的类似问题,svchost正在摧毁服务器性能.

解决方案:原来我有一个完整的事件日志.我把它清理干净了,一切都恢复正常,就像从未发生过一样.

(我还建议从默认值更改事件日志的大小,见下文)

使用Windows界面设置最大日志大小
– 启动事件查看器.
– 在控制台树中,导航到并选择要管理的事件日志.
– 在“操作”菜单上,单击“属性”.
– 在“最大日志大小(KB)”中,使用微调控件设置所需的值,然后单击“确定”.

这听起来就像这里发生的事情,但最终成为一个非常简单的解决方案.重新启动会暂时解决问题,但只要有人尝试写入日志,一切都会失控,并且不断耗尽资源.

希望这可以帮助!

猜你在找的Windows相关文章