AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 335895
Accepted
Yano_of_Queenscastle
Yano_of_Queenscastle
Asked: 2024-02-16 03:55:40 +0800 CST2024-02-16 03:55:40 +0800 CST 2024-02-16 03:55:40 +0800 CST

SQL Server:最大内存与最小内存相同吗?

  • 772

我目前正在浏览《Pro SQL Server 2019 管理:现代 DBA 指南》,发现一件事让我有些困惑。

在第 5 章:配置实例中,有关最小和最大服务器内存的部分(第 139-140 页)说:

在许多环境中,您可能希望为最小和最大服务器内存提供相同的值。这将避免 SQL Server 动态管理其保留的内存量的开销。

但是,如果您有多个实例,则动态内存管理可能会有所帮助,以便在任何给定时间具有最重工作负载的实例可以消耗最多的资源。

...假设您有一个实例并且没有其他应用程序(例如 SSIS 包)在服务器上运行,您通常会将最小和最大内存设置设置为

  • 内存 - 2 GB
  • (内存/8)* 7

然而,“为最小和最大服务器内存提供相同的值”的建议与文档相矛盾,文档说:

不建议将最大服务器内存 (MB) 和最小服务器内存 (MB) 设置为相同或接近相同的值。

在什么情况下最好将最大服务器内存和最小服务器内存设置为相同的值?

或者我对建议有什么误解?

sql-server
  • 1 1 个回答
  • 675 Views

1 个回答

  • Voted
  1. Best Answer
    Erik Darling
    2024-02-16T04:28:34+08:002024-02-16T04:28:34+08:00

    这是愚蠢的建议

    通过保持咖啡桌水平或其他什么,这本书可能会更好地为你服务。当您将最小服务器内存设置为等于最大服务器内存时,SQL Server 无法再动态使用内存。

    请参阅:动态内存管理:

    如果为最小服务器内存和最大服务器内存 (MB) 指定了相同的值,则一旦分配给 SQL Server 数据库引擎的内存达到该值,SQL Server 数据库引擎就会停止动态释放和获取缓冲池的内存。

    在有关来宾内存预留和启用内存中锁定页面的建议被更普遍遵循之前,这对虚拟机来说是一个(糟糕的)建议。内存中的锁定页面具有类似的总体效果,同时仍然允许在 SQL Server 进程内动态使用内存。

    在达到最小服务器内存中指定的数量之前,缓冲池不会释放任何获取的内存。一旦达到最小服务器内存,缓冲池就会使用标准算法根据需要获取和释放内存。唯一的区别是缓冲池永远不会将其内存分配降低到最小服务器内存中指定的级别以下,并且永远不会获取比最大服务器内存 (MB) 中指定的级别更多的内存。

    换句话说,如果将两者设置为相同的值,缓冲池之外的内存消耗者可能会遇到相当困难。您不希望这样,因为其他使用者会做重要的事情,例如管理锁,并为查询提供运行内存。

    • 14

相关问题

  • SQL Server - 使用聚集索引时如何存储数据页

  • 我需要为每种类型的查询使用单独的索引,还是一个多列索引可以工作?

  • 什么时候应该使用唯一约束而不是唯一索引?

  • 死锁的主要原因是什么,可以预防吗?

  • 如何确定是否需要或需要索引

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve