怎样设置SQL Server行使Windows体系的Large-Page allocations
页面分配和SQLSERVER 就像我早前提到过的跟踪标志834,834跟踪标志会强迫SQLSERVER进程虚拟地址空间使用大页面去构建Buffer Pool。这个跟踪标志 只能在64位SQLSERVER企业版,并且需要开启 Lock Pages in Memory功能才能使用。 当SQLSERVER使用大页面分配的时候,在SQL服务启动时入口信息会被记录在SQL ERRORLOG里 Large Page Extensions enabled. Large Page Granularity: 2097152 Large Page Allocated: 32MB Using large pages for buffer pool. 10208 MB of large page memory allocated. 如果SQLSERVER帐户没有Lock Pages in Memory的权限,就会在SQL ERRORLOG里记录下错误信息 Cannot use Large Page Extensions: lock memory privilege was not granted. 这篇文章非常友好地阐述了大页面分配和阐述了需要使用64位SQLSERVER企业版不会使用大页面分配,除非使用跟踪标志834 注意:(1)不能在SQLSERVER运行的过程当中指定跟踪标志834 DBCC TRACEON(834,-1) 查看本栏目更多精彩内容:http://www.bianceng.cn/database/SQLServer/ 正在忽略跟踪标志 834。该跟踪标志无效,或者只能在服务器启动过程中指定。 DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。 只能在SQLSERVER启动的时候加上启动参数:834 (2)如果SQLSERVER的《max server memory》选项被设置为0,那么SQLSERVER会占用整个服务器的所有物理内存当SQLSERVER启动的时候 (3)服务器需要有8GB或以上的物理内存和操作系统必须是企业版才能使用大页面分配 (4)可以使用下面SQL语句查看当前大页面分配的内存 SELECT large_page_allocations_kb , locked_page_allocations_kb FROM sys.dm_os_process_memory (5)如果系统符合大页面分配,并且开启了834跟踪标志,那么当SQLSERVER启动的时候会比较慢,可能需要几分钟时间 2009-06-04 14:20:31.14 Server Large Page Allocated: 32MB 2009-06-04 14:20:40.03Server Using large pages for buffer pool. 2009-06-04 14:27:56.98 Server 2048 MB of large page memory allocated. 上面的时间显示SQLSERVER用了7分钟时间来分配页面 总结: 为什麽SQLSERVER启动的时候就占用了服务器的所有内存,其中的一个原因有可能是你开启了跟踪标志834符合SQLSERVER使用大页面 分配虚拟地址空间的要求,并且设置《max server memory》选项为0 (编辑:云计算网_泰州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |