跟踪标记:834

功能:

在64位的windows环境下,为SQL Server开启这个跟踪标记,那么SQL Server 会使用大页(Large pages)为内存缓冲区(buffer pool)分配内存,从而可以提高CPU转换检测缓冲区(TLB: Translation Lookaside Buffer)的效率得以提升性能;

大页(Large Pages): 正常情况下windows内存是4KB的页,而大页的最小空间是2MB,也就是说分配的时候可能大于2MB;

转换检测缓冲区(TLB: Translation Lookaside Buffer):是一个内存管理单元,用于改进虚拟地址到物理地址转换速度;

如何开启?

跟踪标记834只能在启动SQL Server时开启

1. 打开SQL Server Configuration Manger;

2. 右击SQL Server实例选择属性(Properties);

3. 在启动参数 (Startup Parameters) 里添加-T834;

4. 保存并重启SQL Server实例的服务以生效;

5. 开启成功的话,在SQL Server errorlog里可以看到类似字样:Using large pages in the memory manager.

备注:

1. 大页 (Large Pages) 分配只在SQL Server 64位+企业版的SQLOS有效;

2. 需要为SQL Server开启了Lock Pages In Memory (LPIM);

3. 建议只在SQL Server的专用服务器上开启,否则如果内存碎片太多或者内存不足无法分配大页,可能会导致SQL Server无法启动;另外在使用columnstore index的服务器上,也不建议开启这个跟踪标记;

跟踪标记:845

功能:

Locked Pages In Memory(LPIM)是一个windows特性,用于控制Windows进程不使用虚拟内存;

在SQL Server 2012前,如果要对SQL Server进程开启这一特性,根据版本不同,可能会需要用到跟踪标记845,详见下表:

SQL Server 2012起,如何开启LPIM

1. 开始菜单 - 运行 - 输入gpedit.msc  - 回车,以打开组策略;

2. 计算机配置 - Windows 设置 - 安全设置 - 本地策略 - 用户权利指派

3. 双击“锁定内存中的页”,在“本地安全策略设置”对话框中,单击“添加”按钮添加SQL Server服务账号并确认;

4. 重启SQL Server服务以使配置生效;

5. 成功开启LPIM后,在SQL Server errorlog里可以看到类似字样:Using locked pages in the memory manager.;

备注:

1. 不难发现,在SQL Server 2012前,64位的标准版里开启LPIM会可能会用到跟踪标记845,从SQL Server 2012之后就再也不需要了;

2. 如果同时开启834跟踪标记和LPIM,那么errorlog只会显示:Using large pages in the memory manager.,并不会显示:Using locked pages in the memory manager.,因为开启跟踪标记834的前提是开启了LPIM;

参考:

Trace Flag 834 and When to Use It

https://blogs.technet.microsoft.com/sql_server_isv/2010/11/30/temenos-t24-trace-flag-834-and-when-to-use-it/

 

Tuning options for SQL Server when running in high performance workloads

https://support.microsoft.com/en-us/help/920093/tuning-options-for-sql-server-when-running-in-high-performance-workloa

 

SQL Server and Large Pages Explained

https://blogs.msdn.microsoft.com/psssql/2009/06/05/sql-server-and-large-pages-explained/

Server Memory Server Configuration Options

https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/server-memory-server-configuration-options#lock-pages-in-memory-lpim

How to enable the "locked pages" feature in SQL Server 2012

https://support.microsoft.com/en-us/help/2659143/how-to-enable-the-locked-pages-feature-in-sql-server-2012

DBCC TRACEON - Trace Flags (Transact-SQL)

https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-traceon-trace-flags-transact-sql

