2

Я работаю над настройкой тестовой среды, но мне нужно уменьшить аппаратное обеспечение, которое мы используем для нашего окна SQL, на котором работает Windows Server 2008 R2 SP 1 и SQL 2008. Я замечаю, что у MSConfig.exe есть опции для ограничения количества доступных процессоров, но я не могу найти документацию о том, как это работает в MSDN.Ограничение количества процессоров, доступных для Windows Server 2008 R2

Я также не вижу какой-либо способ изменить это с помощью командной строки, используя BCDEdit, что Microsoft положить в.

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

ответ

3

В эпоху многоядерных гиперпроцессорных процессоров «Процессоры» теперь являются двусмысленным термином. Отражается ли процессор на потоках (от Hyperthreading), ядрах или сокетах (физических процессорах).

Windows распознает логические процессоры (LP) в качестве базовой вычислительной платформы - дает один LP для каждой гипертрещины внутри ядра, а затем умножается на каждое ядро, которое, наконец, умножается на количество сокетов.

Самый простой способ в Windows сократить количество LP - использовать параметр/NUMPROC. В этом примере КВТ создает максимальное число процессоров 8.

  1. резервного Bcdedit/экспорта C: \ Backup \ bcd.bak
  2. Список текущих записей Bcdedit/v
  3. Копия существующей конфигурации bcdedit/copy {current}/d "Windows 2008 R2 с NumProc" Ток является «хорошо известным» идентификатором. Это также возвращает созданный идентификатор. Так что может быть использован непосредственно
  4. Список записей Bcdedit/v
  5. добавления параметра к новой записи Чтобы установить максимальное число процессоров
    Bcdedit/комплект {new_id} NUMPROC 8
  6. Изменение по умолчанию запись BCDedit/по умолчанию {new_id }

Но опасность этой стратегии является, например, на 4 ядра системы в то с поддержкой HyperThreading только один процессор (гнездо) используется. Так как первые 8 LP (0..7) будут гиперпотоковыми ядрами на первом процессоре. Таким образом, вы на самом деле не эмулируете 8-канальную систему, а однонаправленную 4-ядерную систему с включенным HyperThreading.

Если это не подходит модель и другие варианты

  • Disable HyperThreading в BIOS - это уменьшает кол ЛП в ядро ​​так помогает распределить нагрузку на ядра и розеток.
  • Поддерживает ли системная BIOS сокращение основного счетчика на один процессор? Если это так, это поможет распределить нагрузки по сокетам.
  • Создание вашей системы в виртуальной среде и ограничение физических ресурсов с этой точки зрения.

Если вы имеете дело с более чем 64 логическими процессорами под Windows, то это представляет группы процессоров и добавляет еще один уровень параметров.

+0

Это помогает, спасибо. Я знаю, что 16 из моих 32 пластинок являются результатом гиперпотока, поэтому мне придется отключить Hyperthreading через BIOS, прежде чем ограничивать количество LP с помощью опции загрузки. Таким образом, я на самом деле имитирую количество ядер, которые я хочу, а не просто удалять потоки. –

Смежные вопросы