Лимитирование потребляемой SQL сервером памяти в Forefront TMG 2010

Во время установки Forefront TMG 2010 по умолчанию устанавливается SQL Server 2008 Express для хранения данных. Однако иногда возникает вопрос о чрезмерном потребление процессом sqlservr.exe памяти.

TMG: Использование ОЗУ SQL

Подобное происходит в следствие того, что SQL сервер самостоятельно занимается внутренним управлением памяти. По своему дизайну он захватывает большое количество памяти и держит её зарезервированной, что может иногда приводить к нехватке памяти. Однако если посмотреть за процессом на более длительном периоде времени вы сможете заметить что периодически происходит освобождение памяти.

 

TMG: Освобождение оперативной памяти SQL Сервером

В подавляющем большинстве случаев стоит оставить подобное дефолтное поведение, т.к. в никаких реальных проблем не существует. Однако, если ваша система испытывает острую нехватку памяти, вы можете настроить лимит памяти, выделяемый SQL серверу.

Итак, откройте командную строку с правами администратора и выполните следующую команду

osql –E –S .\msfw

После подключения к SQL выполните следующую команду:

USE master
GO

EXEC sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
GO

EXEC sp_configure 'max server memory (MB)', 1024 --configure 1GB limit, adjust as needed
GO

EXEC sp_configure 'show advanced options', 0
RECONFIGURE WITH OVERRIDE
GO

Данный скрипт устанавливает лимит в 1GB (1024MB). При необходимости измените данное значение. После выполнения скрипта перезапустите службу SQL для вступления в силу изменений.

Понравилось? =) Поделись с друзьями:

Обсудить