Запуская SQL Server 2012 SP3 на оперативной памяти 32 ГБ и 4 ядрах, 60-80 одновременных подключений, с большой рабочей нагрузкой ad-hoc, мы наблюдаем всплеск процессов (ЦП) в SQL Server и остаемся резкими один или два раза в день в непредсказуемое время. Мы работаем над выявлением первопричины всплеска. Тем временем мы обнаружили, что изменение параметра Max Memory (вверх или вниз), похоже, единственное, что вернет нагрузку на процессор в нормальное состояние.
Проверяя журналы и выполняя поиск в StackExchange ( https://dba.stackexchange.com/a/183276 ), мы видим, что кэш плана сбрасывается при изменении параметра Max Memory. Однако, если мы очищаем кэш плана через DBCC FREESYSTEMCACHE («Планы SQL»), загрузка ЦП не возвращается к нормальной.
Поскольку изменение параметра Max Memory устраняет проблему, независимо от того, увеличиваем или уменьшаем ее, проблема, похоже, не связана напрямую с настройкой Max Server Memory. Таким образом, мы пытаемся понять, что еще делает изменение настроек памяти, и затем использовать эту информацию, чтобы помочь определить основную причину скачка ЦП.