SQL Server 未释放内存

SQL Server 未释放内存

我有一个关于 SQL Server 内存使用的问题。

当我启动 SQL Server 时,它开始消耗内存,并且随着时间的推移(2-3 小时),sqlservr.exe进程会消耗所有内存,只留下 100 MB 可供 Windows 操作使用。

我在 perfmon 中看到,计数器“SQL Server:内存计数器”仅显示使用率 5%。那么为什么sqlservr.exe即使只使用了 5% 的内存,也会消耗掉所有内存呢?

我想要的是sqlservr.exe根据需要消耗内存,而不是提前消耗。我也不想对“最大服务器内存”设置限制。

谢谢你们

答案1

SQL Server 将缓存所有可能的内容,以避免(缓慢的)磁盘访问。因此,当您的实例被使用时,SQL 开始将常用对象保存在缓冲区中,直到分配的内存已满。

相关内容