没有内存预留的 SQL Server 完全挂起

没有内存预留的 SQL Server 完全挂起

我们的 SQL Server 机器当前出现故障。

看来,一旦与我们的 SQL Server 位于同一台 (VMWare) 主机上的服务器启动维护程序,
SQL Server 就会膨胀,几乎失去所有内存。

我接下来的期望是 SQL Server 在维护窗口之后恢复其内存。
然而这永远不会发生,SQL Server 将一直处于内存底部,直到我们强制重新启动。

记忆

上图可以看到内存膨胀(黑线)在我们的维护时段内开始和结束。
但消耗的内存并没有恢复到预期水平。
第二天早上,我们被迫重新启动,此时内存又恢复了。
这次重新启动必须通过 Vsphere 进行,因为机器完全没有响应,我们无法登录。

我们的应对措施是在所有生产机器上设置内存预留。
但是对于我们的 STG 和 DEV 机器,我们的基础设施中根本没有足够的内存来预留所有内存。

有什么方法可以解决我们的问题而不会使我们的 VMware 环境负担过重?
SQL Server 无法在不重新启动的情况下恢复丢失的内存的原因是什么?

我曾考虑为每个 SQL Server 预留 4GB 内存,以确保始终有最低工作内存可用。
但是,如果没有合理的理由进行此预留,我没理由提出此要求。

相关内容