Хорошо, у меня есть сервер W2008 R2, на котором работает один веб-сайт с примерно 100-200 посетителей в день, и на нем также работает MSSQL 2008 для того же веб-сайта.
В последнее время, когда сервер запускается, он использует нормальный объем ОЗУ (около 40-50%), а затем медленно, но верно он поднимается, пока не достигнет 100%, и никто больше не сможет получить доступ к сайту. Даже перезапуск занимает около 10 минут.
Заглянув в диспетчер задач, я не вижу конкретного виновника, который я мог бы определить и сказать, который вызывает указанную утечку памяти.
Странно то, что этот веб-сайт работает с 2007 года или около того, и были времена, когда на сайт приходило от 2000 до 4000 уникальных посетителей в день с более чем 1,2 миллиона просмотров страниц, и у него не было никаких проблем.
Вот если работает 2-3 дня без перезагрузки - это чудо.
Любая помощь будет принята с благодарностью.
РЕДАКТИРОВАТЬ:
Хорошо, поэтому я ограничил свой SQL-сервер до 1400 МБ ОЗУ и буду использовать resmon.exe
как только проблема возникнет снова.
Однако я больше занимаюсь программированием и довольно новичок, когда дело касается управления сервером; что именно я должен контролировать с помощью perfmon?
10 баксов говорят, что это SQL-сервер. Попробуйте установить максимальный объем памяти ниже системного лимита. Иногда это необходимо в общих системах.
Обычно вы хотите, чтобы SQL потреблял все доступное, но это одна из ситуаций, когда это может быть не лучшим образом.
Возможно, вы сможете получить немного лучший обзор использования вашей оперативной памяти (и возможного процесса, использующего ее), взглянув на инструмент Windows resmon.exe
.
Также вы можете отслеживать использование в течение нескольких дней с помощью perfmon.exe
, который может помочь определить, когда именно увеличивается использование ОЗУ. Возможно, это совпадает с какой-то другой задачей программы или событием сервера.