您现在的位置是:亿华云 > 域名
SQL Server什么时候启用“锁定内存页”选项 (Windows)
亿华云2025-10-09 13:06:09【域名】5人已围观
简介本文转载自微信公众号「DBA闲思杂想录」,作者潇湘隐者。转载本文请联系DBA闲思杂想录公众号。在SQL Server的配置中,尤其是那些应用服务器和数据库服务器共用/混用的情况下,最好启用“锁定内存页
本文转载自微信公众号「DBA闲思杂想录」,什时候锁定作者潇湘隐者。启用转载本文请联系DBA闲思杂想录公众号。内存
在SQL Server的页选配置中,尤其是什时候锁定那些应用服务器和数据库服务器共用/混用的情况下,最好启用“锁定内存页”选项。启用反而对于单独的内存SQL Server数据库服务器,这个选项反而不是页选必须的。最近就遇到过这样一个案例,什时候锁定一个项目的启用SQL Server数据库和IIS应用等都部署在同一台服务器上,当时,内存Zabbix监控已经出现服务器的页选CPU告警、以及Swap Usage告警....
登录服务器,什时候锁定检查后发现IIS Worker Process进程占用了大量的启用CPU资源,消耗占用了12.5GB内存(服务器总共16G内存),内存由于IIS内存泄露,而SQL Server没有启用”锁定内存页“选项,即使设定了Maximum server memory,也导致SQL Server的内存被不断挤占,系统将SQL Server进程用到的数据不断置换到虚拟内存中去。如下截图所示,最终导致SQL Server性能严重下降,甚至出现无法连接情况。b2b供应网
查看SQL Server的日志信息,你会看到大量这样的错误信息:
A significant part of sql server process memory has been paged out. This may result in a performance degradation. Duration: 1846 seconds. Working set (KB): 1457444, committed (KB): 10213768, memory utilization: xx%
如果SQL Server启用了“锁定内存页”选项的话,就不会出现这种情况,不会由于内存换出(page out)出现性能和连接问题。下面简单介绍一下SQL Server服务器”锁定内存页“的简单知识,下面内容节选自官方文档[1]。官方文档中的一部分内容,中文翻译那是相当的糟糕,个人对晦涩难懂或翻译不当的地方有所纠正。所以下面内容与官方文档略有差异。敬请知晓。
SQL Server启用“锁定内存页”选项
适用于:SQL Server(所有支持的版本)
此 Windows 策略将确定哪些帐户的进程可以将数据保留在物理内存中,从而阻止系统将内存中数据换出内存(page out)到磁盘的虚拟内存中。
备注
当预计会将内存中页换出(page out)到磁盘时,锁定内存中的页可以大大提高性能。使用 Windows 组策略工具 (gpedit.msc),可以为 SQL Server的启动帐户启用此策略。必须是系统管理员才能更改此策略。
启用“锁定内存页”选项
在“开始”菜单上,亿华云计算单击“运行”。在“打开” 框中,键入gpedit.msc 在“本地组策略编辑器” 控制台上,展开 “计算机配置” ,再展开 “Windows 设置” 。 展开“安全设置”,再展开 “本地策略” 。 选择 “用户权利指派” 文件夹。细节窗格中随即显示出策略。 在该窗格中,双击“锁定内存页”。 在“本地安全设置 - 锁定内存中的页”对话框中,单击“添加用户或组” 。 在“选择用户”、“服务帐户”或“组”对话框中,选择勾选运行sqlservr.exe (SQL Server 启动帐户)的帐户。 重启 SQL Server 服务,以使此设置生效。锁定内存页 (LPIM)
此Windows策略将确定哪些帐户的进程可以将其使用的数据保留在物理内存中,从而阻止系统将内存中的页面换出内存(page out)到磁盘的虚拟内存中。将内存中页换出内存到磁盘时,锁定内存中的页可以可使服务器保持响应。向运行sqlservr.exe 的启动帐户授予 Windows 锁定内存页 (LPIM) 用户权限时,在 SQL Server Standard Edition 和更高版本的实例中将“锁定内存页”选项设置为“打开”。网站模板
若要对 SQL Server禁用“锁定内存页”选项,请将运行sqlservr.exe(SQL Server 启动帐户)的启动帐户的帐户删除“锁定内存页”用户权限。设置此选项可实现根据其他内存分配器的请求扩大或缩小内存,不影响SQL Server的动态内存管理。使用“锁定内存页”用户权限时,建议按如上所述,为 max server memory 设置一个上限。
重要
应仅在必要时设置此选项,即有迹象表明正在换出 sqlservr 进程的数据时。在这种情况下,错误日志将报告错误17890,类似于以下示例:A significant part of sql server process memory has been paged out. This may result in a performance degradation. Duration: #### seconds. Working set (KB): ####, committed (KB): ####, memory utilization: ##%. 从 SQL Server 2012 (11.x) 开始,Standard Edition 不需要启用跟踪标志 845 来使用“锁定页”。
参考资料
[1]锁定内存页(LPIM): https://docs.microsoft.com/zh-cn/sql/database-engine/configure-windows/enable-the-lock-pages-in-memory-option-windows?view=sql-server-ver15
很赞哦!(62377)
相关文章
- 域名不仅仅是一个简单的网站。对于有长远眼光的公司来说,在运营网站之前确定一个优秀的域名对有长远眼光的公司来说是非常重要的。这对今后的市场营销、产品营销和企业品牌建设都具有十分重要的意义。优秀的域名是企业在市场竞争中获得持久优势的利器。
- 判空我推荐用StringUtils.isBlank
- 聊聊几个小数取整函数的问题
- 程序员年龄增大后的职业出路是什么?
- 二、如何选择合适的域名
- 面试官:说说 Node 文件查找的优先级以及 Require 方法的文件查找策略?
- 想了解Vuex?一定先把这篇笔记码住!
- 手把手教你用ECharts画散点图和气泡图
- 为什么说注册域名注意细节?哪些我们不能忽视?
- 鸿蒙发布会再添惊喜:升级体验名单再增加
热门文章
站长推荐
第六:这个圈子里的域名确实是赚钱的一些大玩家,至于小米农,有多少赚钱?几乎没有,也就是说,轿子里只有一个人,而且大多数人都抬着轿子。
点外卖,让我想起了 策略模式
爬虫实战 | 用Python爬取指定关键词的微博~
巩固一下 JS 可选 (?.)操作符号,原来函数也可以用可选写法,又学到了!
因为域名解析需要同步到DNS根服务器,而DNS根服务器会不定时刷,只有DNS根服务器刷新后域名才能正常访问,新增解析一般会在10分钟左右生效,最长不会超过24小时,修改解析时间会稍微延长。
十个问题理解Linux epoll工作原理
Python 3.3 为改进代码中的异常处理所做的工作
如何学好设计,做好架构?学会六大设计原则是基础