哪些场景下建议启用锁定内存页
什么是锁定内存页?
锁定内存页(Lock Pages in Memory,简称LPIM)是一项Windows用户权限,用于授予SQL Server服务账号申请非分页内存的权限,使SQL Server缓冲池内存保留在物理内存中,避免Windows在系统内存压力下将其交换到页面文件。当操作系统存在将SQL Server缓冲池内存换出到页面文件的风险时,为SQL Server服务账号授予锁定内存页权限,可有效避免因内存换页导致的性能下降。
建议启用LPIM的场景
- 场景一
问题现象:操作系统在裁剪SQL Server进程工作集时,日志中出现报错17890,或整机可用内存出现突发性大幅回落。
解决方法:为服务账号启用LPIM,启用LPIM时必须同步设置最大服务器内存(max server memory),预留足够物理内存供操作系统与其他业务进程使用。不建议对全部实例默认授予LPIM,该权限仅用于处理已确认存在内存换页的故障场景。
- 场景二
问题现象:正在使用内存优化表特性,且叠加大量等待类型为MEMORY_ALLOCATION_EXT的慢会话。
解决方法:启用LPIM。
如何启用LPIM
- 登录RDS管理控制台。
- 单击管理控制台左上角的
,选择区域。 - 在“实例管理”页面,选择指定的实例,单击实例名称。
- 在左侧导航栏中选择“参数修改”。
- 在“参数”页签,将参数“Lock pages in memory”的值修改为“1”。
- 单击“保存”,在弹出框中单击“确定”,保存修改。
- 重启实例,使参数修改生效。