Назад | Перейти на главную страницу

Что может вызвать изменение максимального объема памяти SQL Server со временем?

Я начал анализировать наши журналы SQL Server PerfMon в Excel и обнаружил это.

Легенда:
Красный - SQL Server - память целевого сервера
Зеленый - SQL Server - Общий объем памяти сервера
Синий - доступная системная память

Сервер 1:

Сервер 2:

Сервер 3:

Кто-нибудь еще видел это раньше, и стоит ли нам волноваться?

Конфигурация идентична для всех серверов, за исключением настройки максимального объема памяти - 14 ГБ на серверах 1 и 2 и 10 ГБ на сервере 3. Минимальный объем памяти равен нулю на всех серверах. Это экземпляры SQL Server 2008 R2, каждый на собственной виртуальной машине под управлением Windows Server 2008 R2 (SP1 применяется в середине месяца) под Hyper-V.

Что бы я ожидать должен видеть график, подобный серверу 1 (горизонтальная красная линия), но как для серверов 2 и 3 значение, сообщаемое для памяти целевого сервера, колеблется во времени? Чего не видно из представленных мной графиков, так это того, что колебания в какой-то мере соответствуют метрике «Доступная память». Кроме того, перезапуск сервера (синие вертикальные линии) также не влияет на значения. Это ошибка PerfMon?

PerfMon настроен таким образом, что все 3 сервера находятся внутри одного набора сборщиков данных, причем каждый сервер имеет собственный счетчик производительности со всеми отслеживаемыми нами параметрами.

Любая помощь или понимание будут оценены.

Похоже, вы сбиты с толку памятью целевого сервера и предполагаете, что это статическое значение. Память целевого сервера - это верхний предел объема памяти, который SQL Server планирует использовать (обратите внимание, что в документации используется терминология «может потреблять» не «доступен». Это динамическое число, и во время нехватки памяти оно уменьшит целевой сервер. Память, а затем уменьшите (или увеличьте) общую память сервера, пока она не достигнет целевого значения. Исходя из того, что показывает этот график, я ожидал, что есть другие факторы, оказывающие давление на память на других 2 серверах SQL

Судя по информации, которой вы уже поделились, я не вижу никаких проблем. Что вам нужно спросить, эквивалентна ли активность на всех этих серверах? Как вы это измеряете? Если ваше общее количество и цель не совпадают и если общее количество <целевого значения, это означает, что у вас больше места для головы. Вы также можете посмотреть другие метрики, такие как PLE, коэффициент попадания в буферный кеш и т.д., и никогда не полагаться только на одну метрику.

Вы наблюдаете какие-либо проблемы с производительностью на этих серверах? Вы проверили СТАТИСТИКУ ОЖИДАНИЯ в этих полях? Вы смотрели статистику виртуальных файлов и т. Д. Моя теория заключается в том, что вы должны отслеживать эти показатели в течение определенного периода времени и видеть, имеют ли они тенденцию к увеличению или уменьшению, и не беспокоиться о количестве для определенного небольшого интервала.

HTH