5. 跟踪标记 (Trace Flag) 834, 845 对内存页行为的影响的更多相关文章

  1. 0. 跟踪标记 (Trace Flag) 简介

    一. 什么是跟踪标记 SQL Server 跟踪标记(Trace Flag),像是一个开关,可用来自定义SQL Server的某种行为或特性,在性能诊断,系统调试等方面较为常用.比如:开启1204或1 ...

  2. 1. 跟踪标记 (Trace Flag) 1117, 1118 文件增长及空间分配方式

    跟踪标记:1117 功能: 默认,同一个文件组下的多个文件,如果某个文件没有可用空间,且设置了自动增长,则该文件自动增长,其他文件大小保持不变: 开启后,同一文件组下的多个文件,如果某个文件没有可用空 ...

  3. 2. 跟踪标记 (Trace Flag) 3604, 3605 输出DBCC命令结果

    跟踪标记:3604 功能: 输出DBCC命令返回结果到查询窗口(通常是SSMS窗口),类似print命令的显示效果: 用途: 常用于获取DBCC IND, DBCC PAGE命令的输出结果,因为这2个 ...

  4. 4. 跟踪标记 (Trace Flag) 610 对索引组织表(IOT)最小化日志

    跟踪标记:610 功能: 用批量导入操作(Bulk Import Operations)加载数据时,对于索引组织表(即有聚集索引的表) 最小化日志: 上图为simple/bulk-logged恢复模式 ...

  5. 3. 跟踪标记 (Trace Flag) 1204, 1222 抓取死锁信息

    跟踪标记:1204/1222 功能及用途: 捕获SQL Server死锁信息,并自动存放到错误日志(ERRORLOG)中. 举例: USE tempdb GO CREATE TABLE t1(id i ...

  6. (5.2.2)配置服务器参数——dbcc跟踪标记(trace)

    关键字:跟踪标记,跟踪 [1]常规dbcc命令 dbcc help('?') --查看dbcc 所有命令,常规下只有32个常用的dbcc TRACEON(2588) --指定了2588标记的话,你就可 ...

  7. DBA应该知道的一些SQL Server跟踪标记

    跟踪标记是什么? 对于DBA来说,掌握Trace Flag是一个成为SQL Server高手的必要条件之一,在大多数情况下,Trace Flag只是一个剑走偏锋的奇招,不必要,但在很多情况下,会使用这 ...

  8. SQL Server中关于跟踪(Trace)那点事

    前言 一提到跟踪俩字,很多人想到警匪片中的场景,同样在我们的SQL Server数据库中“跟踪”也是无处不在的,如果我们利用好了跟踪技巧,就可以针对某些特定的场景做定向分析,找出充足的证据来破案. 简 ...

  9. 【转】SQL Server中关于跟踪(Trace)那点事

    前言 一提到跟踪俩字,很多人想到警匪片中的场景,同样在我们的SQL Server数据库中“跟踪”也是无处不在的,如果我们利用好了跟踪技巧,就可以针对某些特定的场景做定向分析,找出充足的证据来破案. 简 ...

随机推荐

  1. tomcat 部署war项目

    前提是 jdk环境已配好 把项目war包放到tomcat的webapps目录下 启动tomcat: 这里我把8080端口修改成了80 IP也修改了 如果没修改直接输入localhost:8080/te ...

  2. python3 第九章 - 数据类型之Number(数字)

    Python 支持三种不同的数字类型: 整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点.Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 ...

  3. 移动端 -webkit-user-select:text; ios10 bug 解决方案

    移动端一般body的css.会设置 作用就不解释了: body{ height:100%;min-height:100%; font-family: "微软雅黑",'Helveti ...

  4. Inner Join and Left Join 与条件的结合

    在使用关系数据库时,表连接和对结果集的筛选是必不可少的查询技能,对于他们的用法你都搞清楚了么?请让我们一起来过一遍. 表创建与初始化: Inner Join 结果集: 对于Inner Join, 条件 ...

  5. linux下ftp命令的安装与使用

    注意:实际使用时可以直接尝试第5步,如果提示找不到ftp命令,再进行第4步安装,如安装失败再进行第1步,然后顺序执行即可 1. 下载rpm文件 例如:ftp-0.17-51.1.el6.x86_64. ...

  6. 【转】Linux查找本机默认网关

    ip route show | grep 'default' | awk '{print $3}' #vim getgw.sh #!/bin/shdefault_gateway_ip=`ip rout ...

  7. zabbix监控-自定义监控与报警(二)

    标签: linux 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 1.web界面操用(host groups) 1.1创建一个组名字为damo 1.2配置文件解 ...

  8. Sql Server的艺术(一) 视图的增删查改

    视图是从一个或者多个表中查询数据的另一种方式.利用视图可以集中.简化定制数据库,同时还能保障安全. 视图其结构和数据是建立在对应的查询基础上的.和表一样,视图也是包括几个被定义的数据列和多个数据行,但 ...

  9. JAVA动态代理机制解析

    1. 概述 首先,我们来思考如下两个问题: 什么是代理模式?为什么要使用代理模式? 简单总结一下,所谓的代理模式就是在原有的服务上多加一个占位,通过这个占位去控制服务的访问.通过代理模式,一方面可以控 ...

  10. 多线程编程学习笔记——编写一个异步的HTTP服务器和客户端

    接上文 多线程编程学习笔记——使用异步IO 二.   编写一个异步的HTTP服务器和客户端 本节展示了如何编写一个简单的异步HTTP服务器. 1.程序代码如下. using System; using ...