Numa bios как установить windows 10

Обновлено: 03.07.2024

Если вы собрали новый компьютер или купили его без операционной системы, вас может интересовать процесс установки на него Windows. К счастью, с годами установка Windows стала довольно простой. Все, что вам нужно, это доступ к USB-накопителю и компьютер с Windows с подключением к Интернету. Если у вас нет ни одной из этих двух вещей, лучше всего приобрести USB-накопитель Windows 10 от Microsoft.

В этом руководстве мы объясним, как создать загрузочный USB-накопитель с Windows 10 и использовать его для установки операционной системы на новый компьютер. Прежде чем двигаться дальше, убедитесь, что ваш новый компьютер соответствует системным требованиям для Windows 10. Кроме того, если вы хотите запустить Windows 10 на Apple Silicon Mac, у нас также есть руководство для этого.

Начнем с создания загрузочного USB-накопителя Windows 10. Вам понадобится USB-накопитель объемом не менее 8 ГБ. Вы также можете использовать DVD для создания установочного носителя, но с USB проще.

Как создать установочный носитель Windows 10

Если у вас уже есть установочный USB-накопитель Windows 10, вы можете пропустить эти шаги и сразу перейти к разделу «Как установить Windows 10».

  • Загрузите официальный инструмент для создания установочного носителя Windows 10 с веб-сайта Microsoft.
  • Запустите инструмент, чтобы подготовить установочный носитель Windows 10. Вы получите два варианта — выберите «Создать установочный носитель для другого ПК».

Инструмент для создания установочного носителя Windows 10 — создайте установочный носитель

  • Выберите выпуск, язык и архитектуру Windows 10, которую вы хотите установить.

Инструмент для создания установочного носителя Windows 10 — выберите язык

  • Затем вас спросят, хотите ли вы использовать USB-накопитель или создать файл ISO. Выберите «USB-накопитель».

Инструмент для создания установочного носителя Windows 10 — выберите медиа» ширина = «900» высота = «576» /><br /></p>
<ul>
  <li>Подождите, пока инструмент завершит копирование установочных файлов Windows 10. В зависимости от скорости вашего интернета это может занять некоторое время.</li>
  <li>После завершения процесса вы готовы установить Windows 10 на свой новый компьютер.</li>
</ul>
<h2>Как установить Windows 10</h2>
<ul>
  <li>Вставьте установочный USB-накопитель Windows 10 в новый компьютер и включите его. Если ваш компьютер не загружается напрямую с USB-накопителя, вам необходимо изменить порядок загрузки в настройках UEFI/BIOS. Чтобы ввести эти настройки, вам нужно будет нажать клавишу производителя сразу после загрузки системы. Как правило, это будет одна из этих клавиш — Esc, Delete, F1, F2, F10, F11 или F12. Вы также можете выполнить поиск в Интернете, чтобы найти правильный ключ для своего ПК, или внимательно посмотреть на первый загрузочный экран, чтобы определить его. Документация, прилагаемая к вашему компьютеру или материнской плате (в случае, если вы ее собрали), будет содержать сведения о входе в настройки UEFI/BIOS.</li>
</ul>
<p><img class=

  • Перейдя к настройкам UEFI/BIOS, перейдите в раздел загрузки и измените порядок загрузки установочного USB-накопителя вверх. Теперь сохраните настройки и выйдите. Теперь ваш компьютер автоматически начнет использовать новый порядок загрузки, и начнется установка Windows 10. Некоторые компьютеры, в зависимости от производителя материнской платы, могут позволять вам напрямую выбирать порядок загрузки, не переключаясь между настройками UEFI/BIOS.
  • В программе установки Windows выберите язык, формат времени и валюты, а также сведения о клавиатуре. Нажмите «Далее», чтобы продолжить.

Установщик Windows 10

  • Затем нажмите «Установить сейчас», чтобы начать фактическую установку.
  • Программа установки Windows теперь попросит вас активировать Windows, введя ключ продукта. Если вы уже приобрели Windows 10, введите ключ, в противном случае нажмите «У меня нет ключа продукта», чтобы двигаться дальше. Вы можете активировать Windows после установки. Но если вы не предоставите ключ продукта, программа установки попросит вас выбрать, какую версию Windows 10 вы хотите установить. Выберите тот, который вы планируете купить, так как вы не сможете изменить его позже.

Ключ продукта для установки Windows 10

  • На следующем шаге программа установки попросит вас выбрать тип установки: обновление или выборочная. Поскольку вы впервые устанавливаете Windows на этот компьютер, выберите «Выборочная» и нажмите «Далее», чтобы продолжить.

Тип установки Windows 10

  • На следующем экране вам нужно будет выбрать жесткий диск, на который вы собираетесь установить Windows. Большинство людей здесь просто получат один жесткий диск, но если в вашем компьютере два жестких диска, выберите тот, на который вы хотите установить Windows. Эмпирическое правило заключается в том, чтобы выбрать более быстрый, если у вас несколько жестких дисков. На этом этапе вы также можете создать несколько разделов диска на своем компьютере, если хотите. Если в конечном итоге вы создадите несколько разделов, выберите тот, на который вы хотите установить Windows, и нажмите «Далее», чтобы продолжить.

Установочные разделы Windows 10

  • Windows 10 теперь установится сама. Он может перезапускаться несколько раз. В промежутках он попросит вас настроить некоторые параметры. Выберите то, что подходит именно вам.

Установка Windows 10

  • После завершения установки ваш компьютер перезагрузится. Извлеките установочный USB-накопитель, и все готово.

Это краткое руководство, которое поможет вам установить Windows 10 на новый компьютер. Если вы планируете возиться с прошивкой вашего телефона Android, ознакомьтесь с нашим руководством по установке ADB на ПК с Windows. Также не стесняйтесь ознакомиться с нашими лучшими ноутбуками, которые поставляются с функцией распознавания лиц Windows Hello.

Если вы использовали это руководство для установки Windows 10 на свой компьютер, сообщите нам о своем опыте в разделе комментариев.

Традиционной моделью поддержки многопроцессорности является симметричная многопроцессорность (SMP). В этой модели каждый процессор имеет равный доступ к памяти и вводу-выводу. По мере добавления новых процессоров процессорная шина становится ограничением производительности системы.

Разработчики систем используют неоднородный доступ к памяти (NUMA) для увеличения скорости процессора без увеличения нагрузки на шину процессора. Архитектура неоднородна, потому что каждый процессор находится ближе к некоторым частям памяти и дальше от других частей памяти. Процессор быстро получает доступ к памяти, к которой он ближе, в то время как получение доступа к памяти, которая находится дальше, может занять больше времени.

В системе NUMA процессоры объединены в более мелкие системы, называемые узлами. Каждый узел имеет собственные процессоры и память и подключен к более крупной системе через шину межсоединений, согласованную с кэшем.

Система пытается повысить производительность, планируя потоки на процессорах, находящихся в том же узле, что и используемая память. Он пытается удовлетворить запросы на выделение памяти внутри узла, но при необходимости выделяет память из других узлов. Он также предоставляет API, чтобы сделать топологию системы доступной для приложений. Вы можете повысить производительность своих приложений, используя функции NUMA для оптимизации планирования и использования памяти.

Прежде всего вам необходимо определить расположение узлов в системе. Чтобы получить узел с наибольшим номером в системе, используйте функцию GetNumaHighestNodeNumber. Обратите внимание, что это число не обязательно равно общему количеству узлов в системе. Кроме того, не гарантируется, что узлы с порядковыми номерами будут близко друг к другу. Чтобы получить список процессоров в системе, используйте функцию GetProcessAffinityMask. Вы можете определить узел для каждого процессора в списке с помощью функции GetNumaProcessorNode. В качестве альтернативы, чтобы получить список всех процессоров в узле, используйте функцию GetNumaNodeProcessorMask.

После того как вы определили, какие процессоры каким узлам принадлежат, вы можете оптимизировать производительность своего приложения. Чтобы убедиться, что все потоки вашего процесса выполняются на одном узле, используйте функцию SetProcessAffinityMask с маской сходства процессов, указывающей процессоры на одном узле. Это повышает эффективность приложений, потокам которых требуется доступ к одной и той же памяти. В качестве альтернативы, чтобы ограничить количество потоков на каждом узле, используйте функцию SetThreadAffinityMask.

Приложениям, интенсивно использующим память, потребуется оптимизировать использование памяти. Чтобы получить объем свободной памяти, доступной узлу, используйте функцию GetNumaAvailableMemoryNode.Функция VirtualAllocExNuma позволяет приложению указать предпочтительный узел для выделения памяти. VirtualAllocExNuma не выделяет никаких физических страниц, поэтому он будет успешным независимо от того, доступны ли страницы на этом узле или где-либо еще в системе. Физические страницы выделяются по требованию. Если на предпочтительном узле заканчиваются страницы, диспетчер памяти будет использовать страницы с других узлов. Если память выгружается, тот же процесс используется при ее возврате.

Поддержка NUMA в системах с более чем 64 логическими процессорами

В системах с более чем 64 логическими процессорами узлы распределяются по группам процессоров в соответствии с мощностью узлов. Мощность узла — это количество процессоров, присутствующих при запуске системы, а также любые дополнительные логические процессоры, которые можно добавить во время работы системы.

Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: группы процессоров не поддерживаются.

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

Идеальный узел NUMA для нового процесса можно запросить с помощью расширенного атрибута PROC_THREAD_ATTRIBUTE_PREFERRED_NODE при создании процесса. Подобно идеальному процессору потока, идеальный узел является подсказкой для планировщика, который по возможности назначает новый процесс группе, содержащей запрошенный узел.

Расширенные функции NUMA GetNumaAvailableMemoryNodeEx, GetNumaNodeProcessorMaskEx, GetNumaProcessorNodeEx и GetNumaProximityNodeEx отличаются от своих нерасширенных аналогов тем, что номер узла является значением USHORT, а не UCHAR, чтобы обеспечить потенциально большее количество узлов в системе с более чем 64 логическими процессоры. Кроме того, процессор, указанный или полученный с помощью расширенных функций, включает в себя группу процессоров; процессор, указанный или полученный с помощью нерасширенных функций, относится к группе. Дополнительные сведения см. в справочных разделах по отдельным функциям.

Приложение с поддержкой групп может назначать все свои потоки определенному узлу способом, аналогичным описанному ранее в этом разделе, с использованием соответствующих расширенных функций NUMA. Приложение использует GetLogicalProcessorInformationEx для получения списка всех процессоров в системе. Обратите внимание, что приложение не может установить маску сходства процессов, если только процесс не назначен одной группе, а предполагаемый узел находится в этой группе. Обычно приложение должно вызывать SetThreadGroupAffinity, чтобы ограничить свои потоки предполагаемым узлом.

Поведение, начиная с Windows 10 Build 20348

Начиная с Windows 10 Build 20348 поведение этой и других функций NUMA было изменено для лучшей поддержки систем с узлами, содержащими более 64 процессоров.

Создание «фальшивых» узлов для обеспечения сопоставления 1:1 между группами и узлами привело к запутанному поведению, когда сообщалось о неожиданном количестве узлов NUMA, поэтому, начиная с Windows 10 Build 20348, ОС была изменена, чтобы разрешить несколько групп. быть связанным с узлом, и теперь можно сообщать об истинной топологии NUMA системы.

