我们目前正在遇到SQL Server计算机上的故障。
一旦与我们的SQL服务器在同一个(VMWare)主机上的服务器开始维护过程,
SQL服务器会膨胀几乎所有的内存。
接下来我期望的是SQL Server在维护窗口后收回它的内存。
然而,这从来没有发生,SQL Server将保持底层内存,直到我们强制重新启动。
在上面你可以看到膨胀(黑线)在我们的维护窗口中开始和结束。
但消耗的内存不会回到预期的水平。
第二天早上,我们被迫重新启动,此时内存恢复正常。
这个重启必须通过Vsphere来完成,因为机器完全没有响应,我们无法login。
我们已经通过在我们所有的生产机器上设置内存预留来做出回应
但是对于我们的STG和DEV机器来说,我们的基础设施中没有足够的内存来保留所有的东西。
什么才能解决我们的问题,而不会加重我们的VMware环境?
SQL Server无法在不重新启动的情况下找回丢失的内存的原因是什么?
我正在考虑为每个SQL Server保留4GB内存,以确保始终提供最less的工作内存。
但是,如果没有这个保留的正确理由,我不能要求这样做。