开篇小感悟
在实际的场景中会遇到各种奇怪的问题,为什么会感觉到奇怪,因为没有理论支撑的东西才感觉到奇怪,SQL Server自己管理内存,我们可以干预的方式也很少,所以日常很难遇到处理内存问题的案例。当遇到了原有的知识储备已经变得模糊,这是已经记不住第几遍阅读《SQL 2012实施与管理实战指南》内存管理章节,也分享给群友。
一些内存使用错误理解
本文来澄清一些用户经常对SQL Server内存使用的误解。对这些知识的理解可以帮助数据库管理员理解SQL Server的行为
1. Windows上还有很多物理内存没有被使用,就意味着SQL Server不缺内存
这个观点是非常错误的,因为:
(1)SQL Server很可能设置了Max Server Memory,约束了SQL Server继续申请内存的能力。(注:实际场景中就遇到过客户128GB内存的机器SQL Server 的Max Server Memory 被设置成2048MB 导致严重的问题)
(2)在32位的机器上 ,由于虚拟地址空间的限制,SQL Server可能已经无法继续申请内存。
例如,在一台4 GB或更大的32位服务器上,SQL Server最多只能使用2 GB物理内存。一般Windows会使用500 MB左右的物理内存,这台机器可能就有1 GB多的空闲物理内存。这部分内存是SQL Server不开AWE就用不到的。 所以,服务器上有很多空闲物理内存,只能说明Windows不缺内存,不能说明SQL Server自己不缺内存。(这也是为什么建议更换老一代服务器,使用64位的操作系统和SQL Server的原因)
延伸阅读
- ssh框架 2016-09-30
- 阿里移动安全 [无线安全]玩转无线电——不安全的蓝牙锁 2017-07-26
- 消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 论文笔记【图片目标分割】 2017-07-26
- 词向量-LRWE模型-更好地识别反义词同义词 2017-07-26
- 从栈不平衡问题 理解 calling convention 2017-07-26
- php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明 2017-07-26
- Swift实现JSON转Model - HandyJSON使用讲解 2017-07-26
- 阿里移动安全 Android端恶意锁屏勒索应用分析 2017-07-26
- 集合结合数据结构来看看(二) 2017-07-26
学习是年轻人改变自己的最好方式