В рамках этих изменений в ОС ряд API-интерфейсов NUMA были изменены для поддержки отчетов о нескольких группах, которые теперь могут быть связаны с одним узлом NUMA. Обновленные и новые API отмечены в таблице в разделе API NUMA ниже.

Поскольку удаление разделения узлов потенциально может повлиять на существующие приложения, доступно значение реестра, позволяющее вернуться к устаревшему поведению разделения узлов. Разделение узлов можно повторно включить, создав значение REG_DWORD с именем «SplitLargeNodes» со значением 1 в разделе HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\NUMA. Чтобы изменения этого параметра вступили в силу, требуется перезагрузка.

Приложения, обновленные для использования новых функций API, которые сообщают об истинной топологии NUMA, будут по-прежнему правильно работать в системах, в которых разделение крупных узлов было повторно включено с помощью этого раздела реестра.

В следующем примере сначала демонстрируются потенциальные проблемы с таблицами сборки, сопоставляющими процессоры с узлами NUMA с использованием устаревших API привязки, которые больше не обеспечивают полное покрытие всех процессоров в системе, что может привести к неполной таблице. Последствия такой неполноты зависят от содержания таблицы. Если в таблице просто хранится соответствующий номер узла, то это, скорее всего, только проблема производительности, поскольку непокрытые процессоры остаются частью узла 0. Однако, если таблица содержит указатели на структуру контекста для каждого узла, это может привести к разыменованию NULL во время выполнения. .

Далее пример кода иллюстрирует два решения проблемы. Во-первых, необходимо перейти на многогрупповые API сходства узлов (режим пользователя и режим ядра). Второй — использовать KeQueryLogicalProcessorRelationship для прямого запроса узла NUMA, связанного с данным номером процессора.

NUMA-API

В следующей таблице описывается API NUMA.

< tr>
Функция Описание
AllocateUserPhysicalPagesNuma Выделяет страницы физической памяти, которые должны быть сопоставлены и удалены, в любой области Address Windowing Extensions (AWE) указанного процесса и указывает узел NUMA для физической памяти.
CreateFileMappingNuma Создает или открывает именованный или безымянный объект сопоставления файлов для указанного файла и указывает узел NUMA для физической памяти.
GetLogicalProcessorInformation Обновлено в Windows 10 Build 20348. Получает информацию о логических процессорах и соответствующем оборудовании.
GetLogicalProcessorInformationEx Обновлено в Windows 10 Build 20348. Получает информацию о отношения логических процессоров и связанного с ними оборудования.
GetNumaAvailableMemoryNode Получает объем памяти, доступный в указанном узле.
GetNumaAvailableMemory NodeEx Получает объем памяти, доступный в узле, указанном как значение USHORT.
GetNumaHighestNodeNumber Получает узел, который в настоящее время имеет наибольший номер.
GetNumaNodeProcessorMask Обновлено в Windows 10 Build 20348. Получает маску процессора для указанного узла.
GetNumaNodeProcessorMask2 Новое в Windows 10 Build 20348. Извлекает маску многогруппового процессора указанного узла.
GetNumaNodeProcessorMaskEx< /td> Обновлено в Windows 10 Build 20348. Получает маску процессора для узла, указанного как значение USHORT.
GetNumaProcessorNode Получает номер узла для указанного процессора.
GetNumaProcessorNodeEx Получает номер узла как значение USHORT для указанного процессора.
GetNumaProximityNode Получает номер узла для указанного идентификатора близости.
GetNumaProximityNodeEx Получает номер узла как значение USHORT для указанного идентификатора близости.
GetProcessDefaultCpuSetMasks< /td> Новое в Windows 10 Build 20348. Извлекает список наборов ЦП в наборе процессов по умолчанию, который был установлен SetProcessDefaultCpuSetMasks или SetProcessDefaultCpuSets.
GetThreadSelectedCpuSetMasks Новое в Windows 10 Build 20348. Устанавливает выбранное назначение CPU Sets для указанного потока. Это назначение переопределяет назначение процесса по умолчанию, если оно задано.
MapViewOfFileExNuma Сопоставляет представление сопоставления файла с адресным пространством вызывающего процесса. , и указывает узел NUMA для физической памяти.
SetProcessDefaultCpuSetMasks Новое в Windows 10 Build 20348. Устанавливает назначение ЦП по умолчанию для потоков в указанный процесс.
SetThreadSelectedCpuSetMasks Новое в Windows 10 Build 20348. Устанавливает выбранное назначение CPU Sets для указанного потока. Это назначение переопределяет назначение процесса по умолчанию, если оно задано.
VirtualAllocExNuma Резервирует или фиксирует область памяти в пределах виртуального адресного пространства указанного процесса и указывает узел NUMA для физической памяти.

Функция QueryWorkingSetEx может использоваться для получения узла NUMA, на котором размещена страница. Пример см. в разделе Выделение памяти из узла NUMA.

в Windows Server 2016 доступна только половина логических процессоров, проблема в лицензии или в конфигурации NUMA

Используется набор микросхем Intel, два ЦП, 20 ядер в каждом, 40 логических процессоров на ЦП. Следовательно, ОС должна отображать 80 логических процессоров.

Я пытался установить в BIOS плоскую конфигурацию NUMA вместо кластерной, но 80 логических процессоров недоступны для JVM.

Это проблема с Windows Server 2016, использующей новый набор микросхем Intel?
или

Есть ли параметр конфигурации, позволяющий операционной системе видеть все 80 логических процессоров?

или
Есть ли в Windows Server 2016 ограничение на количество ядер?

Вы запускаете серверы внутри виртуальной машины?
Вы пробовали проверять наличие обновлений для сервера, а также драйверов?

1 ответ

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

--пожалуйста, не забудьте принять в качестве ответа, если ответ полезен--

Я уже отправил несколько вопросов поставщику оборудования и сообщу вам, если возникнут проблемы с конфигурацией BIOS.

Я начал читать о том, как Windows Server 2016 имеет возможность парковать и разблокировать логические процессоры, и есть ли в Windows Server 2016 параметры конфигурации, касающиеся доступности всех доступных логических процессоров.

Я использую физический сервер, а не виртуальные машины. Конфигурация показывает два узла Numa, каждый из которых показывает 40 логических процессоров. Я не хочу, чтобы Windows Server 2016 распределял нагрузку между узлами.

Можно установить привязку к приложению, чтобы я мог видеть ее, используя node0 или node 1.

Я полагаю, что в некоторых конфигурациях BIOS это классифицируется как "кластеризованный", и я ищу "плоский" .

Мне кажется, что Windows Server 2016 в настоящее время балансирует нагрузку между узлами Numa. Существуют ли какие-либо команды Windows, чтобы все логические процессоры были доступны для устаревшего приложения?

Мне только что сообщили об особой настройке HP, которая оказывает огромное влияние на производительность. Но прежде чем паниковать, ознакомьтесь с условиями:

  • вы используете серверы Proliant Gen9
  • эти серверы оснащены процессорами Intel Xeon E5 2600v3 и выше
  • у вас есть настройка по умолчанию для оптимизации размера группы NUMA

Если вы не соответствуете этим условиям, можете прекратить чтение и расслабиться. Если нет… возможно, вы захотите продолжить чтение.

Как упоминалось ранее, это влияет не только на Exchange. Кредит принадлежит Николасу, который выделил следующие базы знаний для Lync/SfB:

Другой PFE сообщил мне, что скрипт HealthChecker.ps1 проверяет параметр, сравнивая значения EnvProcessorCount и NumberOfLogicalProcessors

NUMA_15.jpg

NUMA_16.jpg

Это то, что не совсем очевидно. Когда вы проверите запущенные процессы, вы поймете, что большинство из них будут использовать только половину или меньше логических процессоров.

