设为首页收藏本站我的广告

运维网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
运维网 首页 Windows运维 网络技术 查看内容

SQL Server 2008内存及I/O性能监控

2012-4-27 13:52| 发布者: yunweiw.com| 查看: 1038| 评论: 0|原作者: 运维网|来自: 网络

在针对window 32位系统环境下,编者对SQL Server 2008进行了内存性能和I/O性能的监控和诊断,并做了分析。文中主要分三个模块,分别为:SQL Server 2008内存性能介绍、SQL Server 2008内存管理与系统视图和SQL Server 2008的I/O性能诊断。

内存相关概念

以下均是针对Window 32位系统环境下,64位的不在下面描述情况下。

用户模式和内核模式(user mode& kernel mode)

为了防止用户程序访问并篡改操作系统的关键部分,Windows使用了2种处理器存取模式:用户模式和内核模式。顾名思义,内核模式是给操作系统核心代码和基本驱动用的,用户模式给用户应用程序。在内核模式下程序可以访问所有的内存和硬件,并使用所有的处理器指令。操作系统程序比用户程序有更高的权限,使得系统设计者可以确保用户程序不会意外的破坏系统的稳定性。

物理内存(Physical Memory)

即实际购买的内存的大小,内存条上的容量。CPU的地址线可以直接进行寻址的内存空间大小,在32位操作系统平台上,CPU的最大寻址空间为4GB,也即可以支持最大4G的物理内存空间。在32位操作系统上即便你购买的是64G内存,也只能说拥有4GB的物理内存空间

虚拟内存(Virtual Memory)

如果计算机缺少运行程序或操作所需的随机存储内存,则Windows使用虚拟内存进行补偿。虚拟内存将计算机的RAM和硬盘上的临时空间组合在一起,当RAM不足时,虚拟内存将数据从RAM移动到称为“分页文件”的空间中,将数据移入与移出分页文件可以释放RAM,以便完成工作。

虚拟地址空间(Virtual Address Space,简称VAS)

在Windows系统中,任何一个进程都被赋予了其自己的虚拟地址空间,该虚拟地址空间覆盖了一个相当大的范围,对于32位系统的虚拟地址空间范围从0x00000000~0xffffffff(4GB)。Windows采用分页机制,将4G的地址空间分成固定大小的页,并且将虚拟地址中的每一页映射到物理内存中。

在缺省的情况下虚拟地址空间中的低2G,即0x0000000~0x7FFFFFFFF是用户地址空间,而4G虚拟地址空间中的高2G即0x8000000~0xFFFFFFFF是分配给内核模式。实际上用户进程拥有的虚拟地址空间只有2GB。

虚拟内存管理器(Virtual Memory Manager)

虚拟内存管理器负责虚拟地址空间和物理内存的地址映射,如果缺乏足够内存,则需要使用到page file文件来保持临时数据也即虚拟内存,同时使用page table entry(PTE)来跟踪每一个地址映射关系。

到这里为止,64G的内存有60G都无法访问,岂不是浪费了,那怎么办?

/3GB和increaseUserVA

通过/3GB的方式,可以减少内核模式占用地址空间,从而增加SQL Server进程的地址空间。默认情况下,用户模式和内核模式各自占用2G寻址空间,3G选项可以使得SQL Server获得多1G的虚拟地址空间。

/3GB开关用法:

在Boot.ini文件中修改其中的段落即可

498)this.width=498;" height=140>

或者使用bootcfg命令

498)this.width=498;" height=41>

在Windows Server 2008中可以运行BCDEdit命令,加以调整。

498)this.width=498;" height=19>

物理地址扩展PAE(Physical Address Extension)

物理地址扩展(PAE)是32位Intel CPU的一种扩展,这样可以在32位系统上支持最大64G的物理内存,即4GB以上物理内存允许将更多物理内存映射为应用程序的虚拟地址空间。

使用方式,在Boot.ini文件中修改其中的段落即可:

498)this.width=498;" height=60>

在Windows Server 2008操作系统下也可以通过以下命令执行

498)this.width=498;" height=19>

/PAE和/3GB

两者的目标是不同的,又可以在同样的地方进行配置,所以难免产生疑惑,简单的来说就是如果计算机可用物理内存超过16GB,就需要确保boot.ini文件中没有/3gb参数即可。

地址窗口化扩展插件AWE(Address Windowing Extensions)

AWE是Windows的内存管理功能的一组扩展,它能够使应用程序使用的内存量超过通过标准32位寻址可使用的2~3G内存。AWE允许应用程序获取物理内存,然后将非分页内存的视图映射到32位地址空间。虽然32位地址空间限制为4GB,但是非分页内存却可以远远大于4GB。

在SQL Server 2008下,可以登录SQL Server Management Studio,找到相应的数据库实例,点击右键选择属性,然后在“选择页”中点击内存,在服务器内存选项中,复选使用AWE分配内存即可。

498)this.width=498;" height=315>

[1] [2] [3] 下一页

下一篇:建立安全的ProFTPD

上一篇:Windows Server 林功能级别详解

123下一页

鲜花

握手

雷人

路过

鸡蛋
加入阿里云推荐返利15%

最新评论

QQ|申请友链|sitemap|手机版|小黑屋|Archiver|运维网 ( 京ICP备16008201号  

GMT+8, 2016-12-5 12:26 , Processed in 0.169164 second(s), 28 queries , Xcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

返回顶部