这个问题有很多问题 – 但是它们有时可能会相互矛盾,或者没有说明如何正确地validation一切是否真正起作用 – 希望这可以是全面的。
我在Windows Server 2003 R2 Standard上运行SQL Server 2005 SP3 Standard。 我的服务器安装了8GB的内存 – 我的系统几乎完全用作数据库服务器 – 它们上面运行着一些服务,但OS +服务可以在1Gb的内存中运行。
我做了什么(请告诉我,如果我做错了什么):
完成上述所有操作之后,我们肯定会看到一些改进 – 但是现在我想validation一下我的设置,确保充分利用可用的内存。 (当最大值= 7Gb时,似乎有一个放缓,所以我从这个值中减去了,但它可能只是感性的。)
为了validation,我在PerfMon中检查了以下级别:
所以 – 我的问题
谢谢
您将无法在Windows 2003 Standard中使用AWE。 您需要Enterprise,请参阅Windows Server 2003和Windows 2000中的大内存支持 :
PAE是IA32处理器增加的能力,可以处理超过4 GB的物理内存。 以下操作系统可以使用PAE来利用超过4 GB的物理内存:
* Microsoft Windows 2000 Advanced Server * Microsoft Windows 2000 Datacenter Server * Microsoft Windows Server 2003, Enterprise Edition * Microsoft Windows Server 2003, Datacenter Edition要启用PAE,请使用Boot.ini文件中的/ PAE开关。
你看到的工作集是7MB,而不是7GB。 对于一个进程来说,这是一个正常的工作集,因为工作集并不测量分配给进程的内存量,而只是工作集总是小得多:
显示此进程的工作集中的当前字节数。 工作集是进程中线程最近触及的一组内存页面。 如果计算机中的可用内存超过了一定的阈值,则即使不在使用中,页面也会留在进程的工作集中。 当可用内存低于某个阈值时,页面将从工作集中删除。 如果需要的话,在他们离开主存之前,他们被软件故障重新放回工作集。
您需要查看Process\Virtual Bytes :
显示进程正在使用的虚拟地址空间的当前大小(以字节为单位)。 使用虚拟地址空间不一定意味着相应地使用磁盘或主内存页面。 虚拟空间是有限的,通过使用太多,这个过程会限制它加载库的能力。
SQL Server内存是3GB,这是它可以在Windows标准/ 3GB交换机上分配的所有内存。
因此,您需要购买企业版Windows许可证,或者只需迁移到64位操作系统和64位SQL部署(这确实是唯一的select)。
没有64位操作系统,您将无法使用全部8GB的内存。