Use awe to allocate memory что означает
Use awe to allocate memory что означает
Не далее чем вчера один мой коллега попросил помочь с включением режима AWE в MS SQL 2005. Этот режим позволяет SQL Server использовать память выше 4ГБ на 32х разрядных системах. Процедура конфигурации очень проста. Нужно включить привилегию Lock pages in memory для учетной записи пользователя, под которым стартует MS SQL Server. Затем включить режим AWE у сервера и задать параметры потребления памяти. Кроме того система должна быть загружена в PAE режиме. И вот тут возникли вопросы.
На самом деле вопросы возникли не только у моего коллеги. В интернет они тоже частенько возникают, причем с похожими симптомами. Даже на sql.ru очень много вопросов относительно этой конфигурации. Несомненно, этот вопрос уже довольно устарел, но, иногда еще встречается необходимость. Поэтому, давайте вкратце рассмотрим что как и почему.
Прежде всего про PAE. Это специальный режим, в котором механизм трансляции виртуальных адресов в реальные изменяется таким образом, что позволяет 32х разрядной системе использовать больше 4ГБ памяти. Однако, для того, чтобы приложения могли его использовать, они должны использовать специальный API. Те программы, которые не умеют этого – не получат ничего от этого механизма. SQL Server – умеет.
Теперь, собственно, сам вопрос. После применения всех настроек в task manager видно что сервер стал использовать совсем мало памяти. Как проверить, работает ли все это?
Вот собственно и все. Но все же, советую, при больших объемах памяти используйте 64х разрядные версии ПО.
3 комментария:
Вот статья в KB, где описаны странности с памятью http://support.microsoft.com/kb/918483
Конкретнее:
After you assign the Lock pages in memory user right and you restart the SQL Server service, the buffer pool of the SQL Server process still responds to memory resource notification events, and it dynamically increases or decreases in response to these events. However, you cannot see memory allocations for the buffer pool that are locked in memory in the following performance counters:
The Private Bytes counter and the Working Set counter in Performance Monitor
The Mem Usage column on the Processes tab in Task Manager
After these pages are locked, these performance counters represent the memory allocations inside the SQL Server process when those allocations do not use the buffer pool. The Total Server Memory(KB) counter of the SQL Server:Memory Manager performance object accurately represents the memory that is allocated for the buffer pool.
Ну, собственно да. На самом деле это одна из статей. Кроме всего прочего в этой статье описываются проблемы со сбросом рабочего набора в файл подкачки. И в качестве средства борьбы рекомендуют на win2k3 как раз использование AWE и lock pages in memory как раз по причине того что такие страницы не выгружаются в файл подкачки.
В общем, спасибо за полезную ссылку!
Use awe to allocate memory что означает
Этот форум закрыт. Спасибо за участие!
Лучший отвечающий
Вопрос
Здравствуйте. Знаю что ответов на вопросы много по этой тематике, но мне все равно непонятно кое-что.
Есть сервер с 8ГБ ОЗУ (ранее было 4ГБ, подняли до 8ГБ) и установленной Windows Server 2008 Standard Edition SP2 32bit (не R2).
Было решено попробовать использовать AWE для увелечения ОЗУ под SQL Server.
Действия, которые производил:
1. Настроил запуск служб SQL Server (SQL Server, Agent, FullText Search, Analysis Services) от пользователя с ограниченными правами.
2. В политиках безопасности указал, что этому пользователю можно производить Блокировку страниц в памяти.
3. Включил PAE (BCDEdit /set PAE forceenable).
4. Включил в настройках SQL Server галочку «Использовать AWE для выделения памяти« и установил минимальный размер памяти сервера=2ГБ и максимальный=6ГБ
5. Перезагрузил сервер.
После перезагрузки увидел, что в диспетчере задач процесс sqlservr.exe расходует
60МБ. Решил нагрузить сервер и запустил DBCC CHECKDB.
Запустил утилиту RAMMAP.exe и увидел, что Total показывает 4ГБ (так и должно быть, когда установлено 8ГБ?) и используется AWE всего на
2.3ГБ.
Все ли верно было сделано?
И как мониторить использование AWE? Действительно ли тот процесс его расходует и в том ли объеме, который указали.