Использование памяти SQL - PullRequest
2 голосов
/ 29 июня 2009

Я управляю совмещенным блоком winserver08, работающим под управлением IIS и SQL 08 express. Я просто случайно заглянул на вкладку производительности диспетчера задач и обнаружил, что график истории использования mem близок к максимуму, читая 1.8 гигабайта (у меня 2 гигабайта физической памяти). Процесс показывает, что sqlserver работает на 940 000 Кб, что является крупнейшим потребителем.

У меня малообъемный сайт - загрузка процессора едва регистрируется. У него вообще не было проблем со стабильностью на сервере. Это то, как SQL обрабатывает доступную память или мне нужно копать глубже?

ТНХ

Ответы [ 4 ]

5 голосов
/ 29 июня 2009

SQL Server управляет собственным пулом памяти. Это освободит память обратно в ОС под давлением памяти.

Так что, да, это нормальное поведение и не о чем беспокоиться.

Примечание: Я должен упомянуть исключение из этого: если скрипты TSQL используют sp_OACreate для создания COM-объектов и не освобождают объект с соответствующим sp_OSDestroy (скажем, например, возникает ошибка, и скрипт завершается преждевременно), то память может протечь. Использование этих хранимых процедур не является распространенным явлением (многие администраторы баз данных не позволяют включить эту функцию по уважительной причине). Я полагаю, что это также относится и к CURSORS, которые не были освобождены.

0 голосов
/ 29 июня 2009

SQL Server будет использовать что-то в области 90% памяти машины, если это не ограничено. Это совершенно нормально, так как SQL Server сам управляет памятью и освобождает память по мере необходимости.

Если вы беспокоитесь об этом, вы можете ограничить объем памяти, который может использовать SQL Server, перейдя в свойства экземпляра sqlexpress, выбрав страницу памяти и затем уменьшив максимальный объем памяти сервера.

0 голосов
/ 29 июня 2009

Имейте в виду, что SqlExpress, вероятно, управляет памятью иначе, чем любая стандартная версия (то есть любая неэкспресс-версия). Я не могу предоставить конкретные ссылки, но из личного опыта многое меняется, когда вы переходите к правильному распространению SQLServer (скорость, управление памятью, отзывчивость в экстремальных условиях и т. Д.).

Если кто-нибудь знает что-то еще, пожалуйста, включите мой ответ.

0 голосов
/ 29 июня 2009

Если вы не настроили это нормальное поведение. Прочитайте эту статью для ясного понимания конфигурации памяти и рекомендаций.

В вашем случае я предполагаю, что у вас есть настройки по умолчанию, и вы видите, что это нормально, и нет причин для беспокойства.

Raj

...