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

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

forefront tmg sql mem 01 thumb Лимитирование потребляемой SQL сервером памяти в Forefront TMG 2010

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

 

 

forefront tmg sql memory 02 thumb Лимитирование потребляемой SQL сервером памяти в Forefront TMG 2010

В подавляющем большинстве случаев стоит оставить подобное дефолтное поведение, т.к. в никаких реальных проблем не существует. Однако, если ваша система испытывает острую нехватку памяти, вы можете настроить лимит памяти, выделяемый 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 для вступления в силу изменений.

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий