服务器大内存SQL Server数据库的加速剂
但是,现在企业中普遍采用的数据库服务器都是32位的操作系统。而这个32位的操作系统却有最大内存的使用限制。通常情况下,标准的32位地址最多可以采 用4GB的内存。若数据库管理员想让数据库系统采用更多的内存来提高数据库的性能,则就需要进行额外的配置。下面笔者就介绍两种常用的配置方式,让 SQL Server数据库服务器支持大内存,让其成为数据库的加速剂。
一、让数据库应用程序支持3GB的内存空间。
虽然操作系统支持4GB内存。可是,这并不会全部给数据库等应用程序使用。默认情况下,在32位操作系统中,将有2GB的内存空间是为操作系统所保留的。 即使没有用完,其他应用程序也是不能够染指的。而包含SQL Server数据库在内的所有应用程序,只能过采用剩余的2GB内存空间。
但是,在实际应用中,服务器的操作系统往往用不着多大2G的内存。根据笔者的经验,一般只要为操作系统保留1G的内存已经足够其使用。只要没有病毒等不良因素作怪,这个内存不会被完全适用。如此的话,应用程序可以采用的内存空间就会多达3G,比原先整整多出一个G来。
要实现这个转变,其实很简单。在Windows操作系统中,有一个BOOT启动配置文件。为了让数据库服务器支持3GB的用户模式进程空间,必须在这个配 置文件中,加入一个/3gb的参数,然后重新启动操作系统即可。这么设置之后,应用程序就可以寻址3GB的进程地址空间 ,而为操作系统保留1GB的内存空间。
有时候,这个小小的配置可以在很大程度上提高数据库的性能。记得有一次,笔者为一家企业优化数据库性能。笔者查看了用户的数据库环境之后,就建议用户增大 数据库服务器的内存,从2G增加到4G。可是,效果并没有很大的改善。正当笔者束手无措的时候,就想到了改变操作系统与应用程序的内存分配方式。为此,笔 者就更改了BOOT启动配置文件,只给操作系统保留1G的内存空间。重新启动后,数据库性能得到了很大的改善。
二、为SQLServer启用更高的内存支持。
如果数据库应用程序内存寻址空间达到3GB后,数据库管理员还不满足的话,则就需要通过增加物理内存的方式,来提高应用程序的性能。若需要服务器操作系统 突破其默认4GB内存空间的限制,支持4GB以上的内存空间,也不是不可能的。只是需要进行额外的配置,并且,其维护的工作量也比较大。
若想要SQL Server数据库支持4GB以上的内存寻址空间,则往往需要进行如下配置。
第一步:锁定内存页。
默认情况下,内存大小与操作系统的虚拟内存之间有一个正比例关系。在这里,数据库管理员只想增大服务器的物理内存,而不想对虚拟内存有什么影响。故需要锁 定内存页。锁定内存页的主要作用就是确定哪些帐户可以使用进程将数据保留在物理内存中,从而阻止系统将数据分页到磁盘的虚拟内存中。默认情况下,这个选项 的只为OFF。也就是说,在必要的时候,系统会将数据分页到硬盘的虚拟空间中。为了最大程度发挥内存的效用,就需要把这个选项开启。不过这数据库管理员往 往需要寻求系统管理员的帮助,因为只有具有系统管理员权限的用户,才能够给更改这个选项。
第二步:启用Awe Enable选项。
默认情况下,即使服务器操作系统支持4GB以上的内存空间,可是数据库应用程序并不一定支持。为了让SQL Server应用程序也支持这个,就必须更改数 据库的配置参数。也就是说,需要将这个选项的值设置为1,然后重新启动数据库系统。这个配置比较简单,只需要利用命令sp_configure 'awe enabled', 1即可。不过在进行这个配置之前,需要注意两个细节方面的内容。一是数据库用户需要这个操作的权限。二是这里有一个BUG,即在SQL Server数据库中会有一个错误信息。数据库管理员可以忽略这个信息。
关键字:服务器、SQL Server、数据库
新文章:
- CentOS7下图形配置网络的方法
- CentOS 7如何添加删除用户
- 如何解决centos7双系统后丢失windows启动项
- CentOS单网卡如何批量添加不同IP段
- CentOS下iconv命令的介绍
- Centos7 SSH密钥登陆及密码密钥双重验证详解
- CentOS 7.1添加删除用户的方法
- CentOS查找/扫描局域网打印机IP讲解
- CentOS7使用hostapd实现无AP模式的详解
- su命令不能切换root的解决方法
- 解决VMware下CentOS7网络重启出错
- 解决Centos7双系统后丢失windows启动项
- CentOS下如何避免文件覆盖
- CentOS7和CentOS6系统有什么不同呢
- Centos 6.6默认iptable规则详解