Расширения AWE не являются обязательными и не могут быть настроены в 64-разрядных операционных системах.
Так как отображаемая память расширений AWE поддерживается в области ниже 3 ГБ, можно определить значения min server memory и max server memory в пределах диапазона физической памяти или использовать значения по умолчанию для обоих параметров.
Можно рассмотреть настройку max server memory для SQL Server, чтобы гарантировать предоставление дополнительной памяти другим приложениям, работающим на компьютере. Хотя SQL Server может динамически освобождать отображаемую память расширений AWE, текущий объем распределенной отображаемой памяти расширений AWE не может быть переключен на файл подкачки.
Чтобы сделать расширения AWE доступными для экземпляра SQL Server, воспользуйтесь хранимой процедурой sp_configure, чтобы установить параметр awe enabled в 1, и затем перезапустите SQL Server.
Дополнительные сведения о параметрах min server memory и max server memory см. в разделе Параметры памяти сервера .
Прежде чем включить расширения AWE, необходимо настроить политику Закрепление страниц в памяти. Дополнительные сведения см. в разделе Как включить параметр «Блокировка страниц в памяти» (Windows) .
Пример
Следующий пример показывает, как активизировать AWE и настроить ограничение 1 ГБ для min server memory и 6 ГБ для max server memory.
Сначала настройте AWE:
После перезапуска SQL Server будет записано следующее сообщение в журнал ошибок SQL Server: «Расширения AWE включены.»
Далее настройте память:
В этом примере настройки памяти устанавливают буферный пул для динамического управления отображаемой памятью расширений AWE между 1 ГБ и 6 ГБ. Если другому приложению потребуется дополнительная память, SQL Server может высвободить выделенную под расширения AWE память в случае ее ненадобности. В этом примере отображаемая память расширений AWE может быть высвобождена только до 1 ГБ.
Динамическая память AWE также позволяет SQL Server увеличивать память, если дополнительная память добавлена к компьютеру, который поддерживает память с «горячей» заменой. Доступная в Windows Server 2003, в выпусках Enterprise Edition и Datacenter Edition, память с «горячей» заменой позволяет добавить память во время работы компьютера. Предположим, что запуск SQL Server под управлением выпуска Windows Server 2003 Enterprise происходит на компьютере с 16 ГБ физической памяти. Операционная система настроена на предоставление приложениям не более 2 ГБ адресного пространства виртуальной памяти; расширения AWE были активированы для SQL Server. Позже системный администратор добавит 16 ГБ памяти во время работы компьютера. Службы SQL Server немедленно распознают дополнительную память и в случае необходимости задействуют ее.
Дополнительные сведения об использовании AWE см. в документации Windows Server 2003.
Запуск нескольких экземпляров SQL Server с расширениями AWE
Если на одном компьютере работает несколько экземпляров SQL Server и каждый экземпляр использует отображаемую память расширений AWE, необходимо обеспечить правильную работу экземпляров.
Если сервер работает под управлением Windows Server 2003, для каждого экземпляра должен быть определен параметр min server memory. Поскольку SQL Server под управлением Windows Server 2003 поддерживает динамическое управление памятью расширений AWE, рекомендуется определить параметр min server memory для каждого экземпляра. Так как отображаемая память расширений AWE не может быть переключена на файл подкачки, сумма значений min server memory для всех экземпляров должна быть меньше, чем общая физическая память на компьютере.
Параметр min server memory не заставляет SQL Server получать минимальный объем памяти при запуске. Память распределяется по требованию, основываясь на рабочей загрузке базы данных. Однако, как только достигнут порог min server memory, память не будет освобождаться SQL Server, если это может привести к тому, что SQL Server останется с меньшим количеством памяти, чем указано в параметре. Чтобы гарантировать, что каждому экземпляру выделена память (по крайней мере, соответствующая значению параметра min server memory), рекомендуется выполнить загрузку сервера базы данных вскоре после запуска. В ходе нормальной деятельности сервера доступная экземпляру память меняется, но она никогда не станет меньше, чем значение параметра min server memory каждого экземпляра.
Можно задать параметр max server memory или оставить для него значение по умолчанию. Если оставить для параметра max server memory значение по умолчанию, это может привести к конкуренции за память между экземплярами SQL Server.
Если используется кластер отработки отказа SQL Server и память AWE, необходимо гарантировать, что сумма настроек max server memory для всех экземпляров будет меньше наименьшего доступного объема физической памяти на любом из серверов в отказоустойчивом кластере. Если у узла отработки отказа физической памяти меньше, чем у исходного, может случиться, что экземпляры SQL Server не запустятся вообще или запустятся с меньшим объемом памяти, чем они имели на исходном узле.
I am running SQL Server Express Edition with Advanced Services on Windows Server 2008 Enterprise 32 bit OS.
I have enabled "Use AWE to allocate memory" on the SQL Server, but I am not sure if this will help at all as in the Microsoft Documentation it says that AWE is not supported for SQL Server 2008 Express.
Why then there is check box for a option that supposedly is not supported?
I would go with the Standard edition of SQL Server if I know for sure that AWE is not supported in SQL Server Express.
Я запускаю SQL Server Express Edition с расширенными службами на Windows Server 2008 Enterprise 32-разрядной ОС.
Я включил «Использовать AWE для выделения памяти» на SQL Server, но я не уверен, что это вообще поможет, так как в документации Microsoft говорится, что AWE не поддерживается для SQL Server 2008 Express.
Почему тогда установлен флажок для опции, которая предположительно не поддерживается?
Я бы пошел со стандартной версией SQL Server, если я точно знаю, что AWE не поддерживается в SQL Server Express.
Создан 12 сен. 14 2014-09-12 15:01:23 ata
AWE is useful for your OS to be able to allocate SQL Server more than the limited 4GB of a 32 bit operating system. The fact that your OS will support more than 4 GB for a process doesn’t mean your Express SQL will do. It’s 2014, switch to: 64 bit OS, any supported SQL Server edition. That will be a better decision than investing time and money in a old SQL/OS pair. – Marian 13 сен. 14 2014-09-13 16:29:48
1 ответ
There is no point in checking AWE on express edition when SQL Server can see ‘just’ more than 1G memory. Although it says SQl server can take maximum up till 1G on express edition it takes bit more than that.
AWE is a windows feature in 32 bit which allow SQL Server to use memory greater than its VAS limit. VAS limit for SQL server 32 bit running on 32 bit windows machine is 2G and on WOW system is 4 G. Using AWE SQL Server data and index pages can use memory beyond its VAS limit of 2 G. But since in your case max server memory is 1G there is no point in enabling it. And this is the reason I guess why documentation says so.
As to why it is there because MS does not wants to make change. AWE on 64 bit server has also no meaning but this option is there as well.
I would go with standard edition of SQL if I know for sure that AWE is not supported in SQL Express?
Go with standard edition 64 bit and yes you would also need 64 bit OS for that. 32 bit server these days have lots of performance restriction especially in terms of memory and VAS. 64 bit will have 8 TB VAS and enough memory to support. 32 bit server is kind of outdated now ( unless you have grave requirement)
Создан 12 сен. 14 2014-09-12 15:13:43 Shanky
Thanks for the response. The thing is that we bought Windows Server Enterprise x32 bit just to be able to address more RAM. The server has 24GB of ram but we are using SQL 2008 Express. – ata 12 сен. 14 2014-09-12 18:28:53
Its good that you have enterprise edition you can enable PAE so that win OS can see more than 4 G. Now with OS able to see more than 4 G if SQL Server is standard/enterprise edition you can then enable AWE so that SQL Server data and index pages can access more than 2 G RAM. In this case AWE would certainly help and should be enabled. – Shanky 12 сен. 14 2014-09-12 19:29:20
Address Windowing Extensions (AWE) — программный интерфейс в ОС семейства Microsoft Windows, позволяющий 32-битному приложению получить доступ к оперативной памяти, размер которой превышает размеры доступного приложению виртуального адресного пространства (2-3 [1] гигабайта). Процесс отображения дополнительной памяти в адресное пространство приложения при помощи AWE называется «windowing» (оконный доступ) и схож с концепцией «overlay», используемой, например, в DOS. AWE подходит для приложений, обрабатывающих большие объёмы данных, например СУБД, научных и инженерных приложений.
Приложение выделяет регион памяти, называемый окно ( window ), в виртуальном адресном пространстве и запрашивает при помощи интерфейса выделение одного или нескольких регионов физической памяти. Позже интерфейс позволяет приложению отобразить любой выделенный регион физической памяти на окно в адресном пространстве. Допустимо создание нескольких окон, таким образом, что суммарный размер окон не превышает размер доступного виртуального адресного пространства. Размеры окон и регионов физической памяти могут быть произвольными (кратными размеру страницы памяти, 4096 байт), но на любое из окон возможно отображение региона физической памяти, не превосходящего по размеру окно.
Использование AWE должно быть заложено в код приложения. Также приложение должно иметь права «Lock Pages in Memory» (блокирование фрагмента памяти от выгрузки) для использования AWE.
AWE не зависит от расширения Physical Address Extension и не препятствует его использованию [2] .
В статье 2004 года, опубликованной в Dr. Dobb’s Journal, отмечалось, что память, выделенная при помощи Address Windowing Extensions, не подлежит сохранению в swap-файле, и было высказано предположение, что регионы AWE-памяти можно использовать для защиты данных, например, ключей шифрования. [3]
Также возможным примером может являться специальный патчер: для 32-битных приложений в Windows можно использовать специальный патчер, который снимает лимит используемой ОЗУ в 2 ГБ без необходимости его перекомпилировать. Применим и для 32-битных приложений в 64-битной среде Windows с аналогичной целью. Это нужно в основном для увеличения адресного пространства 32-битных приложений, так как они ограничиваются вышеуказанным объемом в 2 ГБ на каждый процесс [4] . Но стоит также отметить, что этот способ не всегда работает и приложение может перестать запускаться. И в некоторых случаях пропатченное приложение таким образом может увеличить свою производительность, например, скорость запуска уровня в некоторых играх.
|