Назад | Перейти на главную страницу

Память SQL Server постоянно увеличивается, с 1 ГБ ОЗУ до 7 ГБ в неделю

У меня есть база данных размером ~ 45 ГБ, которая быстро увеличивается (~ 1 ГБ каждую неделю).

Так что он делает много вставок; у веб-приложения не так много пользователей, поэтому сейчас мало чтения.

Но я замечаю, что пользователи sql-сервера RAM переходят с ~ 1 ГБ при первом запуске сервера до ~ 7 ГБ ОЗУ через неделю.

Есть какая-то утечка памяти? В MSDN была статья, в которой говорилось, что SQL-сервер увеличивает объем памяти, который он использует для кеширования, и этот объем всегда будет увеличиваться. Однако на сервере всего 7,5 ГБ или оперативная память, поэтому я беспокоюсь, что ему не хватит памяти, если я не перезапускаю SQL Server каждую неделю ... что кажется неправильным.

Это типичное поведение? Есть ли какой-то параметр, который я могу установить, чтобы ограничить использование памяти?

SQL-сервер предназначен для использования столько оперативной памяти, сколько он может получить. SQL-сервер также невероятно умная. У нас есть серверы баз данных с оперативной памятью от 2 до 96 ГБ, и мне ни разу не приходилось вмешиваться и начинать управлять оперативной памятью вручную, и большинство из них загружены на 99,5%.

Простой факт заключается в том, что SQL Server, работающий с потребляемой памятью 1 ГБ, будет намного медленнее при чтении, чем SQL-сервер с 96 ГБ потребляемой памяти.

Если вы не разделяете роли SQL-сервера с другими ролями, интенсивно использующими память, просто оставьте это в покое. Он никогда не будет использовать больше памяти, доступной в системе, и если он достигнет 99% использования, тогда отлично - вы создали большой кеш, и с этого момента все будет быстрее.

Обычно вам нужно выделить 1-2 гигабайта оперативной памяти для ОС, чтобы у ОС была оперативная память для работы. После этого SQL Server может получить оставшуюся память.