SQL Server 启用“锁定内存页”
这次在虚拟机中做了一个模拟器做压力测试,简单模拟了一条20个工位的生产线上生产1000个工件,并向 MES 服务端发起功能请求,保存质量数据和扫码数据到数据库。在测试时发现服务端进程的 CPU 占用有时会跌落并且持续10秒左右,之后又恢复
正常。代码检查没有发现问题。在数据库日志中发现如下:
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: ##%.
好了问题已经很明显了。
设置步骤
打开 “组策略” gpedit.msc
依次展开 本地组策略 --> 计算机配置 --> Windows 设置 --> 安全设置 --> 本地策略 --> 用户权限分配 --> 锁定内存页。
添加 SQL Server 服务帐户,帐户名称通常是"NT Service\MSSQLSERVER"。
SQL Server 实例的服务帐户查询
select * from sys.dm_server_services
重启 SQL Server 实例
查看“锁定内存页”状态
SELECT sql_memory_model_desc FROM sys.dm_os_sys_info;
CONVENTIONAL. 未授予“锁定内存页”权限。
LOCK_PAGES. 已授予“锁定内存页”权限。
LARGE_PAGES. 已在启用了跟踪标志 834 的企业模式中授予“锁定内存页”权限。 这是一种高级配置,不建议对大多数环境使用。 有关详细信息和重要的注意事项,请参阅跟踪标志 834。
最后,根据 MSDN 所述,在授予了“锁定内存页”(LPIM) 权限后,强烈建议将“最大服务器内存(MB)”设置为特定值,而不是将默认值保留为 2,147,483,647 MB。至此搞定,虚拟机里正常使用感觉比以前快了不少。
SQL Server 启用“锁定内存页”的更多相关文章
- 如何启用“锁定内存页”选项 (Windows)
默认情况下,禁用 Windows 策略"锁定内存页"选项.必须启用此权限才能配置地址窗口化扩展插件 (AWE).此策略将确定哪些帐户可以使用进程将数据保留在物理内存中,从而阻止系统 ...
- [转]如何将SQL Server表驻留内存和检测
注意这个功能在SQL2005后已经废弃,因为SQL2005会自动管理哪些表常驻内存. 将SQL Server数据表驻留内存是SQL Server提供的一项功能,在一般小型系统的开发过程中估计很少会涉及 ...
- 释放SQL Server占用的内存
由于Sql Server对于系统内存的管理策略是有多少占多少,除非系统内存不够用了(大约到剩余内存为4M左右),Sql Server才会释放一点点内存.所以很多时候,我们会发现运行Sql Server ...
- SQL Server :理解数据页结构
原文:SQL Server :理解数据页结构 我们都很清楚SQL Server用8KB 的页来存储数据,并且在SQL Server里磁盘 I/O 操作在页级执行.也就是说,SQL Server 读取或 ...
- SQL Server 的锁定和阻塞
本帖提供两种做法,可避免在 SQL Server 事务锁定时产生的不正常或长时间阻塞,让用户和程序也无限期等待,甚至引起 connection pooling 连接数超过容量. 所谓的「阻塞」,是指当 ...
- SQL Server内幕之数据页
数据页是包含已添加到数据库表中的用户数据的结构. 如前所述, 数据页有三种, 每个都以不同的格式存储数据. SQL server 有行内数据页.行溢出数据页和 LOB 数据页. 与 SQL serve ...
- SQL Server占用服务器内存过高
SQL Server对服务器内存的使用策略是用多少内存就占用多少内存,只用在服务器内存不足时,才会释放一点占用的内存,所以SQL Server 服务器内存往往会占用很高. 查看内存状态: DBCC M ...
- 释放SQL Server占用的内存 .Net 读取xml UrlReWriter 在web.config中简单的配置
释放SQL Server占用的内存 由于Sql Server对于系统内存的管理策略是有多少占多少,除非系统内存不够用了(大约到剩余内存为4M左右),Sql Server才会释放一点点内存.所以很多 ...
- 在SQL Server里如何进行页级别的恢复
在今天的文章里我想谈下每个DBA应该知道的一个重要话题:在SQL Server里如何进行页级别还原操作.假设在SQL Server里你有一个损坏的页,你要从最近的数据库备份只还原有问题的页,而不是还原 ...
- SQL Server :理解BCM页
原文:SQL Server :理解BCM页 今天我们来讨论下批量更改映射(Bulk Changed Map:BCM)页,还有大容量日志恢复模式( bulk logged recovery model ...
随机推荐
- Kubernetes学习笔记(一)
参考: kubectl Cheat Sheet | Kubernetes Kubernetes kubectl 命令表 _ Kubernetes(K8S)中文文档_Kubernetes中文社区 Pla ...
- vue-图书管理系统
/* 路由模块 */ const express = require('express'); const router = express.Router(); const service = requ ...
- Markdown 基础语法 备忘录
在vscode中使用Markdown先要安装一些插件: Markdown Preview Enhanced Paste Image LimfxCodeEX Code Spell Checker 一级标 ...
- Grafana + Prometheus 监控JVM
最近在研究监控系统,所以第一次接触了Grafana跟Prometheus,Grafana是一个很强大的可视化指标工具,而Prometheus是一个时序数据库. 项目总会慢慢做大,一些必要的监控以及预警 ...
- git 指令:丢弃本地所有未提交的更改
git clean -df //丢弃所有 untracked 的文件 git reset --hard //将 tracked 的文件重置到前一个版本
- 启动JAVA服务
# -*- coding: utf-8 -*- import re import sys from subprocess import Popen, PIPE import os import tim ...
- cmd执行程序时容易卡住阻塞以及解决方式
遇到问题: cmd执行程序时总是卡住,敲回车后继续执行程序. 我司公众号需要去内网获取数据,cmd执行了内网穿透程序,期间cmd两次卡住,公众号无法获取内网数据导致无法运行. 解决方案: cmd默认开 ...
- 宽字符集(unicode)操作函数 (转)
字符分类: 宽字符函数 普通C函数 描述 iswalnum() isalnum() 测试字符是否为数字或字母 iswalpha() isalpha() 测试字符是否是字母 iswcntrl() isc ...
- python3.7 sorted 自定义排序
from functools import cmp_to_keyls=['9','23','3','56','78']sorted(ls, key=cmp_to_key(lambda x, y: in ...
- SQL 用 in 大于 1000 问题解决
-- 今天生成环境数据突然多,系统异常 解决方案(必须用in 业务情况),也可以用其他函数解决 union all 或者 exists 等 1:截取list List<Integer> ...