物理地址空间是处理器用来访问位于总线上的所有部件的集合。
在32位处理器上,地址总线为32位,寻址空间为4GB。
在使用PAE的32位服务器上,地址总线为36位,寻址空间为64GB。
在64位的处理器上生产商将地址总线限制为44位,寻址空间为2TB。
在32位系统上,系统中运行的每个进程有共计4GB的虚拟地址空间(VAS),用来存放应用程序所使用的程序代码和数据。4GB的VAS由内核模式和用户模式共享,用户模式地址空间和内核模式地址空间各占2GB,如果激活/3GB或者/USERUA选项后,用户模式地址空间占3GB。
在X64系统上,系统为进程分配8TB的VAS
在IA64系统上,系统为进程分配7TB的VAS
不同的操作系统版本,所支持的最大物理内存不一样。
虚拟地址空间只是虚拟内存,不是物理内存,而且它只是空间,不是实际内存。
虚拟内存管理器(Virtual Memory Manager VMM)负责所有的物理内存,将物理内存在所有需要内存的进程间共享,当进程请求内存或者需要加载数据是,OS接受请求,将进程中一块虚拟内存空间和实际物理内存相互关联起来。
虚拟内存管理器可以将内存中数据取走并存放到页面文件中,直到进程试图访问该段数据时重新将数据从页面中加载到物理内存中并完成虚拟内存和物理内存之间的映射。
如果进程再次使用数据而数据需要从页面文件中重新载入,该操作被称为Hard page Fault(硬页面错误)
当物理内存缺乏而多个进程争用有限内存时,会导致数据频繁地从物理内存中换入和换出,从而导致系统响应速度变慢,性能下降。
通过修改Boot.ini文件来打开/3GB选项或/UserVA选项。
/UserVA选项是Windows Server 2003中新增加的。
当/3GB选项被打开时,操作系统会受限于最多使用16GB的物理内存,故如果服务器拥有16GB或更多内存时,不要使用3GB选项

PAE--physical Address Extensions
PAE是Intel引入一种突破32位地址总线的方式,将地址总线物理扩展到36位,从而允许32位操作系统最多使用64GB内存。
在Datacentrt版本的OS中,如果硬件允许热内存交换,即使不在Boot.ini文件中激活PAE,仍然会运行PAE内核

在拥有多于4GB的服务器上,则激活PAE选项。

AWE--Address Windowing Extensions
AWE是一位Windows API,允许32位进程映射其虚拟地址空间以外的内存,使得进程可以使用物理内存来存储数据,但是在使用数据时,必须将它映射到进程中的VAS中。AWE的思想类似于Windows中的页面文件,由于AWE中的数据存放在内存中,内存到内存的数据传递更快。

Enable AWE option for SQL SERVER
1.Use sp_configure to set the value as 1 for the option 'awe enabled'
2.Grant the right of 'Lock Page in Memory' to the service account.

To enable AWE
exec sp_configure 'show advanced options', 1 
RECONFIGURE 
exec sp_configure 'awe enabled', 1 
RECONFIGURE

To enable the lock pages in memory option
1.On the Start menu, click Run. In the Open box, type gpedit.msc. The Group Policy dialog box opens.
2.On the Group Policy console, expand Computer Configuration, and then expand Windows Settings.
3.Expand Security Settings, and then expand Local Policies.
4.Select the User Rights Assignment folder.
The policies will be displayed in the details pane.
5.In the pane, double-click Lock pages in memory.
6.In the Local Security Policy Setting dialog box, click Add.
7.In the Select Users or Groups dialog box, add an account with privileges to run sqlservr.exe.

User could not set AWE option on 64-Bit SQL Server, but if the service account have the right of 'Lock Pages in Memory', SQL Server will use AWE to access buffer pool memory automaticlly.
即使在64位系统上,SQL SERVER依然可以通过AWE来提升性能。

