Это немного поздно, но, возможно, это поможет кому-то еще, кто читает это.
Наблюдая Available Virtual Memory
из 8 TB
, я могу сказать, что это 64-битная система - вместе с отсутствием каких-либо ссылок на распределение AWE.
Как отмечает Летт, в самой ОС есть только 256 MB
из Available Physical Memory
- но это только то, что осталось, а не общая установленная сумма. SQL будет пытаться использовать как можно больше физической памяти для производительности; доступ к памяти намного быстрее, чем перемещение головки диска.
Исходя из VM Committed
, SQL использует 14.1 GB
физической памяти, а VM Committed
- я предполагаю, что присутствует 16 ГБ общего объема физической памяти, учитывая потребности ОС, доступную физическую память и 16 хороший круглый номер.
Нагрузка на память исходит из двух основных областей: буферный пул SQL и кэш плана SQL.
Пул буферов SQL
Для пула буферов используется около 13,5 ГБ памяти. Нетипично для SQL; он попытается использовать как можно больше памяти.
Кэш плана SQL:
В соответствии с 11,382
планы запросов для специальных запросов кэшируются. Однако используются только 28
планы - менее 1%. Если мы отобразим это обратно в CACHESTORE_SQLCP, мы увидим интересную историю - в настоящее время для этих планов не используется память, но я думаю, что в какой-то момент она потребляла 3.24 GB
памяти. Я должен признать, что я менее уверен в этом, и, безусловно, был бы признателен за второе мнение о том, что нужно видеть 0 для VM Commmitted, но значения для распределителей присутствуют.
Резюме
Поскольку вы работаете с SQL 2008, рассмотрите возможность включения оптимизации для специальных планов запросов . Это немного поможет с нехваткой памяти, если ваши рабочие нагрузки в основном являются специальными.
Ссылка