Я надеюсь, что кто-то может помочь. У нас есть машина с Windows Server 2008 R2 с 16 ГБ ОЗУ, которая постоянно чем-то съедает всю доступную память. Ничто в диспетчере задач или мониторе ресурсов не обнаруживает никаких процессов, использующих память объемом более 300 МБ ... но использование памяти на сервере составляет 15,7 ГБ.
Работают только SQL Server 2008 и IIS7.5 (с ASP.Net).
Примечание. Использование ОЗУ после перезагрузки начинается с низкого уровня и увеличивается. Примерно через неделю мы продолжаем обнаруживать себя в этой ситуации.
Как я могу узнать, что ест всю нашу память? :(
windows-server-2008
memory
performance-monitoring
memory-usage
task-manager
Джанго Рейнхардт
источник
источник
Ответы:
Это 64-битный сервер - у вас включена локальная политика блокировки страниц в памяти? SQL, вероятно, потребляет остальную часть вашей памяти. Если вы посмотрите на счетчики perfmon, то увидите распределение памяти.
Вот статья, которая объясняет это в глубине
Вы также можете просмотреть счетчики в SQL
источник
Быстрый тест: перезапустите SQL Server.
Еще один быстрый тест: перезапустите IIS.
Вы будете точно знать, является ли один из них виновником или вам нужно искать что-то еще.
источник
Это может помочь использовать RamMap, чтобы увидеть, куда уходит ваша память.
источник
Вы действительно испытываете какие-либо проблемы, связанные с памятью?
Использование памяти когда-либо становится выше, чем фактическая установленная память, или она просто заполняется и остается там?
Если память просто заполняется, но у вас не возникает никаких проблем, тогда это просто кеш, выполняющий свою работу; память будет автоматически Выпущенный если и когда вы на самом деле нужно.
Если использование памяти превышает физический лимит и сервер останавливается, значит, вы испытываете некоторую утечку памяти и обязательно должны ее отладить.
Несколько интересных статей на тему «кеша»:
http://blogs.msdn.com/ntdebugging/archive/2007/11/27/too-much-cache.aspx
http://blogs.msdn.com/ntdebugging/archive/2007/10/10/the-memory -shell-game.aspx
http://blogs.msdn.com/ntdebugging/archive/2009/02/06/microsoft-windows-dynamic-cache-service.aspx
источник
Вы проверяли Perfmon (особенно счетчики SQL), как это было предложено кем-то из вашего другого потока?
источник
Прежде всего, как уже было сказано, исправьте его и посмотрите, решит ли это проблему.
Во-вторых, если это не сработало, используйте Process Explorer, чтобы лучше рассмотреть использование памяти. Перейдите в меню «Вид», затем выберите «Столбцы», «Память процесса» и проверьте параметры «Частные байты», «Виртуальный размер» и «Размер рабочего набора». Посмотрите, указывает ли это на то, что здесь винить.
Тогда решительным подходом будет попытка остановить сервисы. IIS, например, может быть полной памятью, если у вас неправильно настроены пулы приложений и веб-сады (их слишком много), так что это кандидат.
Удачи!
источник