Это означает, что используется только часть ресурсов ЦП, что влияет на общую производительность приложений.

HP уже в 2015 году опубликовала рекомендацию по этому вопросу:

NUMA_14.jpg

Настройкой по умолчанию является Clustered, что в основном приводит к тому, что Windows создаст для каждого физического процессора группу процессоров.

В моем случае это сервер Proliant Gen9 с двумя физическими процессорами по 12 ядер каждый. Таким образом, в моем сценарии у нас будет 2 группы процессоров. По умолчанию это не проблема, но по умолчанию приложение ограничено одной группой и поэтому будет видеть и использовать ТОЛЬКО одну группу. Необходимо добавить код для поддержки нескольких групп.

Вы можете увидеть разницу, изменив график загрузки ЦП в диспетчере задач.

Следующее показано, когда для параметра Оптимизация группы NUMA установлено значение Кластеризация:

NUMA_01.jpg

Красный — это группа процессоров 0, а зеленый — группа процессоров 1. Очевидно, что первая группа процессоров более загружена

NUMA_02.jpg

То же, что и выше, с графом, настроенным на узлы NUMA

А здесь, когда установлено Flat:

NUMA_03.jpg

То же представление, что и выше, но для групповой оптимизации NUMA задано значение FLAT. Вы можете увидеть более равномерное использование ядер.

NUMA_04.jpg

То же, что и выше, с графом, настроенным на узлы NUMA

Есть несколько способов проверить, затронуты вы или нет. Вот несколько примеров:

NUMA_05.jpg

Система с оптимизацией группы NUMA, настроенной на кластеризацию

NUMA_06.jpg

Система с оптимизацией группы NUMA, настроенной на FLAT

Вы можете попробовать установить сходство с диспетчером задач

NUMA_07.jpg

Система с оптимизацией группы NUMA, для которой задано значение Clustered, выдает ошибку при попытке изменить привязку к рабочему процессу IIS

NUMA_08.jpg

Система с оптимизацией группы NUMA, установленной на FLAT, позволяет вам выбирать

Если вы группируете по ProcessorAffinity и имеете процессы со значением 0, это означает, что эти процессы привязаны к группе процессоров 0:

NUMA_09.jpg

16 процессов выполняются с ProcessorAffinity 0, что означает только на группе процессоров 0

NUMA_10.jpg

ни один из процессов не привязан к группе процессоров, так как оба процессора находятся в одной группе

Вы можете определить максимальное значение ProcessorAffinity с помощью следующей команды (заслуга принадлежит BarryCWT и его скрипту):

В нашем примере у меня есть 2 процессора с 12 ядрами каждый. Это означает значение 16777215 для всех процессоров

NUMA_11.jpg

Чтобы определить процессы, которые могут использовать преимущества этой конфигурации, вы можете запросить все процессы с ProcessorAffinity, равным 0

NUMA_12.jpg

Как видите, все рабочие IIS и, что особенно интересно, noderunner. Почему интересно? Когда вы посмотрите на командную строку этого процесса, вы увидите, что это он. который отвечает за индекс биржи и в любом случае очень требователен к процессору

NUMA_13.jpg

Существует простое решение, устраняющее описанную выше проблему. Мне только интересно, почему этот факт не так популярен, как должен быть. С одной стороны, это действительно не очень хорошая идея со стороны HP - испортить ОС по умолчанию, с другой стороны, я нашел некоторые доказательства того, что Microsoft знала об этой проблеме, по крайней мере, для CLR:

В любом случае это затрагивает вас как конечного пользователя, и это касается не только Exchange. Мы наблюдали такое же поведение на других системах без Exchange, и изменение настроек также дало нам прирост производительности.

Оглядываясь назад на последние 2 года, я убежден, что нескольких звонков в службу поддержки и CritSit можно было бы избежать.

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

Читайте также: