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

SQL Server привязывает процессор, но использует только 2 ГБ оперативной памяти?

Я ничего не знаю о SQL, я собираюсь выложить это там. Наши разработчики сказали, что это проблема ОС. Можете ли вы помочь мне понять, с чего начать, чтобы определить, проблема ли это в ОС? Очевидно, что SQL не блокирует память в файлах подкачки, поэтому мы не видим высокой загрузки SQLserver.exe.

SQL Server 2008 R2 Microsoft Server 2008 R2 CPU - Intel Xeon x6550 - 2,93 ГГц (2 процессора) Память - 20 ГБ

Использование ЦП - в среднем 89% Использование памяти - в среднем 10%

Судя по всей опубликованной вами информации, я на 99% уверен, что они выполняют только запросы T-SQL. Я готов поспорить, что это запросы, сгенерированные кодом, и что-то выдает запрос с тысячей JOIN или аналогичным.

Пусть разработчики профилируют свои запросы; Готов поспорить, что та или иная функция занимает очень много времени, и это основная причина скачка загрузки процессора.

Вы не упомянули выпуск SQL Server, но я предполагаю, что здесь его стандарт. Включили ли вы флаг трассировки 845 для использования страниц блокировки в памяти. Эта TF по-прежнему требуется в SQL Server 2008 R2, см. Примечания Аарона Бертрана ниже.

http://sqlblog.com/blogs/aaron_bertrand/archive/2011/02/07/sql-server-2008-r2-still-requires-a-trace-flag-for-lock-pages-in-memory.aspx

Также проверьте, что еще работает на коробке?

Если загрузка ЦП вызвана процессом sqlservr.exe (а не другими процессами или ядром, вы можете проверить это, используя Обозреватель процессов) и вы не видите загрузки диска, вероятно, это не проблема с ОС, а просто вычислительная нагрузка, вызванная запросами.

Насколько велика рассматриваемая база данных?

чувак, если у тебя 100% загрузка процессора, то тебе, скорее всего, не хватает индексов. Узнайте, как запустить советник по настройке базы данных, чтобы построить оптимальные индексы.

надеюсь, это поможет

-Аарон Кемпф MCITP: администратор баз данных