Я надеюсь, что это действительно простое решение, но мне кажется, что это не так. Мне не удалось найти никакой информации об этом где-либо еще, что не является хорошим началом!
В основном мы бежим SQL Server 2008 на Windows Server 2008 R2 машина с 16 ГБ оперативной памяти.
Проблема в том, что наше использование ОЗУ продолжает увеличиваться до 15,6 ГБ и вызывает у нас проблемы, и мне было интересно, может ли это быть кешем SQL.
Теперь мы настроили SQL для использования минимального / максимального размера 13 ГБ, но я все еще беспокоюсь, что это может быть что-то еще, пожирающее оперативную память, поэтому, прежде чем я перезагружу сервер и выкину все, что его использует, я подумал, что попробуйте и посмотрите, не стоит ли за этим SQL.
Как я могу увидеть размер использования ОЗУ кеш-памяти SQL? Это просто цифра в диспетчере задач?
Спасибо за любую помощь.
Perfmon.exe
Сначала посмотрите на тип объекта Process. У него есть экземпляр для каждого процесса в системе, и он содержит такие показатели, как виртуальные байты, пик виртуальных байтов, рабочий набор и пик рабочего набора. Экземпляр SQL Server будет назван по имени процесса sqlservr. Просматривая все экземпляры, вы можете быстро увидеть, какой процесс вызывает наибольшее потребление памяти.
Теперь посмотрим на собственные счетчики SQL Server. В объекте SQL Server: Buffer Manager вы найдете собственные счетчики SQL Server. Вам нужно посмотреть на счетчик Total Pages, который подсчитывает всю память, отслеживаемую SQL Server внутри. Счетчик находится в страницы, поэтому вам нужно умножить на 8192, чтобы получить байты.
Между счетчиком виртуальных байтов процесса и общим количеством страниц SQL может быть большое расхождение. Это может произойти, когда SQL использует AWE для отображения памяти, а SQL может также использовать AWE на платформах x64.
Вы также можете отслеживать потребление памяти SQL Server из isnide, посмотрите на sys.dm_os_memory_clerks или беги DBCC MEMORYSTATUS.
Если вы обнаружите, что SQL Server использует память: закройте сеанс, сложите руки с клавиатуры и уходи. Это нормальное, предполагаемое и желаемое поведение. Если вам нужна память для любого другого процесса, переместите этот процесс с того же хоста, что и SQL. Никогда не запускайте что-либо еще на том же хосте, на котором запущен SQL Server. (без IIS, без ASP, без обмена, без DC, без DNS / Winds, ничего).
Небольшой комментарий: если можно свободно "сбросить сервер и очистить все, что его использует", то вы также можете просто остановить службу SQL Server.
Если вы это сделаете, вы точно узнаете, действительно ли это SQL Server, который использует всю вашу память.