Управление зарезервированной памятью SQL Server CLR

Недавно я включил CLR на своем 64-битном компьютере с SQL Server 2005 для использования около 3 процедур. Когда я запускаю следующий запрос, чтобы собрать некоторую информацию об использовании памяти...

select single_pages_kb+ multi_pages_kb + virtual_memory_committed_kb as TotalMemoryUsage, virtual_memory_reserved_kb 
from sys.dm_os_memory_clerks 
where type = 'MEMORYCLERK_SQLCLR'

я получил

129 МБ MemoryUsage и 6,3 ГБ виртуальной памяти зарезервировано

Общая память машины 21 гиг. Что именно означает зарезервированная виртуальная память и как я могу контролировать выделенный размер? 6 гигабайт слишком много для того, что мы делаем, и память будет намного лучше использоваться кешем sproc. Я обеспокоен тем, что эта зарезервированная память приведет к переключению на файл подкачки.

Пожалуйста, помогите мне вернуть контроль над памятью!

Спасибо


person Ryu    schedule 27.04.2009    source источник
comment
Каковы ваши максимальные настройки памяти сервера для SQL на этом сервере?   -  person Jonathan Kehayias    schedule 02.06.2009


Ответы (1)


Вы используете 64-разрядную версию, поэтому VAS (виртуальная память) не является проблемой.

Виртуальная память фактически не используется и не выделяется. Он просто зарезервировал диапазон адресов.

person Cine    schedule 09.03.2010