Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SQL Server использование памяти  [new]
evgeniya bri
Member

Откуда:
Сообщений: 103
Привет всем,


Помогите, пожалуйста, разобраться, что к чему. Ничего не понимаю.

Есть витуальная машина с Windows Server 2003 x64
На ней SQL Server 2005 Ent Ed x64.

Серверу выделено 16GB оперативной памяти,
Также на сервере есть файл подкачки размером 10GB.
SQL Server отведено от 2 (min server memory) до 14GB (max server memory).

I.
Наблюдения:
1) SQL Server использует всю выделенную ему память без остатка (14GB) - это я вижу в Task Manager - Processes.

2) Вся память на сервере занята - смотрю в Task Manager

3) От виртуальной инфраструктуры данная виртуальная машина отъедает все 16 GB.
В это же время реальное использование памяти виртуальной машиной всего 3 GB.

Почему же SQL Server не отдает ресурсы, если по сути получается, что он их в данный момент не использует?..

II.
Опираясь на наблюдения выше, я сделала вывод, что сервер может обойтись и без файла подкачки (pagefile.sys).
И сократила его размер до 1GB.

За этим последовали ошибки от SQL Server (пакеты SSIS в Jobs):

- Not enough storage is available to complete this operation. This occurs in the CPackage::LoadFromXML method
- The package execution returned DTSER_FAILURE
- The paging file is too small for this operation to complete.
- A buffer failed while allocating 4587104 bytes. End Error Error: 2009-12-04 04:30:13.38 Code: 0xC0047011 Source: K21 2 Ruzen DTS.Pipeline Description: The system reports 99 percent memory load. There are 17174851584 bytes of physical memory with 112488448 bytes free. There are 8796092891136 bytes of virtual memory with 8795402407936 bytes free. The paging file has 17610539008 bytes with 6918144 bytes free.

SQL Server / SSIS обязательно нужен файл подкачки??

Спасибо
8 дек 09, 10:37    [8032867]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server использование памяти  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31170
evgeniya bri,

evgeniya bri
Почему же SQL Server не отдает ресурсы, если по сути получается, что он их в данный момент не использует?..
Использует, вы же видите, что "SQL Server использует всю выделенную ему память без остатка"

В данном случае ошибки не от SQL Server, памятью котрого вы управляете, а от стороннего (для ядра СУБД) приложения - исполнительной подсистемы SSIS

Ошибка простая - приложение попросило память, а её нету.

Если для каких то приложений нужна память, то вам нужно либо отобрать её у сиквела, либо увеличить файл подкачки.

Почему ВМ использует только 3 гб, не знаю - это нужно спрашивать у администраторов ВМ. Сколько на физ. машине памяти? Если 16, то получается, что 3 занято ВМ, а 13 свободно и ничем не используется?

Вообще сиквел не рекомендуется запускать под ВМ.
8 дек 09, 11:36    [8033391]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server использование памяти  [new]
evgeniya bri
Member

Откуда:
Сообщений: 103
alexeyvg,

спасибо за ответ.

SQL Server не рекомендуется запускать под ВМ?
А не подскажите, где можно поподробнее на ту тему почитать?
8 дек 09, 13:50    [8034652]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server использование памяти  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31170
evgeniya bri
SQL Server не рекомендуется запускать под ВМ?
А не подскажите, где можно поподробнее на ту тему почитать?
Это из разных источников, за долгое время...

Сиквел подстраивается под конфигурацию железа, использует статистики по работе компонентов, работает с железом напрямую, и скрытие этого жедеза под виртуальной машиной ему не помогает.

В 2005 уже появилась возможность работы в MS ВМ (только Hyper-V), в 2008 ещё что то добавили.

Вот, например, Support policy for Microsoft SQL Server products that are running in a hardware virtualization environment

Вообще, в отличие от "обычных" приложений выгоды от применения виртуализации сомнительны: ведь по нагрузке СУБД вполне может занимать целый сервер, а разделение между приложениями решается разделением на инстансы.

При этом потери производительности будут обязательно, + всякие траблы при эксплуатации и настройке.

Вот как у вас - непонятно даже, кто сколько памяти ест, а уж что говорить о таких тонкостях, как учёт разницы между скоростью дисков при построении планов запросов...

По производительности потери будут процентов 20, рпи условии высокой квалификации админов (а нужно учитывать, что сиквел на ВМ ставят для возможности уменьшения квалификации). Вот про настройку
8 дек 09, 15:01    [8035455]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить