У нас есть машина с SQL-сервером - это образ VMWare (работающий на оборудовании ESXi и т. Д.). Он имеет стандарт Windows 2008 x64. Установка SQL соответствует стандарту SQL 2008. Виртуальная машина имеет 12 ГБ ОЗУ и 4 виртуальных процессора.
Коробка страдает от почти 100% ЦП, когда я включал AWE, но SQL-сервер, кажется, использует только 3-4 ГБ ОЗУ.
Есть ли способ заставить его более эффективно использовать более доступный баран? кешировать результаты например ..?
Мое ограниченное понимание VMware состоит в том, что выделение более одного виртуального ЦП снижает производительность, поскольку хосту необходимо дождаться, пока доступный срез станет доступен на всех ЦП. Я мог ошибаться, но в качестве теста я бы выключил его, перенастроил с одним vCPU и посмотрел, что произойдет.
РЕДАКТИРОВАТЬ:
Кроме того, неизбирательное использование оперативной памяти для решения проблемы, связанной с процессором, - не лучший подход. Возможно, потребуется некоторый мониторинг с помощью perfmon, чтобы отследить основную причину проблемы с производительностью процессора. Похоже, вы пытаетесь связать высокую загрузку ЦП с «нехваткой» памяти SQL, что является ошибочным выводом.
«Хм ... SQL Server использует только 4 ГБ ОЗУ, поэтому ЦП загружен на 100%» - это не тот прыжок, на который я бы пошел, не подтвердив это с помощью очень подробной статистики perfmon.