SQL Server 2014 在启动时使用高内存

Ami*_* Sh 0 sql-server memory sql-server-2014

SQL Server 2014即使它处于空闲状态并且没有运行查询,该进程也在使用高内存。重新启动服务后,它再次发生,一段时间后内存使用量增加到 2.2GB。

过程

主人是Windows Server 2012

为什么?我怎样才能找到问题?

AMt*_*two 5

SQL Server 具有相当高的内存利用率并不罕见,即使服务器处于空闲状态也是如此。

SQL Server 会将内存利用率提高到配置的最大值——然后保留该内存,即使它没有被主动使用。这种内存增加通常对应于从磁盘读取数据、进入内存并保存在缓存中(从而在下次需要使用数据时提高性能)。您可能会看到 SQL Server 释放内存的唯一时间是系统处于极端内存压力下并且 SQL Server 也处于空闲状态。

SQL Server 的默认配置是使用最小 16 MB,最大 2147483647 MB​​(即无限制)。在这种配置下,您实际上是在允许 SQL Server 自行管理它自己的内存。

要查看 SQL Server 实例的配置方式,您可以在 Management Studio 中运行它以查看最小和最大内存配置:

EXEC sp_configure 'show advanced options',1
RECONFIGURE
EXEC sp_configure 'min server memory (MB)'
EXEC sp_configure 'max server memory (MB)'
Run Code Online (Sandbox Code Playgroud)

如果您想将 SQL Server 配置为在启动时立即分配 128MB 的内存,并且最大分配到 1024MB,您可以使用以下脚本:

EXEC sp_configure 'min server memory (MB)',128
EXEC sp_configure 'max server memory (MB)',1024
Run Code Online (Sandbox Code Playgroud)