Вопрос

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

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

спасибо

Это было полезно?

Решение

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

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

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

Другие советы

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

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

Радж

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top