合理配置SQLSERVER内存

原文地址:https://www.cnblogs.com/lyhabc/archive/2012/09/28/2707857.html

SQLSERVER是个很喜欢内存资源的程序,他的理想状态就是把所有可能会用到的数据和结构都缓存在物理内存里,以达到最优的性能。

虽然这样,但是SQLSERVER会约束自己的内存使用量,不过亲们最好对SQLSERVER的内存使用作出合理的分配

SQLSERVER的内存用在哪里?

SQL会缓存大量的数据页面,他还会缓存很多其他信息,包括存储过程的执行计划 ,特定用户的安全上下文等

如果这些信息没有在数据库中缓存,SQL都要重新计算一遍,花额外的时间,所以SQLSERVER对内存的需求是十分强烈的。

配置:

(1)如果服务器支持64位操作系统,没有特殊理由的话,请安装64位系统。这样SQL能够有效地使用 大于2GB的内存。如果一定要用32位系统,务必将SQLSERVER服务器属性里面的“使用AWE分配内存”打开。但是不要用boot.ini文件里的/3GB这个开关,即不要在boot.ini文件里加上/3GB这个参数。

(2)尽量使服务器专门供数据库使用,不要将其他服务(例如IIS,中间层应用服务等)安装在同一台机器上。多个生产应用服务在同一台机器上运行,会大大增加维护成本

(3)建议设置SQLSERVER max server memory(最大服务器内存),以确保Windows有足够的内存供系统本身使用。

情况归纳如下:

一台4GB机器,建议预留1GB,设置SQLSERVER max server memory为2.8GB

一台8GB机器,建议预留2GB,设置SQLSERVER max server memory为6GB

一台大于8GB的64位机器,建议预留3GB~4GB

如果一台服务器上还有其他应用使用内存,也要扣除他们的内存使用数

一般设置SQLSERVER min server memory(最小服务器内存)意义不大

(4)如果是企业版SQLSERVER,建议赋给SQLSERVER启动帐号lock page in memory的权限

设置方法如下:

打开组策略(运行 ,输入gpedit.msc)-》找到计算机配置-》Windows设置-》安全设置-》本地策略-》用户权限分配-》锁定内存页
在锁定内存页上右键,打开锁定内存页属性,添加SQLSERVER启动帐号进去

(5)“set working set size” 这个SQLSERVER参数在现在的Windows上不能起到固定SQL物理内存的作用,所以请永远不要使用

建议修改完配置之后,重启一下SQLSERVER服务!!!!!

合理配置SQLSERVER内存的更多相关文章

  1. 第十七章——配置SQLServer(2)——32位和64位系统中的内存配置

    原文:第十七章--配置SQLServer(2)--32位和64位系统中的内存配置 前言: 本文讲述32位和64位系统中的内存配置,在SQLServer 2005/2008中,DBA们往往尝试开启AWE ...

  2. 第十七章——配置SQLServer(3)——配置“对即时负载的优化”

    原文:第十七章--配置SQLServer(3)--配置"对即时负载的优化" 前言: 在第一次执行查询或者存储过程时,会创建执行计划并存储在SQLServer的过程缓存内存中.在很多 ...

  3. 第十七章——配置SQLServer(4)——优化SQLServer实例的配置

    原文:第十七章--配置SQLServer(4)--优化SQLServer实例的配置 前言: Sp_configure 可以用于管理和优化SQLServer资源,而且绝大部分配置都可以使用SQLServ ...

  4. 第十七章——配置SQLServer(1)——为SQLServer配置更多的处理器

    原文:第十七章--配置SQLServer(1)--为SQLServer配置更多的处理器 前言: SQLServer提供了一个系统存储过程,SP_Configure,可以帮助你管理实例级别的配置.微软建 ...

  5. 14.6.4 Configuring the Memory Allocator for InnoDB 配置InnoDB 内存分配器

    14.6.4 Configuring the Memory Allocator for InnoDB 配置InnoDB 内存分配器 当InnoDB 被开发时,内存分配提供了操作系统和 run-time ...

  6. 配置JVM内存 查看内存工具

    一.配置JVM内存 1.配置JVM内存的參数有四个: -XmxJavaHeap最大值.默认值为物理内存的1/4.最佳设值应该视物理内存大小及计算机内其它内存开销而定. -XmsJavaHeap初始值, ...

  7. JBoss/Wildfly 配置SQLserver服务器

    JBoss/Wildfly 配置SQLserver服务器 http://blog.csdn.net/haitaolang/article/details/60467118 wildfly standa ...

  8. 【云和恩墨】性能优化:Linux环境下合理配置大内存页(HugePage)

    原创 2016-09-12 熊军 [云和恩墨]性能优化:Linux环境下合理配置大内存页(HugePage)   熊军(老熊) 云和恩墨西区总经理 Oracle ACED,ACOUG核心会员 PC S ...

  9. spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置

    spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置 jdbc.properties 文件信息如下: ---------- ...

随机推荐

  1. 一个 react 小的 demo

    一.搭建开发环境: webpack构建工具. 新建一个文件夹(login),进入根目录, 1.输入命令:cnpm init,生成了一个package.json文件,这是一个标准的npm说明文件,里面蕴 ...

  2. 一些oracle的经验

    注:再写存储过程的时候,在for循环里要写begin和end,这样就可以写exception ,让这条错误数据回滚,然后记录错误日志,commit 关键字: oracle 存储过程 1.基本结构 CR ...

  3. Gradle中使用SpringBoot插件构建多模块遇到的问题

    通常下,多模块的项目如下: Root project 'demospring' +--- Project ':model' \--- Project ':rest' 那么我们需要在rest模块依赖mo ...

  4. 从零开始学 Web 之 CSS3(二)颜色模式,文字阴影,盒模型,边框圆角,边框阴影

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  5. visual studio code (vsc)中查看 php 数组的全部元素

    在 vsc 调试 php 时,如果数组元素过多,只能查看前面 30个左右的元素,如果需要看更多的元素,可以配置 xDebugSettings 修改项目中的 .vscode/launch.json 文件 ...

  6. Angular学习第一步

    前端开发越来越流行了,作为后端开发人员,也开始需要学习前端了.随着前端技术的发展,前端技术也越来越复杂,复杂程度不亚于后端,各种框架各种设计模式前端都用上了,什么AngularJS,Angular, ...

  7. github总结(2)--怎样在github上面创建新的分支

    part I:添加新的分支步骤分解 第一步:git branch 查看当前分支情况 git branch //查看当前分支情况 第二步:git branch 分支名,新建一个自己的分支 git bra ...

  8. 深度学习论文翻译解析(二):An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition

    论文标题:An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application ...

  9. spring-boot-2.0.3启动源码篇 - 阶段总结

    前言 开心一刻 朋友喜欢去按摩,第一次推门进来的是一个学生美眉,感觉还不错:后来经常去,有时是护士,有时是空姐,有时候是教师.昨天晚上推门进去的是一个女警察,长得贼好看,身材也很好,朋友嗷的一声就扑上 ...

  10. Apollo 3 定时/长轮询拉取配置的设计

    前言 如上图所示,Apollo portal 更新配置后,进行轮询的客户端获取更新通知,然后再调用接口获取最新配置.不仅仅只有轮询,还有定时更新(默认 5 分钟一次).目的就是让客户端能够稳定的获取到 ...