min server memory 和 max server memory 的影响
min server memory 和 max server memory 配置选项建立 Microsoft SQL Server 数据库引擎缓冲池使用的内存量的上限和下限。缓冲池并不立即获取 min server memory 中指定的内存量。缓冲池启动时只使用初始化所需的内存。随着数据库引擎工作负荷的增加,它将继续获取支持工作负荷所需的内存。在达到 min server memory 中指定的内存量之前,缓冲池不会释放它获取的任何内存。达到 min server memory 后,缓冲池将使用标准算法,根据需要来获取和释放内存。唯一的区别是缓冲池从不将内存分配降到 min server memory 所指定的水平下,也从不获取超过 max server memory 所指定水平的内存。
注意 |
---|
作为进程的 SQL Server 将获取超过 max server memory 选项所指定的内存。内部和外部组件都可以分配缓冲池以外的内存,这将占用额外内存,但是分配给缓冲池的内存通常表示 SQL Server 占用的内存的最大部分。 |
数据库引擎获取的内存量完全取决于放置在实例上的工作负荷。不处理很多请求的 SQL Server 实例可能永远达不到 min server memory。
如果为 min server memory 和 max server memory 指定相同的值,则一旦分配给数据库引擎的内存达到该值,数据库引擎将停止为缓冲池动态释放和获取内存。
如果在运行 SQL Server 实例的计算机上频繁启动或停止其他应用程序,启动这些应用程序所需的时间可能会因 SQL Server 实例分配和释放内存而延长。另外,如果 SQL Server 是几个在一台计算机上运行的服务器应用程序中的一个,系统管理员可能需要控制分配给 SQL Server 的内存量。在这些情况下,可以使用 min server memory 和 max server memory 选项控制 SQL Server 可以使用的内存量。有关详细信息,请参阅服务器内存选项。
min server memory 和 max server memory 选项以 MB 为单位指定。