Buffer Pool--内存总结1相关推荐

  1. FD.io VPP:vlib buffer pool(vlib_buffer) 内存初始化

    Table of Contents vlib buffer创建过程 vlib_buffer相关内存初始化 1.函数一开始就查询numa的个数 2.遍历numa节点来初始化 3.查询系统大页大小. 4. ...

  2. 谁占用了我的Buffer Pool?

     我在做SQL Server 7.0技术支持的时候有客户问我,"我的SQL Server buffer pool很大,有办法知道是哪些对象吃掉我的buffer Pool内存么?比方说,能 ...

  3. 谁占用了我的Buffer Pool

    原文:谁占用了我的Buffer Pool 转自:http://blogs.msdn.com/b/apgcdsd/archive/2011/01/11/buffer-pool.aspx 我在做SQL S ...

  4. MySQL 引擎特性 · InnoDB Buffer Pool

    前言 用户对数据库的最基本要求就是能高效的读取和存储数据,但是读写数据都涉及到与低速的设备交互,为了弥补两者之间的速度差异,所有数据库都有缓存池,用来管理相应的数据页,提高数据库的效率,当然也因为引入 ...

  5. buffer pool mysql_理解Mysql中的Buffer pool

    Buffer Pool在数据库里的地位 1.回顾一下Buffer Pool是个什么东西? 数据库中的Buffer Pool是个什么东西?其实他是一个非常关键的组件,数据库中的数据实际上最终都是要存放在 ...

  6. [转]MySQL innodb buffer pool

    最近在对公司的 MySQL 服务器做性能优化, 一直对 innodb 的内存使用方式不是很清楚, 乘这机会做点总结. 在配置 MySQL 的时候, 一般都会需要设置 innodb_buffer_poo ...

  7. mysql 哈希缓存_MySQL Buffer Pool

    1.简介 buffer pool 就是一个缓存,将磁盘中的数据缓存到内存中,对数据的操作改为通过内存进行操作,然后刷盘的操作,提升性能. innodb_buffer_pool_size 控制缓存池的大 ...

  8. Innodb Buffer Pool的三种Page和链表

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 王航威 来源 | 公众号「yangyidba」 ...

  9. MySQL · 性能优化· InnoDB buffer pool flush策略漫谈

    MySQL · 性能优化· InnoDB buffer pool flush策略漫谈 背景 我们知道InnoDB使用buffer pool来缓存从磁盘读取到内存的数据页.buffer pool通常由数 ...

  10. 缓冲多少数据_聊点深的:解析MySQL,看看InnoDB 缓冲池(buffer pool) 工作原理

    缓冲池的用处 对于使用 InnoDB 作为存储引擎的表来说,不管是用于存储用户数据的索引,还是各种系统数据,都是以页的形式存放在表空间中的,而所谓的表空间只是 InnoDB 对文件系统上一个或几个实际 ...

最新文章

  1. pandas索引复合索引dataframe数据、索引其中多个水平(level)的多个数据行(index rows from different levels)、使用元组tuple表达复合索引的指定行
  2. Linux学习(八)---crond 任务调度
  3. 中了logo1.exe
  4. Android sdk manager更新下载缓慢的解决方法
  5. Windows7 UAC
  6. PHP中include和require
  7. Visual C# 2008+SQL Server 2005 数据库与网络开发--9.1.1 SQL Server 2005中的XML功能
  8. Linux 刻录光盘
  9. openstack租户管理_openstack 租户、用户管理
  10. 自适应滤波器在matlab仿真的程序_电气信息类专业课程之matlab系统仿真 第五章 BPSK通信系统(3)...
  11. aws使用技巧_AWS:避免那些“神圣的法案”时刻的一些技巧
  12. python删除重复文字_python如何删除文件中重复的字段
  13. jdbc写入和读取过程
  14. 爬虫找工作要掌握什么_找爬虫工作必须掌握scrapy框架究竟什么?
  15. Dubbo入门和应用
  16. js原生方式实现bind方法
  17. 2021-10-18
  18. PAT 1006 解析
  19. Win10更新的若干弊端以及关闭Win10更新方法
  20. 开源视频播放器IjkPlayer使用记录之(二)--自定义的mediaController实现。

热门文章

  1. adb logcat 抓取日志_App专项测试操作指南-2- 常见的ADB命令(上)
  2. php 多个数组乘积_VLOOKUP参数使用数组
  3. python读取配置文件 分段_Python3读写ini配置文件的示例
  4. python 查找指定字符在字符串中的次数(全)
  5. java使用不存在的字符串_jpa – java.lang.IllegalArgumentException:您试图使用查询字符串中不存在的字符串名称设置参数值...
  6. Akka的Hello World(三)Actor失败处理
  7. SpringBoot连接MQTT服务器时因ClintID重复导致频繁掉线重连
  8. C#中提示:System.Runtime.Serialization.SerializationException
  9. Axios的基本使用
  10. java-垃圾回收的并行与并发