如何配置SQL Server使用Windows系统的Large-Page allocations

今天,一个可改变控制的实现激使我去写这篇文章,这个可改变的控制就是允许运行在Windows200864位服务器上的SQLSERVER2005企业版上

使用跟踪标志834,SQLSERVER会利用 Large-Page allocations去构建内存中的Buffer Pool。

下面是我对 Large-Page allocations的理解和这个Large-Page allocations对性能的提升

页面分配

虚拟地址空间(VirtualAddressSpace,VAS)由很多的内存页面组成。这些页面有两种大小,小的页面只有4KB大小(IA64位系统上是8KB)

大的页面在64位系统上有2MB大小(IA64位系统上是16MB)。

虚拟地址空间(VirtualAddressSpace,VAS)是由页面描述符表这种结构来维护的,因此,每个虚拟地址空间在页面描述符表里都有对应页面表入口

(个人感觉类似于系统服务描述符表SSDT ,内核描述符表GDT/LDT)。硬件利用这个表将这些入口转译出可读的格式,无论什么时候转译一个虚拟地址,

都必须去这张表找虚拟地址的入口。为了加快查找表上这些入口的进程,CPU维护了一块缓存叫做:Translation Look-Aside Buffer (TLB)

TLB的工作方式类似于SQLSERVER的执行计划缓存,只要一个入口曾经被转译过下次就不需要再次转译。

知道这个,就很容易去理解大的页面和小的页面对性能的差别。当一个进程的虚拟地址空间(VirtualAddressSpace,VAS)(每个进程只有一个虚拟地址空间,

虚拟地址空间=一个进程使用的内存)是由小的内存页面构成的,那么在页面描述符表里的入口就需要相应增加,同时TLB缓存的入口数也会相应增加。

举个例子,有几个虚拟地址空间需要被缓存,使用小页面(一个页面4KB)就i需要在TLB中缓存更多的入口。更多的入口意味着无论什么时候接收到

一个新的转译请求,TLB的入口缓存就需要更多去循环利用。因此使用大页面去分配虚拟地址空间在性能上会有一定的提升。

大的页面2MB大小,小的页面4KB大小,比如一个进程需要8MB内存,那么需要4个大页面或者2000个小页面

所以使用小页面来分配虚拟地址空间,就需要在TLB缓存更多的入口,但是TLB缓存的大小是有限的!!

我个人对页面描述符表的理解:

时间: 2024-09-16 11:40:45

如何配置SQL Server使用Windows系统的Large-Page allocations的相关文章

第三篇——第二部分——第五文 配置SQL Server镜像——域环境SQL Server镜像日常维护

原文:第三篇--第二部分--第五文 配置SQL Server镜像--域环境SQL Server镜像日常维护 本文接上面两篇搭建镜像的文章: 第三篇--第二部分--第三文 配置SQL Server镜像--域环境:http://blog.csdn.net/dba_huangzj/article/details/28904503第三篇--第二部分--第四文 配置SQL Server镜像--非域环境:http://blog.csdn.net/dba_huangzj/article/details/276

[SQL Server优化]善用系统监视器,确定系统瓶颈

原文:[SQL Server优化]善用系统监视器,确定系统瓶颈 来自: http://hi.baidu.com/solorez/blog/item/f82038fa0e71b78d9e51468c.html 如果您运行的是 Microsoft Windows 服务器操作系统,则可以使用系统监视器图形工具来测量系统当前的性能参数.可以查看包括处理器.内存.缓存.线程和进程等数据.每个对象都有一个相关的的计数器集,用于测量设备使用情况.队列长 度.延时情况,另外还有吞吐量及内部拥塞指示器. 监视磁盘

《构建高可用VMware vSphere 5.X虚拟化架构》——2.4 使用SQL Server作为Windows版vCenter Server数据库

2.4 使用SQL Server作为Windows版vCenter Server数据库 vCenter Server最核心的部分就是数据库,在创建上与其他数据库有一些差异,本节实战将在一台运行Windows Server 2008 R2的虚拟机上安装SQL Server 2008,再介绍vCenter Single Sign On数据库和vCenter Server数据库的创建. 对于采用SQL Server 2008作为vCenter Single Sign On数据库和vCenter Ser

配置 SQL Server 2005 以允许远程连接的方法

例如,在使用 SQLCMD 实用工具连接到 SQL Server 时收到以下错误消息: 复制代码 代码如下: Sqlcmd:错误:Microsoft SQL Native Client:建立到服务器的连接时发生错误.连接到 SQL Server 2005 时,默认设置 SQL Server 不允许远程连接这个事实可能会导致失败. 如果没有将 SQL Server 2005 配置为接受远程连接,则可能会发生此问题.默认情况下,SQL Server 2005 Express Edition 和 SQ

配置 SQL Server 2005 以允许远程连接的方法_MsSql

例如,在使用 SQLCMD 实用工具连接到 SQL Server 时收到以下错误消息: 复制代码 代码如下: Sqlcmd:错误:Microsoft SQL Native Client:建立到服务器的连接时发生错误.连接到 SQL Server 2005 时,默认设置 SQL Server 不允许远程连接这个事实可能会导致失败. 如果没有将 SQL Server 2005 配置为接受远程连接,则可能会发生此问题.默认情况下,SQL Server 2005 Express Edition 和 SQ

怎样配置SQL Server发送电子邮件

server 怎样配置SQL Server发送电子邮件 朱二(2004.9 转载请注明作者) 通常大家都知道:SQL Server与Microsoft Exchange Server集成性很好,关于这方面的配置,在SQL Server的联机帮助里有详细的说明,在此不再赘述.然而我们更关心的问题是:在没有Exchange Server的情况下,如何配置SQL Server利用Internet 邮件服务器发送邮件? 笔者曾为这问题伤透了脑筋,搜遍了互联网上的相关资料,发现仅有的几篇资料中有的是一笔带

代理服务--配置SQL Server Agent

   SQL Server Agent 是一个任务规划器和警报管理器,在实际应用和环境下,您可以将那些周期性的活动定义成一个任务,而让其在SQL Server Agent 的帮助下自动运行:假如您是一名系统管理员,则可以利用SQL Server Agent 向您通知一些警告信息,来定位出现的问题从而提高管理效率.SQL Server Agent 主要包括以下几个组件:作业:警报:操作. 主要执行以下步骤在SQL Server Enterprise Manager 中配置SQL Server Ag

vb神童教程(续)---配置SQL Server数据源

本文欢迎非商业用途的转载,但需要注明出自"编程入门网"及相应的网址链接. 配置SQL Server数据源的步骤: (1) 打开控制面板中的ODBC数据源管理器,单击"添加"按钮来添加一个数据源. (2)单击添加按钮后,系统将准备添加一个用户数据源.为了安装数据源,会弹出创建新数据源窗口,如下图所示.由于VB和SQL Server的系列性,所以即使用户没有安装SQL Server,在创建新数据源窗口中也列有SQL Server这一项.当然,这里的列表项只是起了一个标识

MS SQL基础教程:代理服务-配置SQL Server Agent

SQL Server Agent 是一个任务规划器和警报管理器,在实际应用和环境下,您可以将那些周期性的活动定义成一个任务,而让其在SQL Server Agent 的帮助下自动运行:假如您是一名系统管理员,则可以利用SQL Server Agent 向您通知一些警告信息,来定位出现的问题从而提高管理效率.SQL Server Agent 主要包括以下几个组件:作业:警报:操作. 主要执行以下步骤在SQL Server Enterprise Manager 中配置SQL Server Agent