Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Размышления на тему использования файла подкачки и значений счетчика Paging File\ %Usage  [new]
andrew shalaev
Member

Откуда: Moscow
Сообщений: 610
Доброго времени суток!

СУБД: Microsoft SQL Server 2005 - 9.00.5000.00 (X64) Dec 10 2010 10:38:40 Copyright (c) 1988-2005 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2)

Кратко о железе:
16 ядер ЦП,
32Гб Оперативы (4Гб система, 28 SQL)
СХД 3Par

Хочу прояснить по поводу использования файла подкачки, значение счетчика - Paging File\ %Usage - 27 и оно постоянно.
Не нашел в интернете границы нормальных значений и хочу выяснить нормально ли что MS SQL использует файл подкачки, вот мои мысли которые говорят что это нормально:

SQL Server не работает напрямую с диском и для обработки данных он загружает данные в оперативную память. периодически когда ему нужны новые данные, которых нет в буфере, он обращается снова к диску и добавляет данные, если буфер заполнен, то что бы загрузить новые данные он выгружает старые, тем самым происходит обмен данными между ОП и диском.
На сервере 32 Гб оперативной памяти, из которых 28 выделено под SQL и 4 отдано системе. Размер БД - 600Гб и это логично что периодически SQL, будет свопить на диск использую файл подкачки. Главное что бы файл подкачки резко не увеличивался тем самым показывая, что сервер начинает сильнее свопить на диск.
Показания счетчиков
SQLServer:Buffer Manager \ Buffer cache hit ratio - 99% говорит что в 99% случаев запросов данных эти данные хранятся в буфере
Показания счетчика
Memory\Available MBytes показывает что у сервера свободно 2300 Мб для того что бы записывать новое объекты в буфер
SQLServer:Buffer Manager \ Page Life expancy - время жизни страницы в буфере = 400-200 (пороговое значение 300) по этому счетчику в принципе можно диагностировать нехватку
Paging File\ %Usage - 27 - показания счетчика не меняется, т.е. размер файла подкачки не меняется.

Кроме того выполняя запрос
select * 
from  sys.dm_exec_query_resource_semaphores 

вижу, что кол-во запросов ожидающих выделение необходимой памяти для выполнения равно 0, так же видно что на сервере много свободной оперативной памяти для выделения ее процессам.

Так же выкладываю среднее значения счетчиков за день:

LogicalDisk\Avg.Disk sec /Write - 0,001 - 0,010
LogicalDisk\Avg.Disk sec /Read - 0,001 - 0,020
Memory\Available MBytes - 2300
Memory\ Pages /sec - 0
Paging File\ %Usage - 27
Processor \ % Processor Time 15- 30%

SQLServer:Buffer Manager \ Buffer cache hit ratio - 99%
SQLServer:Buffer Manager \ Page Life expancy - 400-200
SQLServer:Plan Cache \ cache hit ratio - 90 - 95%

Итоговый вопрос, нормально ли такое использование файла подкачки сервер?
29 июл 13, 10:48    [14630778]     Ответить | Цитировать Сообщить модератору
 Re: Размышления на тему использования файла подкачки и значений счетчика Paging File\ %Usage  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
автор
Размер БД - 600Гб и это логично что периодически SQL, будет свопить на диск использую файл подкачки. Главное что бы файл подкачки резко не увеличивался тем самым показывая, что сервер начинает сильнее свопить на диск.


Нет, не логично. Что показывает счетчик Process: Page Faults/sec для процесса SQL Serverа?
29 июл 13, 11:55    [14631121]     Ответить | Цитировать Сообщить модератору
 Re: Размышления на тему использования файла подкачки и значений счетчика Paging File\ %Usage  [new]
andrew shalaev
Member

Откуда: Moscow
Сообщений: 610
pkarklin
Нет, не логично. Что показывает счетчик Process: Page Faults/sec для процесса SQL Serverа?


Process: Page Faults/sec - скачет от 75 до 5000, значения прыгает ежесекундно бывает от 3000 сразу на 100
29 июл 13, 11:59    [14631143]     Ответить | Цитировать Сообщить модератору
 Re: Размышления на тему использования файла подкачки и значений счетчика Paging File\ %Usage  [new]
Crazy_Driver
Member

Откуда: α2000 = 14ч39м36с,5, δ2000 = -60°50'02"
Сообщений: 876
Page File Usage совершенно не обозначает использование файла подкачки. Page File Usage
29 июл 13, 12:03    [14631172]     Ответить | Цитировать Сообщить модератору
 Re: Размышления на тему использования файла подкачки и значений счетчика Paging File\ %Usage  [new]
andrew shalaev
Member

Откуда: Moscow
Сообщений: 610
Crazy_Driver
Page File Usage совершенно не обозначает использование файла подкачки. Page File Usage


Почитал статью, возможно не правильно понял, но уже насторожила фраза:

PF Usage as reported in task manager in Windows XP and Windows Server 2003 is actually the system commit total. This number represents potential page file usage, not actual page file usage. It is how much page file space would be used if all the private committed virtual memory in the system had to be paged out all at once.
Если опять же правильно понял то перевод предложения выделенного жирным:

это показывает кол-во страниц дискового пространства, которое будет использовано если вся память будет разом выгружена.
Т.е. это показывает на тот случай если весь буфер вдруг сбросится, то сколько он займет места на диске. Как то коряво звучит. Опять же
Счетчик измеряется в процентах, а не в кол-ве единиц.

Выдержка из MSDN:

"Paging File: %Usage. Счетчик показывает, какую долю (в процентах) от максимально возможного размера файла подкачки система использует фактически. Если этот показатель достигает отметки 80%, объем файла подкачки нужно увеличить "

Если верить MSDN, то Page File Usage обозначает именно использование файла подкачки.
29 июл 13, 12:30    [14631352]     Ответить | Цитировать Сообщить модератору
 Re: Размышления на тему использования файла подкачки и значений счетчика Paging File\ %Usage  [new]
Crazy_Driver
Member

Откуда: α2000 = 14ч39м36с,5, δ2000 = -60°50'02"
Сообщений: 876
Счетчик в Performance Monitor и в Менеджере Задач - это "две большие разницы". И более того, случаи, когда SQL Server вытесняется в страничный файл весьма редки, ибо он, SQL Server, просто возвращает системе память по требованию.
29 июл 13, 12:43    [14631432]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить