вам не нужно отключать Hyper-Threading для защиты от ZombieLoad
Если после предыдущих новостей о ZombieLoad вы в панике выясняете, как отключить функцию Intel Hyper-Threading, чтобы предотвратить использование новой уязвимости, похожей на Spectre и Meltdown, то сделайте глубокий выдох — официальное руководство Intel фактически не рекомендует делать это для большинства случаев.
ZombieLoad аналогична предыдущим атакам по «побочным каналам» (англ. side-channel attack), вынуждающим процессоры Intel открывать доступ к потенциально конфиденциальной информации, которая обычно изолирована и доступна только для использующих её приложений. Исследователи по безопасности сообщили ранее, что эта уязвимость присутствует в большинстве чипов Intel и может быть использована в Windows, MacOS и Linux.
ZombieLoad уже получила в Сети собственный логотип
Intel со своей стороны не согласна с тем, насколько серьёзным оценивается риск ZombieLoad. Компания даже решила дать ZombieLoad другое название — Microarchitectural Data Sampling (MDS) или Микроархитектурная выборка данных.
«Уязвимость MDS основана на выборке данных, просачивающихся из небольших структур в ЦП при использовании локально выполняемого побочного канала спекулятивного исполнения», — объясняют в компании. «Практическая эксплуатация MDS является очень сложным делом. Сама по себе уязвимость не предоставляет злоумышленнику способ выбрать те данные, которые он желает получить».
«MDS уже устранена на аппаратном уровне во многих наших последних процессорах Intel Core 8-го и 9-го поколения, а также в семействе процессоров Intel Xeon Scalable второго поколения
Представители Intel также указали и на то, что исследовательская группа ZombieLoad работала с компанией и другими специалистами в индустрии ПК, чтобы исправить уязвимость, прежде, чем о ней станет публично известно. «
Так что насчёт Hyper-Threading?
Intel заявила, что отключение Hyper-Threading — не обязательный и не единственный вариант для пользователей ПК. На самом деле, по словам Intel, каждый клиент сам решает, что ему делать. Если вы не можете гарантировать безопасность установленного у вас программного обеспечения, тогда да, вероятно, отключить Hyper-Threading — это хорошая идея. Если же программное обеспечение поставляется только из магазина Microsoft, из ИТ-отдела или просто установлено из доверенных, по вашему мнению, источников, вы, вероятно, можете оставить Hyper-Threading включенным.
«Поскольку факторы значительно различаются для разных клиентов, Intel не рекомендует отключать Hyper-Threading, так как важно понимать, что это — не единственный путь обеспечить защиту от MDS и не обеспечивает защиту само по себе», — говорится в заявлении компании.
В то же время реакция производителей операционных систем отличается друг от друга.
Google выпустил исправление для Chrome OS, которое по умолчанию отключает Hyper-Threading для Chromebook. Люди, которые хотят включить технологию мультипоточности обратно, могут сделать это самостоятельно, считают в компании.
Apple выпустила обновление для MacOS Mojave и сообщила, что клиенты компании, особенно требовательные к безопасности, могут отключить Hyper-Threading самостоятельно.
Microsoft заявила, что выпустила патчи для своего программного обеспечения, чтобы сократить вероятность использования MDS, но также отметила, что клиенты должны дополнительно получить обновление прошивок от своих производителей ПК.
В связи с тем, что по большей части поставщики операционных систем решили оставить Hyper-Threading включённым, угроза ZombieLoad, очевидно, не так серьёзна, как это казалось ещё сутки назад. К тому же, до сих пор нет ни одного известного случая использования уязвимости в реальной атаке.
При этом использование патчей без отключения технологии Hyper-Threading почти не снижает производительность процессоров Intel.
Intel демонстрирует, что частичное исправление уязвимости без отключения Hyper-Threading почти не влияет на производительность
Но вы не поверите, если посмотрите на результаты тестирования Intel влияния патчей безопасности на производительность при отключенном Hyper-Threading. Компания утверждает, что исправления безопасности вместе с отключением Hyper-Threading оказывают подозрительно небольшое влияние на производительность.
Результаты тестирования исправления безопасности при отключенном Hyper-Threading
Портал PCWorld категорически не согласен с мнением Intel о том, что отключение Hyper-Threading не представляет особой проблемы, хотя Intel и демонстрирует в своём документе, что производительность практически не изменилась. Проблема состоит в искусственности тестов Intel при отключении Hyper-Threading, поскольку компания не тестировала специфичные многопоточные нагрузки. Если бы Intel взяла тесты Blender, Cinebench или другие, рассчитанные на многоядерные и многопоточные процессоры, мы бы сразу увидели мощный провал в быстродействии.
Чтобы подчеркнуть, насколько важна технология Hyper-Threading, можно просто посмотреть на процессоры Intel i9-9900K за $500 и i7-9700K за $375, главное отличие которых заключается как раз в поддержке Hyper-Threading. Отключение Hyper-Threading на процессорах Intel — это невероятный удар для всех, кому важна многопоточная производительность.
Но есть и хорошая новость для тех, кто использует новейшие процессоры Intel. Как заявили в компании, многие из её последних процессоров 8-го и 9-го поколения уже имеют исправления аппаратного микрокода, поэтому владельцам i9-9900K нет никаких причин отключать Hyper-Threading. Опасность ZombieLoad, очевидно, выше для более старых процессоров.
Лучший способ отключить hyper threading в AWS EC2?
Я провожу несколько тестов бенчмаркинга и хотел бы отключить hyper threading в EC2, чтобы увидеть его влияние на производительность моего тестового приложения.
Один экземпляр моего приложения использует только 1 поток во время выполнения.
Я понимаю, что не могу получить доступ к BIOS машин EC2, чтобы отключить hyper threading, так как все они виртуализированы. Но я использовал команду chcpu
, чтобы отключить половину доступных vCPUs (потоков), чтобы смоделировать среду с отключенной гиперпоточностью.
Для этого бенчмарка я использую C4.xlarge с 4vcpus, пронумерованными логически от 0 до 3.
Я запускаю эту команду sudo chcpu -d 1,3
, которая отключает vCPUs 1 и 3.
При этом я предполагаю, что vCPUs 0 и 1 исходят из одного лежащего в основе голого металлического ядра, а vCPUs 2 и 3-из другого ядра.
Именно здесь я знаю, что мои предположения неверны, поскольку vCPUs 0 и 4 могут исходить из одного и того же голого металлического ядра или все они могут исходить из разных голых металлических ядер.
Есть ли у кого-нибудь лучший способ отключить гиперпоточность в экземплярах EC2?
Кроме того, Amazon перестраивает vCPUs так, чтобы они поступали из разных ядер, когда он обнаруживает, что половина vCPUs отключена?
Поделиться Источник Sri Hari Vignesh 23 января 2017 в 20:47
2 ответа
- Преобразование Hyper V в EC2
Привет всем, у меня есть куча изображений Hyper V VHD файлов и нужно получить их на Amazon Ec2 кто-нибудь знает какой-нибудь способ конвертировать эти файлы в AMI или если amazon имеет собственный способ сделать это? Спасибо!
- Обработка данных в AWS S3 из экземпляра EC2
Мне интересно, как лучше всего обрабатывать огромные объемы изображений, хранящихся в ведрах AWS S3, из экземпляра Ec2, расположенного в той же зоне доступности.
3
Я нашел этот вопрос, когда искал решение.
AWS имеет инструкции для этого здесь
Выполнить lscpu --extended
И вы получите список виртуальных CPUs, а также то, с каким ядром они сопоставляются:
[root@ip-172-31-1-32 ~]# lscpu --extended
CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE
0 0 0 0 0:0:0:0 yes
1 0 0 1 1:1:1:0 yes
2 0 0 2 2:2:2:0 yes
3 0 0 3 3:3:3:0 yes
4 0 0 0 0:0:0:0 yes
5 0 0 1 1:1:1:0 yes
6 0 0 2 2:2:2:0 yes
7 0 0 3 3:3:3:0 yes
(мы хотели бы отключить 4-7), сделайте:
эхо 0 > /sys/devices/system/cpu/cpuN/online
где N
-это виртуальный номер cpu для отключения.
Так…
echo 0 > /sys/devices/system/cpu/cpu4/online
echo 0 > /sys/devices/system/cpu/cpu5/online
echo 0 > /sys/devices/system/cpu/cpu6/online
echo 0 > /sys/devices/system/cpu/cpu7/online
чтобы отключить гиперпотоки и оставить вам 1 vCPU на физическое ядро.
Или используйте этот скрипт:
#!/usr/bin/env bash
for cpunum in $(cat /sys/devices/system/cpu/cpu*/topology/thread_siblings_list | cut -s -d, -f2- | tr ',' '\n' | sort -un)
do
echo 0 > /sys/devices/system/cpu/cpu$cpunum/online
done
Поделиться Brandon 02 мая 2018 в 20:05
1
Страница Типа экземпляра Amazon EC2 содержит определение:
Каждый vCPU представляет собой гиперпространство ядра Intel Xeon, за исключением T2 и m3.medium.
Поэтому, возможно, вы не захотите отключать гиперпоточность.
Смотрите также:
Поделиться John Rotenstein 23 января 2017 в 21:12
Похожие вопросы:
добавление вновь созданного инвентаря AWS EC2 IP в Ansible во время выполнения
У меня есть Ansible playbook run-all.yml, как показано ниже: — — include: aws-ec2-create-instance.yml — include: aws-ec2-install-software.yml Первый .yml создаст экземпляр EC2, а второй .yml…
Как отключить Hyper-V и установить HAXM в Windows 8
Я пытаюсь установить HAXM для android studio, но он показывает ошибку: Теперь в моей системе включен VT-x: после этого я попытался отключить HYPER-V, но когда я пытаюсь через cmd, он показывает…
AWS Lambda для доступа к EC2 с соответствующими настройками группы безопасности
У меня есть мой MongoDB, живущий на AWS EC2, и моя функция Lambda (код python) пытается получить доступ к нему через адрес IP 23. 23.23.23:27017. В нашей компании мы ограничиваем наши экземпляры EC2…
Преобразование Hyper V в EC2
Привет всем, у меня есть куча изображений Hyper V VHD файлов и нужно получить их на Amazon Ec2 кто-нибудь знает какой-нибудь способ конвертировать эти файлы в AMI или если amazon имеет собственный…
Обработка данных в AWS S3 из экземпляра EC2
Мне интересно, как лучше всего обрабатывать огромные объемы изображений, хранящихся в ведрах AWS S3, из экземпляра Ec2, расположенного в той же зоне доступности. Должен ли я загружать изображения,…
Импорт виртуальной машины в EC2 с разделом EFI
Я пытаюсь импортировать изображение Hyper-V в AWS EC2 с помощью команды aws ec2 import-image и столкнулся с проблемой. Погуглив это, я обнаружил, что EC2 Import поддерживает VHDX, но не поддерживает…
Отключить опцию «delete» для объектов S3 в AWS
Я перемещаю файлы из экземпляров EC2 в AWS S3. Я хочу отключить опцию delete в AWS S3 (когда объект выбран), чтобы файлы, которые копируются в AWS S3, были безопасны и не удалялись по ошибке. Я хочу…
ElastiCache на aws EC2
Я реализовал эластичный Поиск, установив его в EC2, а также потребляя управляемый сервис из aws. Существует ли какой-либо аналогичный способ установки ElastiCache в EC2 вместо использования…
Лучший способ запустить Redis/Rejson с HA на AWS
Поскольку AWS & GCP не предоставляет управляемого сервиса ни для одного из модулей Redis. Я с нетерпением жду запуска Redis ReJson с конфигурацией HA на AWS. Это лучший способ настроить его на…
Отключить Hyper-V
Я установил Bluestacks, и когда я пытаюсь открыть его, он говорит Отключите Hyper-V с панели управления Но есть запись под названием Hyper-V в Windows features, чтобы отключить ее.
Как отключить виртуализацию в windows 10. Что такое Hyper Threading? Как включить поддержку в BIOS? Включение виртуализации на процессоре AMD
В одной из тестовых задач понадобилось установить компонент виртуализации Hyper-V на виртуальной машине с ОС Windows 10 (применимо и к Windows Server 2016), запущенной на гипервизоре VMWare ESXi. Т.е. нужно организовать вложенную виртуализацию Hyper-V на VMWare ESXi.
Сначала пару слов в вложенной виртуализации. Вложенная виртуализация (Nested Virtualization ) – возможность запускать гипервизор внутри виртуальной машины на другом гипервизоре. В Hyper-V полноценная поддержка вложенной виртуализации появилась Windows Server 2016 / Windows 10 Anniversary Update, в VMWare технология вложенной виртуализации работает уже давно (появилась еще в ESXi 5.0).
Имеем: хост виртуализации VMWare ESXi 6.0, на нем запущена виртуальная машина с Windows 10 1709.
При попытке установить роль гипервизор Hyper-V (компонент называется Низкоуровневая оболочка Hyper-V ) с помощью функции включения/ отключения компонентов в классической панели управления Windows 10, данная опция оказалась недоступна. В качестве причины указывается:
Hyper-V cannot be installed: The processor does not have the required virtualization capabilities
Чтобы включить вложенную виртуализацию для данной ВМ, откройте настройки виртуальной машины с помощью веб клиента vSphere (ВМ должна быть выключена). В разделе CPU включите опцию «» (эта опция не доступна в “тяжелом” C# клиенте vCenter)
Примечание . В более старых версиях ESXi, в которых отсутствует данная опция, а также в настольном VMWare Workstation аналогичный эффект вызывается за счет добавления следующих опций в конфигурационный файл виртуальной машины (*.vmx).
hypervisor.cpuid.v0 = “FALSE”
mce.enable = “TRUE”
vhv.enable= «TRUE»
В клиенте vSphere данные опции можно добавить в настройках ВМ. Вкладка Options -> General -> Configure parameters . Добавьте две новые строки с данными параметрами (кнопка Add Row ).
Включаем виртуальную машину с Windows 10 и еще раз пытаемся установить роль Hyper-V. Система теперь перестала определять, что она работает внутри другого гипервизора, но теперь появилась другая ошибка:
Hyper-V cannot be installed: the processor dose not support second level address translation (SLAT).
Т.е. процессор виртуальной машины помимо поддержки виртуализации должен поддерживать технологию SLAT — возможность виртуализации страниц памяти и передачи их под прямой контроль гостевой ОС. В терминологии Intel эта фича называется Еxtended Page Tables (EPT ), у AMD — Rapid Virtualization Indexing (RVI ).
Проверим поддержку SLAT процессором с помощью команды:
Команда в разделе «Требования Hyper-V» должна вернуть, что отсутствует поддержка SLAT.
Second Level Address Translation: No
Преобразование адресов второго уровня: Нет
В этом случае нужно изменить параметры процессора виртуальной машины. В веб клиенте в секции CPU/MMU Virtualization нужно выбрать Hardware CPU and MMU .
В «классическом» клиенте аналогичная опция находится на вкладке Options в секции CPU/MMU Virtualization и называется ””.
Запустите виртуальную машину Windows 10 и убедитесь, что ее процессор теперь поддерживает SLAT. Теперь можно установить все компоненты роли Hyper-V и запускать внутри виртуалки Win10 собственные виртуальные машины.
Добрый день. Благодаря моему сайту, я постоянно ковыряюсь в операционной системе и, конечно же, со временем я стал искать способ, чтобы я смог писать инструкции, но при этом меньше вносить изменений в операционную систему моего рабочего компьютера… Решению пришло элементарное — виртуальная машина. Это эмуляция полностью (или почти полностью) рабочей операционной системы, которая запускается на вашей операционной системе. Я попробовал VirtualBox, VMware Workstation и Hyper-V… VirtualBox — бесплатная и не такая удобная, как две остальные. VMware Workstation — отличная по всем позициям, но платная. Hyper-V — вполне сбалансированная виртуальная машина, которая с серверных операционных систем перекочевала в Windows 8 и требует просто включения для доступа. Поэтому выбор пал на последнюю: просто, бесплатно и со вкусом. Windows 10 Professional у меня, кстати, лицензионная, но досталась бесплатно благодаря программе Windows Insider (полгода страданий с багами и лицензия в кармане)).
Я наверное сразу предупрежу, что при включении компонентов Hyper-V, вы не сможете пользоваться другими виртуальными машинами. Итак, начнём:
Жмем правой клавишей мыши по углу «Пуск» и выбираем «Программы и компоненты».
В левой панели выбираем «Включение и отключение компонентов Windows»
Теперь открываем меню «Пуск» → «Все программы» → ищем каталог «Средства администрирования» и в нём находим «Диспетчер Hyper-V’.
Запустив его, мы увидим консоль управления виртуальными машинами, у меня уже есть одна созданная машина, на которой находится музыкальный бот для моего сервера TeamSpeak. Но сейчас создаем ещё одну машину, чтобы показать как это делается. Но для начала давайте сразу создадим «Виртуальную сеть», чтобы у нашей ВМ был интернет. Для этого жмем по имени компьютера в левом столбце, а в правом выбираем «Диспетчер виртуальных коммутаторов».
Этот абзац я добавляю через два месяца, после написания статьи. Всё потому что, ниже я описал более простой способ подключения виртуальной машины к интернету, но сам пользуюсь чуть другим. Разница в них в том, что в способе, который описан здесь, основной доступ получает ВМ, а компьютер работает уже после неё и это не правильно, но проще настроить. Если вы используете компьютер не только для работы виртуальных машин, выбирайте «Внутренняя» → «Создать виртуальный коммутатор» и ставим галочку на пункт «Разрешить идентификацию». Доступ к интернету настраивается с помощью .
Слева выбираем «Создать виртуальный сетевой коммутатор», справа «Внешняя» и жмем «Создать виртуальный коммутатор».
Вводим название для сети, в разделе «Внешняя сеть» выбираем ваш сетевой адаптер и жмем ОК.
Теперь создаем виртуальную машину. Жмем «Создать» — «Виртуальная машина».
Откроется «Мастер создания создания виртуальной машины «, на первом окне просто жмем «Далее».
Указываем название для будущей виртуальной машины. При желании, так же можно изменить место хранения виртуальной машины, у меня изменено место в настройках, чтобы не засорять SSD и все виртуальные машины хранятся на одном из жестких дисков. Жмем «Далее».
Здесь все просто, читаем что написано, если у вас материнская плата без поддержки UEFI или вы собираетесь поставить 32 битную систему, то выбираем первый пункт, если условия для использования второго поколения совпадают с вашими возможностями, выбираем второе поколение. Я хочу поставить 32битную Ubuntu, для одной из следующих статей, поэтому выбираю первое поколение Hyper-V. Жмем далее.
Объем виртуальной памяти. В случае Windows желательно 2-3Гб для 32битных систем и 3-4 Гб для 64 битных систем. Больше для виртуальной машины не имеет смысла, а меньше может сказываться на работе системы. Так же можно использовать «Динамическую память», в данном случае для ВМ будет выделяться памяти столько, сколько ей необходимо.
Hyper-V представляет собой компонент операционной системы, который по умолчанию отключен. Для включения компонента Hyper-V необходим 64-битный процессор производства Intel или AMD с поддержкой инструкций NX и SSE2. Процессор должен поддерживать технологии виртуализации (Intel VT-x или AMD-V ), а также технологию преобразования адресов второго уровня (Second Level Address Translation, SLAT). Проверить процессор на наличие необходимых технологий можно утилитой Coreinfo от Sysinternals, процедура проверки подробно описана
Также перед включением Hyper-V необходимо проверить, включены ли эти технологии в BIOS/UEFI.
графический интерфейс
Чтобы включить компонент Hyper-V в графическом интерфейсе нажмите сочетание клавиш + R и в открывшемся окне введите OptionalFeatures и нажмите клавишу Enter↵
В открывшемся окне Компоненты Windows находим пункт Hyper-V . Кроме самой платформы Hyper-V сюда входят средства для ее управления — графическая оснастка Hyper-V Manager и модуль Hyper-V для PowerShell . Раскрываем его, отмечаем все компоненты и нажимаем кнопку OK
Для отключения Hyper-V, снимите флажок возле пункта Hyper-V
Чтобы завершить установку и внести запрошенные изменения, необходимо перезагрузить компьютер.
Включение или отключение Hyper-V используя
Windows PowerShell
Компонент Hyper-V можно включить используя консоль Windows PowerShell
От имени администратора
и выполните следующую команду:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V –All
Y
Для того чтобы отключить компонент Hyper-V используя Windows PowerShell, выполните команду:
Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
Для завершения операции перезагрузите Windows, нажав клавишу Y
Включение или отключение Hyper-V используя DISM
Для включения компонента Hyper-V используя DISM , запустите командную строку от имени администратора и выполните команду:
dism. exe /Online /Enable-Feature:Microsoft-Hyper-V /All
Для завершения операции перезагрузите Windows, нажав клавишу Y
Для отключения компонента Hyper-V используя >DISM, запустите командную строку от имени администратора
и выполните команду:
dism.exe /Online /Disable-Feature:Microsoft-Hyper-V-All
Для завершения операции перезагрузите Windows, нажав клавишу Y
В диспетчере Hyper-V предоставлены средства и сведения, которые можно использовать для управления сервером виртуализации. Технология виртуализации позволяет на одном физическом компьютере создавать несколько виртуальных машин и параллельно работать с ними. Некоторые приложения, помимо самого компонента Hyper-V, также могут использовать технологию виртуализации.
Данная статья расскажет как выключить виртуализацию Hyper-V Windows 10. Так как этот функционал необходим далеко не всем, но он присутствует. Хотя по умолчанию на оригинальной сборке операционной системы Windows 10 компонент Hyper-V отключен. Поэтому ранее мы уже рассматривали .
Для управления виртуальными машинами рекомендуется использовать диспетчер виртуальных машин Hyper-V. Диспетчер Hyper-V позволяет создавать и настраивать работу виртуальных машин. Поэтому перед отключением Hyper-V в Windows 10 необходимо сначала остановить работу ранее созданных виртуальных машин.
Первым делом заходим в Диспетчера Hyper-V и в разделе виртуальные машины нажимаем правой кнопкой мышки на запущенную новую виртуальную машину и в контекстном меню выбираем пункт Выключить…
Программы и компоненты
Windows PowerShell
С помощью оболочки Windows PowerShell можно не только включать и отключать компоненты системы, а и .
Командная строка
- Запускаем командную строку нажав Win+X и выбрав пункт Командная строка (администратор) .
- Дальше выполняем команду: dism /online /disable-feature /featurename:microsoft-hyper-v-all .
- После завершения процесса отключения подтверждаем перезагрузку компьютера нажав кнопку Y .
Заключение
Выключить виртуализацию Hyper-V в Windows 10 возможность есть, поскольку по умолчанию компонент Hyper-V отключен и виртуализация не используется. А также возможность одновременно использовать несколько виртуальных машин нужна далеко не многим пользователям. Поэтому мы рассмотрели как отключить службу управления виртуальными машинами, потом уже и сам компонент Hyper-V.
Возникла необходимость удаленного управления сервером с запущенной ролью Hyper-V с компьютера под управлением Window 10 (личный ноутбук), который не состоит в домене. Чтобы такая схема заработала, нужно выполнить следующие настройки на стороне сервер-гипервизора и клиента.
Настройка сервера Hyper-V
На сервере Hyper-V (Windows Server 2016) нужно включить удаленное управление PowerShell Remoting и открыть соответствующие порты на файерволе. Включаем службу WinRM командой
Enable-PSRemoting
Теперь нужно разрешить подключение со всех клиентов (из публичных сетей в той же самой локальной подсети) и разрешить передавать и получать CredSSP:
Enable-WSManCredSSP -Role Server
Включим правило межсетевого экрана WinRM-HTTP-In-TCP-Public.
Set-NetFirewallRule -Name «WinRM-HTTP-In-TCP-Public» -RemoteAddress Any
Проверьте удаленную доступность порта WinRM (TCP 5985) на сервере
Test-NetConnection -ComputerName target_name -Port 5985
Настройка клиента Windows 10 для подключения к серверу Hyper-V
В первую очередь на компьютере с Windows 10 нужно установить консоль управления Hyper-V. Для этого в панели управления в разделе программ нужно нажать кнопку Turn windows features on or off и в разделе Hyper-V-> Hyper-V Management Tools -> выбрать Hyper-V GUI Management Tools .
Проверьте, что тип сетевого подключения у вас установлен на Private.
Откройте консоль PowerShell с правами администратора и выполните следующие команды:
Enable-PSRemoting
Set-Item WSMan:\localhost\Client\TrustedHosts -Value «Hyper-V-FQDN»
Enable-WSManCredSSP -Role client -DelegateComputer «Hyper-V-FQDN»
Теперь в редакторе локальной групповой политики (gpedit) нужно включить NTLM аутентификацию на недоменных компьютерах. Перейдите в раздел Computer Configuration > Administrative Template > System > Credentials Delegation и включите политику, добавьте в нее строку .
На компьютере Windows 10 откройте консоль Hyper-V Manager, щелкните ПКМ по “Hyper-V Manager ” и выберите Connect to Server… Введите имя сервера и отметьте галку Connect as another user и укажите имя пользователя с правами на сервере Hyper-V.
После этого, консоль должна отобразить список ВМ, запущенных на хосте Hyper-V.
Рекомендуем также
Отключить гиперпоточность в Ubuntu — UbuntuGeeks
Это интересный вопрос. Наверное, один из самых интересных в месяцах для меня лично. Как и OP, нет возможности отключить Hyper Threading в моей старой BIOS (изобретен 2012, обновлено 2016 или около того).
Ошибки Hyper-Threading в Intel Skylake и Kaby Lake:
Anyone using Intel Skylake or Kaby Lake processors must read the bug reports about Hyper Threading that surfaced a couple months ago. This UK Register story spells out how Debian Developers spotted how Hyper Threading can crash and corrupt the machine.
В прошлом году у Skylake появилось множество проблем, о которых сообщалось в Ask Ubuntu, и каждый задается вопросом, как определить, какие проблемы могут быть вызваны ошибками Hyper Threading.
Этот ответ разделен на три части:
- Отображение процессоров при выключении / включении Hyper-Threading
- Сценарий Bash для автоматизации включения / выключения гиперпотока
- Конки сбой, если Hyper Threading выключен до его запуска
Ниже вы можете увидеть использование ЦП при выключении гиперпотока и провести стресс-тест ЦП. Примерно через 10 секунд повторяется один и тот же сценарий с включенной гиперпотокой. Наконец, спустя 10 секунд после этого сценарий запускается с гиперпотоком, выключенным снова:
Дисплейразделеннадвараздела:
- Влевойполовинеокнатерминалавызываетсяскрипт
set-hyper-threading
спараметром0(выкл. ),азатем1(вкл.). - Вправойполовине
conky
отображаетпроцентноеиспользованиеCPUсCPUS1до8.
ПервыйзапускскриптаHyperThreadingoff
ПрипервомзапускескриптаCPUNumbers2,4,6&8(согласноКонки)замороженына3%,2%,2%и2%.ЧислоCPU1,3,5и7достигает100%,покавыполняетсястресс-тест.
ТопологияЦПотображаетсясотключениемгиперпотока,исообщаютсятолькочетыреядра:
/sys/devices/system/cpu/cpu0/topology/core_id:0/sys/devices/system/cpu/cpu2/topology/core_id:1/sys/devices/system/cpu/cpu4/topology/core_id:2/sys/devices/system/cpu/cpu6/topology/core_id:3
ВторойзапускскриптаHyperThreadingна
Вовторойраз,когдазапускаетсяскрипт,Hyper-Threadingвключается,ивсеномераCPU1-8достигают100%,покавыполняетсястресс-тест.
ТопологияCPUотображаетсясвключеннойподдержкойгиперпотока,исообщалосьтолькочетыреядраплюсчетыревиртуальныхядра:
/sys/devices/system/cpu/cpu0/topology/core_id:0/sys/devices/system/cpu/cpu1/topology/core_id:0/sys/devices/system/cpu/cpu2/topology/core_id:1/sys/devices/system/cpu/cpu3/topology/core_id:1/sys/devices/system/cpu/cpu4/topology/core_id:2/sys/devices/system/cpu/cpu5/topology/core_id:2/sys/devices/system/cpu/cpu6/topology/core_id:3/sys/devices/system/cpu/cpu7/topology/core_id:3
ТретийзапускскриптаHyperThreadingoff
Обратитевнимание,чтопослезавершениявторогоскриптаCPU2,4,6и8работаютнахолостомходуна4%,2%,3%,4%. Этоважно,потомучтовтретьемтестовомрежимевыключениеHyper-Threadingпоказывает,чтопроцентыCPUзамерзаютна4%,2%,3%,4%,ане3%,2%,2%и2%отпервоготеста.
Поэтомуотключитьгиперпоточность,похоже,простозаблокируетвиртуальныепроцессорывтекущемсостоянии.
Такжеобратитевнимание,есливывключитеиливыключитеHyper-Threading,сценарийпо-прежнемуотображает»ПоддержкаHyperThreading».
Припросмотресценариянижепомните,чтоConkyуказываетпроцессорыот1до8,ноLinuxназываетпроцессорыот0до7.
#!/bin/bash # NAME: set-hyper-threading
# PATH: /usr/local/bin
# DESC: Turn Hyper threading off or on. # DATE: Aug. 5, 2017. # NOTE: Written Part of testing for Ubuntu answer:
# https://ubuntugeeks.com/questions/42269/disable-hyper-threading-in-ubuntu"0" turn off hyper threading, "1" turn it on. if [[ $# -ne 1 ]]; then
echo 'One argument required. 0 to turn off hyper-threading or'
echo '1 to turn hyper-threading back on'
exit 1
fi echo $1 > /sys/devices/system/cpu/cpu1/online
echo $1 > /sys/devices/system/cpu/cpu3/online
echo $1 > /sys/devices/system/cpu/cpu5/online
echo $1 > /sys/devices/system/cpu/cpu7/online grep "" /sys/devices/system/cpu/cpu*/topology/core_id grep -q '^flags. *[[:space:]]ht[[:space:]]' /proc/cpuinfo && \
echo "Hyper-threading is supported" grep -E 'model|stepping' /proc/cpuinfo | sort -u stress --cpu 8 --io 1 --vm 1 --vm-bytes 128M --timeout 10s
ПРИМЕЧАНИЕ. Программа stress
встроена во все системы Debian, которые Ubuntu является производным от. Поэтому вам не нужно загружать и устанавливать любые пакеты для запуска этого скрипта в Ubuntu.
Если у вас есть двухъядерный процессор, вам нужно удалить (или прокомментировать#
) строки, управляющие номерами процессоров 5 и 7.
Подтвердите Привет-Ангел для строки bash grep "" /sys/devices/system/cpu/cpu*/topology/core_id
, отображающей топологию CPU.
Чтобы получить CPU 2, 4, 6, 8 до минимального использования, я попытался отключить Hyper-Threading во время загрузки. Я использовал этот скрипт для этого:
# NAME: /etc/cron.d/turn-off-hyper-threading
# DATE: Auguust 5, 1017
# DESC: This turns off CPU 1, 3, 5 & 7
# NOTE: Part of testing for Ubuntu answer:
# https://ubuntugeeks. com/questions/42269/disable-hyper-threading-in-ubuntu"%s/", $1}' /proc/loadavg; grep -c processor /proc/cpuinfo;) | bc -l | cut -c1-4} ${execpi .001 (awk '{printf "%s/", $2}' /proc/loadavg; grep -c processor /proc/cpuinfo;) | bc -l | cut -c1-4} ${execpi .001 (awk '{printf "%s/", $3}' /proc/loadavg; grep -c processor /proc/cpuinfo;) | bc -l | cut -c1-4}
${color1}NVIDIA ${color}-GPU ${color green}${nvidia gpufreq} Mhz ${color}-Memory ${color green}${nvidia memfreq} Mhz
${color1}GT650M ${color}-Temp ${color green}${nvidia temp}°C ${color}-Threshold ${color green}${nvidia threshold}°C
${color orange}${voffset 2}${hr 1}
ПРИМЕЧАНИЕ. Код Nvidia выше никогда не тестировался, потому что у меня еще нет графического ядра Nvidia под Ubuntu. Любой год скоро:)
настройки и требования BIOS для…
Технология Intel® Hyper-Threading (Intel® HT) обеспечивает два вычислительных потока для каждого физического ядра. Приложения с большим количеством потоков могут выполнять больше работы параллельно, выполняя задачи быстрее.
Отображение физических и логических процессоров на экране публикации
Физический подразумевается, когда количество процессоров указано на экране BIOS POST. Количество процессоров должно указывать на количество логических процессоров только в том случае, если оно указано явным образом. В системе BIOS должно распознаться два логических процессора, но только один физический процессор. Intel® настольные ПК/серверные платы, поддерживающие технологию Hyper-Threading, будут отображать только один физический процессор во время тестирования системы.
Опции настройки BIOS для процессоров с технологией Hyper-Threading
Для настройки Intel® настольные ПК/серверные платы — главное меню программы BIOS Setup.
- Находится в том же окне меню, которое имеет тип процессора, тактовую частоту процессора, тактовую частоту системной шины и другие связанные с ними поля процессора.
- Текст варианта установки
- Это поле называется технологией Hyper-Threading.
- Установка параметров настройки
- Значения параметров установки включены и отключены.
- Текст справки о параметрах установки
Опции настройки BIOS для системных плат Intel® для настольных ПК
Если процессор Intel® без технологии Hyper-Threading не обнаружен:
- Опция настройки технологии Hyper-Threading неактивна (или удалена)
- Значение параметра «технология Hyper-Threading» принудительно отключено
Если процессор Intel® с технологией Hyper-Threading обнаружен:
- Отображается опция настройки технологии Hyper-Threading
- Потребитель в программе BIOS Setup может изменить режим настройки технологии Hyper-Threading
Hyper Threading или сверехпоточность для процессора
Если вы внимательно просматривали содержимое BIOS Setup, то вы вполне могли заметить там опцию CPU Hyper Threading Technology. И возможно, задавались вопросом, что же такое Hyper Threading(Сверехпоточность или гиперпоточность, официальное название — Hyper Threading Technology, HTT), и для чего нужна данная опция.
Hyper Threading – это сравнительно новая технология, разработанная компанией Intel для процессоров архитектуры Pentium. Как показала практика, использование технологии Hyper Threading позволило во многих случаях увеличить производительность CPU приблизительно на 20-30%.
Содержание статьи
Зачем разработчикам процессоров потребовалась технология
Тут нужно вспомнить, как же вообще работает центральный процессор компьютера. Стоит вам включить компьютер и запустить на нем какую-либо программу, как CPU начинает читать содержащиеся в ней инструкции, записанные в так называемом машинном коде. Он поочередно читает каждую инструкцию и выполняет их одну за другой.
Однако многие программы имеют сразу несколько одновременно выполняющихся программных процессов. Кроме того, современные операционные системы позволяют пользователю иметь сразу несколько запущенных программ. И не просто позволяют – на самом деле, ситуация, когда в операционной системе выполняется один-единственный процесс, на сегодняшний день совершенно немыслима. Поэтому процессоры, разработанные по старым технологиям, имели низкую производительность в тех случаях, когда требовалось обрабатывать сразу несколько одновременных процессов.
Разумеется, для того чтобы решить эту проблему, можно включить в состав системы сразу несколько процессоров или процессоров, использующих несколько физических вычислительных ядер. Но такое усовершенствование получается дорогим, технически сложным и не всегда эффективным с практической точки зрения.
История разработки
Поэтому было принято решение создать такую технологию, которая позволяла бы обрабатывать несколько процессов на одном физическом ядре. При этом для программ дело будет внешне выглядеть так, как будто в системе существует сразу несколько процессорных ядер.
Поддержка технологии Hyper Threading впервые появилась в процессорах в 2002 году. Это были процессоры семейства Pentium 4 и серверные процессоры Xeon с тактовой частотой выше 2 ГГц. Первоначально технология носила кодовое название Jackson, но потом ее название сменилось на более понятное для широкой публики Hyper Threading – что можно перевести примерно как «сверхпоточность».
При этом, по утверждению Intel, поверхность кристалла процессора, поддерживающего Hyper Threading, увеличилась по сравнению с предшествующей моделью, ее не поддерживающей, всего на 5% при увеличении производительности в среднем на 20%.
Несмотря на то, что технология в целом хорошо себя зарекомендовала, тем не менее, по ряду причин корпорация Intel решила отключить технологию Hyper Threading в сменивших Pentium 4 процессорах семейства Core 2. Hyper Threading, однако, позже снова появилась в процессорах архитектур Sandy Bridge, Ivy Bridge и Haswell, будучи в них существенно переработанной.
Суть технологии
Понимание технологии Hyper Threading важно, поскольку она является одной из ключевых функций в процессорах Intel.
Несмотря на все успехи, которые были достигнуты процессорами, у них есть один существенный недостаток – они могут исполнять лишь одну инструкцию одновременно. Допустим, что вы запустили одновременно такие приложения, как текстовый редактор, браузер и Skype. С точки зрения пользователя, это программное окружение можно назвать многозадачным, однако, с точки зрения процессора это далеко не так. Ядро процессора будет выполнять по-прежнему одну инструкцию за определенный промежуток времени. При этом в задачу процессора входит распределение ресурсов процессорного времени между отдельными приложениями. Поскольку это последовательное выполнение инструкций происходит чрезвычайно быстро, вы этого не замечаете. И вам кажется, что никакой задержки не существует.
Но задержка все-таки есть. Задержка появляется из-за способа снабжения процессора данными каждой из программ. Каждый поток данных должен поступать в определенное время и обрабатываться процессором индивидуально. Технология Hyper Threading делает возможным каждому ядру процессора планировать обработку данных и распределять ресурсы одновременно для двух потоков.
Следует отметить, что в ядре современных процессоров существует сразу несколько так называемых исполнительных устройств, каждое из которых предназначено для выполнения определенной операции над данными. При этом некоторая часть этих исполнительных устройств во время обработки данных одного потока может простаивать.
Чтобы понять эту ситуацию, можно привести аналогию с рабочими, работающими в сборочном цехе на конвейере и обрабатывающими разнотипные детали. Каждый рабочий снабжен определенным инструментом, предназначенным для выполнения какой-либо задачи. Однако если детали поступают в неправильной последовательности, то случаются задержки – потому, что часть рабочих ждет своей очереди, чтобы начать работу. Hyper Threading можно сравнить с дополнительной лентой конвейера, которую проложили в цехе для того, чтобы простаивающие раньше рабочие выполняли бы свои операции независимо от других. Цех по-прежнему остался один, но детали обрабатываются более быстро и эффективно, поэтому сокращается время простоя. Таким образом, Hyper Threading позволила включить в работу те исполнительные устройства процессора, которые простаивали во время выполнения инструкций из одного потока.
Стоит вам включить компьютер с двуядерным процессором, поддерживающим Hyper Threading и открыть Windows Task Manager (Диспетчер задач) на вкладке Performance (Быстродействие), как вы обнаружите в нем четыре графика. Но это отнюдь не означает, что на самом деле у вас 4 ядра процессора.
Это происходит потому, что Windows считает, что у каждого ядра есть по два логических процессора. Термин «логический процессор» звучит забавно, но он означает процессор, которого физически не существует. Windows может посылать потоки данных к каждому логическому процессору, но на самом деле выполняет работу только одно ядро. Поэтому одно ядро с технологией Hyper Threading существенно отличается от раздельных физических ядер.
Для работы технологии Hyper Threading требуется ее поддержка со стороны следующих аппаратных и программных средств:
- Процессор
- Чипсет материнской платы
- BIOS
- Операционная система
Преимущества технологии
Теперь рассмотрим следующий вопрос – насколько все же технология Hyper Threading увеличивает производительность компьютера? В повседневных задачах, таких, как Интернет-серфинг и набор текстов, преимущества технологии не столь очевидны. Однако следует иметь в виду, что сегодняшние процессоры настолько мощны, что повседневные задачи редко загружают процессор полностью. Кроме того, многое зависит еще и от того, как написано программное обеспечение. У вас может быть запущено сразу несколько программ, однако, посмотрев на график загрузки, вы увидите, что используется только один логический процессор на ядро. Это происходит потому, что программное обеспечение не поддерживает распределение процессов между ядрами.
Однако в более сложных задачах Hyper Threading может быть более полезной. Такие приложения, как программы для трехмерного моделирования, трехмерные игры, программы кодирования/декодирования музыки или видео и многие научные приложения написаны таким образом, чтобы максимально использовать многопоточность. Поэтому вы можете ощутить преимущества быстродействия компьютера с функцией Hyper Threading, играя в сложные игры, слушая музыку или просматривая фильмы. Повышение производительности может при этом достигать 30%, хотя могут случаться и такие ситуации, когда Hyper Threading не дает преимущества вовсе. Иногда, в том случае, если оба потока загружают все исполнительные устройства процессора одинаковыми заданиями, может даже наблюдаться и некоторое снижение производительности.
Возвращаясь к наличию в BIOS Setup соответствующей опции, позволяющей установить параметры Hyper Threading, то в большинстве случаев рекомендуется включить данную функцию. Впрочем, вы всегда сможете ее отключить, если окажется, что компьютер работает с ошибками или даже имеет меньшую производительность, чем вы ожидали.
Заключение
Поскольку максимальное повышение производительности при использовании Hyper Threading составляет 30%, то нельзя сказать, что технология эквивалентна удвоению количества ядер процессора. Тем не менее, Hyper Threading – это полезная опция, и вам, как владельцу компьютера, она не помешает. Ее преимущество особо заметно, например, в таких случаях, когда вы редактируете мультимедиа-файлы или используете компьютер в качестве рабочей станции для таких профессиональных программ, как Photoshop или Maya.
Порекомендуйте Друзьям статью:
16.04 — Отключить гиперпоточность в Ubuntu
Вступление
Это интересный вопрос. Наверное, один из самых интересных за месяцы лично для меня. Как и OP, в моем старом BIOS нет опции отключения Hyper Threading (изобретена в 2012 году, обновлена в 2016 году или около того).
Ошибки Hyper-Threading в Intel Skylake и Kaby Lake:
Любой, кто использует процессоры Intel Skylake или Kaby Lake , должен прочитать сообщения об ошибках о Hyper Threading, появившаяся пару месяцев назад. В этой K Register истории рассказывается, как разработчики Debian обнаружили, как Hyper Threading может привести к сбою и повреждению компьютера.
За последний год в Ask Ubuntu сообщалось о множестве проблем со Skylake, и возникает вопрос, как определить, какие проблемы могли быть вызваны ошибками Hyper Threading.
Этот ответ делится на три части:
- Отображение процессоров, когда Hyper-Threading выключен/включен
- Скрипт Bash для автоматизации включения/выключения гиперпоточности
- Conky Сбои, если Hyper Threading отключен до его запуска
Отображение процессоров, когда Hyper-Threading выключен/включен
Ниже вы можете увидеть загрузку ЦП, когда гиперпоточность отключена и выполняется нагрузочный тест ЦП. Примерно через 10 секунд тот же сценарий повторяется с включенной гиперпоточностью. Наконец, через 10 секунд скрипт запускается с отключенной гиперпоточностью:
Дисплей разделен на две части:
- В левой половине окна терминала вызывается скрипт
set-hyper-threading
с параметром 0 (выкл) и затем 1 (вкл). - В правой части
conky
отображает процент использования ЦП от 1 до 8.
Первый скрипт запускает Hyper Threading
При первом запуске скрипта номера ЦП 2, 4, 6 и 8 (по словам Конки) замораживаются на 3%, 2%, 2% и 2%. При выполнении стресс-теста номера ЦП 1, 3, 5 и 7 достигают 100%.
Топология ЦП отображается с отключенной гиперпоточностью, и сообщается только о четырех ядрах:
/sys/devices/system/cpu/cpu0/topology/core_id:0
/sys/devices/system/cpu/cpu2/topology/core_id:1
/sys/devices/system/cpu/cpu4/topology/core_id:2
/sys/devices/system/cpu/cpu6/topology/core_id:3
Второй скрипт запускает Hyper Threading
Во второй раз, когда скрипт запускается, Hyper-Threading включается, и все процессорные номера 1-8 увеличиваются до 100% во время стресс-теста.
Топология ЦП отображается с включенной гиперпоточностью, и сообщается только о четырех ядрах плюс и четырех виртуальных ядрах:
/sys/devices/system/cpu/cpu0/topology/core_id:0
/sys/devices/system/cpu/cpu1/topology/core_id:0
/sys/devices/system/cpu/cpu2/topology/core_id:1
/sys/devices/system/cpu/cpu3/topology/core_id:1
/sys/devices/system/cpu/cpu4/topology/core_id:2
/sys/devices/system/cpu/cpu5/topology/core_id:2
/sys/devices/system/cpu/cpu6/topology/core_id:3
/sys/devices/system/cpu/cpu7/topology/core_id:3
Третий скрипт запускает Hyper Threading
Обратите внимание, как после окончания второго сценария процессоры 2, 4, 6 и 8 работают на холостом ходу 4%, 2%, 3%, 4%. Это важно, потому что в третьем тесте отключение Hyper-Threading показывает процент загрузки процессора, зафиксированный на уровне 4%, 2%, 3%, 4%, а не 3%, 2%, 2% и 2% от первого теста.
Поэтому отключение гиперпоточности просто останавливает виртуальные процессоры в текущем состоянии.
Также обратите внимание, что независимо от того, включен ли Hyper-Threading или нет, сценарий по-прежнему отображает «Hyper-Threading Supported».
Скрипт Bash для автоматизации включения/выключения гиперпоточности
При просмотре приведенного ниже сценария имейте в виду, что Conky нумерует ЦП от 1 до 8, а Linux нумерует ЦП от 0 до 7.
#!/bin/bash
# NAME: set-hyper-threading
# PATH: /usr/local/bin
# DESC: Turn Hyper threading off or on.
# DATE: Aug. 5, 2017.
# NOTE: Written Part of testing for Ubuntu answer:
# https://askubuntu.com/questions/942728/disable-hyper-threading-in-ubuntu/942843#942843
# PARM: 1="0" turn off hyper threading, "1" turn it on.
if [[ $# -ne 1 ]]; then
echo 'One argument required. 0 to turn off hyper-threading or'
echo '1 to turn hyper-threading back on'
exit 1
fi
echo $1 > /sys/devices/system/cpu/cpu1/online
echo $1 > /sys/devices/system/cpu/cpu3/online
echo $1 > /sys/devices/system/cpu/cpu5/online
echo $1 > /sys/devices/system/cpu/cpu7/online
grep "" /sys/devices/system/cpu/cpu*/topology/core_id
grep -q '^flags. *[[:space:]]ht[[:space:]]' /proc/cpuinfo && \
echo "Hyper-threading is supported"
grep -E 'model|stepping' /proc/cpuinfo | sort -u
stress --cpu 8 --io 1 --vm 1 --vm-bytes 128M --timeout 10s
ПРИМЕЧАНИЕ: Программа stress
встроена во все системы Debian, производная Ubuntu. Поэтому вам не нужно загружать и устанавливать какие-либо пакеты для запуска этого скрипта в Ubuntu.
Если у вас двухъядерный процессор, вам нужно удалить (или закомментировать с #
) строки, управляющие процессорами с номерами 5 и 7.
Благодарим за Hi-Angel для строки bash grep "" /sys/devices/system/cpu/cpu*/topology/core_id
, отображающей топологию процессора.
Conky Сбои, если Hyper Threading отключен до его запуска
Чтобы получить максимально возможную загрузку процессоров 2, 4, 6, 8, я попытался отключить Hyper-Threading во время загрузки. Я использовал этот скрипт для этого:
# NAME: /etc/cron. d/turn-off-hyper-threading
# DATE: Auguust 5, 1017
# DESC: This turns off CPU 1, 3, 5 & 7
# NOTE: Part of testing for Ubuntu answer:
# https://askubuntu.com/questions/942728/disable-hyper-threading-in-ubuntu/942843#942843
# BUGS: Conky crashes with Segmentation Fault when CPU 2,4,6 & 8 (as conky calls them)
# are off-line.
#
Shell=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
#
# @reboot root echo 0 > /sys/devices/system/cpu/cpu1/online
# @reboot root echo 0 > /sys/devices/system/cpu/cpu3/online
# @reboot root echo 0 > /sys/devices/system/cpu/cpu5/online
# @reboot root echo 0 > /sys/devices/system/cpu/cpu7/online
Однако conky
завершается с ошибкой сегментации, если при запуске гиперпоточность отключена. Поэтому мне пришлось закомментировать четыре строки @reboot
в скрипте.
Conky Code для отображения процента использования процессора и коэффициента загрузки
Если вы заинтересованы в настройке подобного дисплея в Conky, вот соответствующий фрагмент кода:
${color orange}${voffset 2}${hr 1}
${color2}${voffset 5}Intel® i-7 3630QM 3. 4 GHz: ${color1}@ ${color green}${freq} MHz
${color}${goto 13}CPU 1 ${goto 81}${color green}${cpu cpu1}% ${goto 131}${color3}${cpubar cpu1 18}
${color}${goto 13}CPU 2 ${goto 81}${color green}${cpu cpu2}% ${goto 131}${color3}${cpubar cpu2 18}
${color}${goto 13}CPU 3 ${goto 81}${color green}${cpu cpu3}% ${goto 131}${color3}${cpubar cpu3 18}
${color}${goto 13}CPU 4 ${goto 81}${color green}${cpu cpu4}% ${goto 131}${color3}${cpubar cpu4 18}
${color}${goto 13}CPU 5 ${goto 81}${color green}${cpu cpu5}% ${goto 131}${color3}${cpubar cpu5 18}
${color}${goto 13}CPU 6 ${goto 81}${color green}${cpu cpu6}% ${goto 131}${color3}${cpubar cpu6 18}
${color}${goto 13}CPU 7 ${goto 81}${color green}${cpu cpu7}% ${goto 131}${color3}${cpubar cpu7 18}
${color}${goto 13}CPU 8 ${goto 81}${color green}${cpu cpu8}% ${goto 131}${color3}${cpubar cpu8 18}
${color1}All CPU ${color green}${cpu}% ${goto 131}${color1}Temp: ${color green}${hwmon 2 temp 1}°C ${goto 250}${color1}Up: ${color green}$uptime
${color green}$running_processes ${color1}running of ${color green}$processes ${color1}loaded processes.
Load Avg. 1-5-15 minutes: ${alignr}${color green}${execpi .001 (awk '{printf "%s/", $1}' /proc/loadavg; grep -c processor /proc/cpuinfo;) | bc -l | cut -c1-4} ${execpi .001 (awk '{printf "%s/", $2}' /proc/loadavg; grep -c processor /proc/cpuinfo;) | bc -l | cut -c1-4} ${execpi .001 (awk '{printf "%s/", $3}' /proc/loadavg; grep -c processor /proc/cpuinfo;) | bc -l | cut -c1-4}
${color1}NVIDIA ${color}-GPU ${color green}${nvidia gpufreq} Mhz ${color}-Memory ${color green}${nvidia memfreq} Mhz
${color1}GT650M ${color}-Temp ${color green}${nvidia temp}°C ${color}-Threshold ${color green}${nvidia threshold}°C
${color orange}${voffset 2}${hr 1}
ПРИМЕЧАНИЕ: Приведенный выше код Nvidia никогда не тестировался, потому что у меня еще нет графического процессора Nvidia, работающего под Ubuntu. Любой год скоро сейчас 🙂
Как включить гиперпоточность в Windows 10 и нужно ли это?
Вам нужно, чтобы ваш компьютер стал быстрее, не прибегая к модернизации оборудования? Затем подумайте о гиперпоточности ядер вашего центрального процессора (ЦП).
Вы можете спросить: «Что такое гиперпоточность и как она работает?» Что ж, продолжайте читать, чтобы узнать.
Для чего используется Hyper-Threading?
Intel называет одновременную многопоточность (SMT) гиперпоточностью.Это означает разделение каждого физического ядра ЦП на виртуальные ядра, известные как потоки.
Итак, допустим, у ЦП два ядра (т. Е. Двухъядерный). В этом случае включение гиперпоточности создает четыре потока, позволяя каждому ядру выполнять две задачи одновременно.
Этот процесс повышает эффективность и производительность вашего процессора. После этого вы можете запускать несколько требовательных программ одновременно без каких-либо задержек.
Однако он требует больших затрат энергии и, как следствие, может вызвать нагрев вашего ПК.
Нужна ли мне Hyper-Threading?
Если вы обычно запускаете такие приложения, как браузеры и Microsoft Office, гиперпоточность (HT) вам не понадобится. Но большинство видеоигр, которые сейчас выпускаются, обычно хорошо работают на гиперпоточных процессорах.
Это помогает только в том случае, если этого требуют выполняемые вами задачи, и в этом случае скорость и производительность могут увеличиться на 30 процентов.
Кроме того, если вам нужно сделать выбор между двумя процессорами, у одного из которых больше физических ядер, а у другого меньше, но с включенной гиперпоточностью, лучше выбрать первый.
Например, если у вас есть возможность использовать четырехъядерный (четыре ядра) ЦП без включенной гиперпоточности, предпочтительнее выбрать его, а не двухъядерный (два ядра) гиперпоточный ЦП.
Однако, если ЦП с поддержкой HT также имеет четыре ядра, то выбор теперь будет зависеть от типа приложений, которые вы запускаете на своем компьютере. Если они недостаточно требовательны для полноценного использования виртуальных ядер, то гиперпоточность не повлияет на производительность.
Как включить Hyper-Threading
Для включения HT необходимо войти в настройки BIOS вашей системы.Вы можете узнать, как это сделать для своего устройства.
Как только вы войдете в BIOS, вам нужно сделать следующее:
- Выберите «Процессор», а затем нажмите «Свойства» в открывшемся меню.
- Включите Hyper-Threading.
- Выберите Exit & Save Changes в меню Exit.
Имейте в виду, что не все процессоры поддерживают гиперпоточность. Однако некоторые ядра ЦП по умолчанию являются гиперпоточными, поэтому вам не нужно беспокоиться о включении этой функции вручную.
Чтобы узнать, включен ли он уже, выполните следующие действия:
- Нажмите сочетание клавиш с логотипом Windows + R на клавиатуре, чтобы открыть диалоговое окно «Выполнить».
- Введите «CMD» в текстовое поле и нажмите Enter или нажмите OK, чтобы открыть окно командной строки.
- Введите «wmic» (без кавычек) и нажмите Enter.
- Введите «CPU Get NumberOfCores, NumberOfLogicalProcessors / Format: List» и нажмите Enter.
Результаты покажут записи «Количество ядер» и «Количество логических процессоров». Если они оба имеют одинаковое значение, это означает, что ядра вашего процессора не являются гиперпоточными. Но если количество логических процессоров в два раза больше количества ядер, тогда включена гиперпоточность.
Мы надеемся, что эти советы по технологии Hyper-Threading были для вас полезны.
РЕКОМЕНДУЕТСЯ
Решение проблем с ПК с помощью Auslogics BoostSpeed
Помимо очистки и оптимизации вашего ПК, BoostSpeed защищает конфиденциальность, диагностирует проблемы с оборудованием, предлагает советы по увеличению скорости и предоставляет более 20 инструментов для удовлетворения большинства потребностей в обслуживании и обслуживании ПК.
БЕСПЛАТНАЯ ЗАГРУЗКАСовет для профессионалов: Если ваша система и приложения часто зависают или дают сбой, мы рекомендуем вам запустить сканирование с помощью Auslogics BoostSpeed. Инструмент решает проблемы, связанные со снижением скорости, и другие проблемы, которые мешают вашему компьютеру работать оптимально.
Нравится ли вам этот пост? 🙂
Оцените, поделитесь или подпишитесь на нашу рассылку
16 голосов, в среднем: 4.13 из 5
Загрузка …Следует ли отключать Hyper-Threading?
Следует ли отключать Hyper-Threading?
Симметричная многопоточность (SMT), также известная как Hyper-Threading, предоставляет два логических ядра ЦП для каждого физического ядра ЦП. Это достигается за счет совместного использования вычислительных единиц физического ядра ЦП между двумя виртуальными ядрами ЦП.
Если ни одно из спаренных ядер не должно использовать одни и те же ресурсы ЦП, они могут работать одновременно. Это позволяет более эффективно использовать вычислительные ресурсы на кристалле ЦП, поскольку два различных программных потока имеют возможность использовать их в любой момент времени. В противном случае эти аппаратные ресурсы могут бездействовать и не использоваться.
Должен ли я отключить Hyper-Threading?По производительности, как правило, НЕТ. В целях безопасности, учитывая недавние атаки по побочному каналу MDS (Microarchitectural Data Sampling), МОЖЕТ БЫТЬ.
Производительность, тогда и сейчасКогда впервые была представлена Hyper-Threading, ее логические ядра были не более чем надстройкой, обеспечивающей всего 10% производительности реального ядра ЦП. Еще больше усложняло ситуацию то, что планировщик ЦП Windows не полностью осознавал, что ему необходимо сначала использовать реальные ядра ЦП, прежде чем загружать логические ядра ЦП с гиперпоточностью.
Однако за последние несколько лет и Intel, и AMD изменили свою архитектуру, и планировщик ЦП Windows очень хорошо понимает, что ему необходимо в первую очередь отдать приоритет планированию потоков для реальных ядер ЦП. Вы можете наблюдать это по тому, как он чередует использование потоков между логическими ядрами ЦП.
Тем не менее, иногда предпочтительнее отключить Hyper-Threading, чтобы обеспечить стабильную производительность приложений, особенно в приложениях реального времени.
Вы можете отключить Hyper-Threading на уровне UEFI (BIOS) или динамически, для каждого процесса, с помощью функции предотвращения Hyper-Threading Core в Process Lasso. Последний позволяет ограничить использование нефизических ядер только приложениями, которым требуется производительность в реальном времени, без полного отключения Hyper-Threading, а также для некоторых старых архитектур AMD (например.грамм. Bulldozer) это единственный способ полностью отключить использование парных ядер.
Чтобы помочь вам определить фактическую производительность ваших логических ядер ЦП, вы можете использовать наш отличный инструмент ThreadRacer. Это позволит вам сравнить относительную производительность потоков, выполняемых на определенных ядрах ЦП.
Когда включен Hyper-Threading / SMT, вы можете рассматривать все остальные ядра ЦП как физические, а чересстрочные — как логические. Например, потоки 1 и 3 будут физическими ядрами, а ядра 2 и 4 будут логическими ядрами, подключенными к физическим ядрам 1 и 3 соответственно.
Каждая пара логических ядер ЦП (например, потоки 1 и 2) совместно использует вычислительные блоки. Такова природа Hyper-Threading. Таким образом, загрузка потоков 1 и 2 будет обеспечивать более низкую производительность по сравнению с загрузкой двух отдельных физических ядер 1 и 3.
Intel i7-6650 Результаты:
ThreadRacer на Intel i7-6650U
AMD Fx 9370 Результаты
ThreadRacer на AMD FX-9370
Безопасность в мире после кризиса
ОБНОВЛЕНИЕ, МАЙ 2019: Недавнее открытие атак по побочному каналу MDS (Microarchitectural Data Sampling) добавляет новую сложность в принятии решения об отключении Hyper-Threading.В настоящее время нет возможности полностью нейтрализовать MDS-атаки, пока Hyper-Threading остается включенной. Однако это, как правило, не является достаточно серьезной проблемой для потребительских систем, чтобы гарантировать потенциально значительное снижение производительности. Однако, если вы регулярно запускаете ненадежный код в среде с высоким уровнем безопасности, вам обязательно стоит рассмотреть возможность отключения Hyper-Threading.
СвязанныеHyper-Threading и все, что вам нужно знать
Каким бы быстрым ни был ваш компьютер, он всегда может быть быстрее.Если вас не устраивают результаты обработки вашего компьютера, возможно, пришло время задействовать гиперпоточность ядер вашего центрального процессора (ЦП). Гиперпоточность может быть отличным способом повысить скорость обработки вашего ПК без необходимости серьезной модернизации оборудования.
Однако у гиперпоточности есть некоторые недостатки, поэтому следует действовать с осторожностью. Продолжайте читать, чтобы узнать все о гиперпоточности и узнать, подходит ли это для вашего ПК или не стоит ваших усилий.Что такое гиперпоточность?
Прежде чем вы сможете понять, что такое гиперпоточность, вам сначала нужно познакомиться с тем, как центральный процессор (ЦП) работает и обрабатывает информацию. ЦП декодирует информацию, выполняет математические алгоритмы и считывает строки нулей и единиц, которые составляют код в его наиболее примитивной форме.
Когда вы запускаете приложение, код этой программы берется с жесткого диска и сохраняется в оперативной памяти (ОЗУ) перед загрузкой в ЦП.Затем ЦП считывает инструкции из ОЗУ для выполнения поставленной задачи. Когда технологические компании называют свои ЦП «двухъядерными», это означает, что в ЦП есть 2 ядра (отдельные блоки обработки).
Intel® указывает количество ядер, которые они используют с i3, i5, i7 и т. Д. Это немного вводит в заблуждение, учитывая, что процессор Intel i7 Core не имеет 7 ядер; он идет с четырьмя. Есть несколько экстремальных процессоров Intel i7 Core, которые могут иметь 6 или 8 ядер. Вы всегда можете вернуться к описанию продукта, если не уверены в количестве ядер в вашем процессоре.
Не отходя слишком далеко от гиперпоточности, важно сначала понять, как ядра обрабатывают данные в ЦП. Когда данные отправляются из ОЗУ в ЦП, они разделяются и направляются в разные ядра.
Представьте себе железнодорожную станцию: такие программы, как Microsoft Word и Excel, представляют собой грузовые перевозки поездов, движущихся через станцию, но железнодорожная станция (ядро) имеет только один набор путей. «Грузы», или программные инструкции, идут последовательно по рельсам.Все просто, правда?
Так как же работает гиперпоточность? Когда вы выполняете гиперпоточность своих ядер, вы, по сути, создаете две дорожки в депо. Вместо того, чтобы перемещаться по одному пути, они будут разделяться и обрабатываться в депо, что сокращает время, в течение которого они перемещаются. Вместо того, чтобы загружать по одной программе в ядро, гиперпоточность позволяет загружать сразу несколько программ. По сути, каждое ядро становится двумя процессорами вместо одного .
Основная цель гиперпоточности — увеличить количество независимых инструкций на «дорожках», ведущих к ядру.Эта способность является результатом суперскалярной архитектуры или параллельных вычислений, в которых ЦП управляет несколькими конвейерами команд для выполнения нескольких инструкций в одно и то же время.Теперь, когда вы понимаете, как работает гиперпоточность, преимущества и потенциальное повышение скорости, которое она может дать вашему ПК, довольно очевидны.
Повысит ли гиперпоточность производительность моего компьютера?
Согласно Intel [1], гиперпоточность ваших ядер может привести к увеличению производительности и скорости на 30% при сравнении двух идентичных ПК с одним гиперпоточным процессором.В исследовании, опубликованном на Forbes, гиперпоточность процессора AMD® (Ryzen 5 1600) показала увеличение общей производительности обработки на 17% [2].
Несмотря на эти результаты, гиперпоточность ваших ядер не всегда является оптимальным решением. Будут задачи, в которых скорость вашего процессора не увеличивается, несмотря на гиперпоточность. Частично это связано с тем, что не все приложения и строки данных могут эффективно загружаться в многопоточное ядро.
В эксперименте, проведенном bit-tech.net, гиперпоточный Intel i7 Core сравнивался с однопоточным Intel i7 Core после прохождения нескольких различных тестов [3]. Когда дело дошло до редактирования изображений, многозадачности и энергопотребления, гиперпотоковый аналог оказался хуже, чем однопоточный. Тем не менее, он показал такие же или лучшие результаты, когда дело дошло до кодирования видео Handbrake, общего пользовательского теста ПК и игры в популярную игру Crysis .
Гиперпоточность ядер в вашем ЦП повышает производительность и скорость в каждом конкретном случае. в зависимости от того, какие задачи совместимы с гиперпоточным ядром.Если вы хотите повысить общую производительность своего ПК, использование гиперпоточности может стать шагом в правильном направлении.
Как включить гиперпоточность
Перед тем, как вы сможете использовать гиперпоточность для своих ядер, вам нужно выяснить, позволяет ли это ваш ЦП. Некоторые ядра ЦП по умолчанию являются гиперпоточными, и от вас ничего не требуется.
Чтобы включить гиперпоточность, вам сначала нужно войти в настройки BIOS вашей системы. Для тех, кто не знаком, BIOS расшифровывается как Basic Input / Output System.BIOS запускается, когда вы включаете компьютер, соединяя различные компоненты, такие как жесткий диск, ЦП и клавиатуру, в дополнение к управлению потоком данных.Когда вы узнаете, что ваш ЦП совместим с гиперпоточностью, и научитесь входить в настройки BIOS вашей системы, выберите подходящий хост для вашей системы. Должна быть вкладка конфигурации или меню для выбора. Выберите «Процессор» и нажмите «Свойства». Должно появиться диалоговое окно, в котором вы сможете включить или отключить гиперпоточность.
Некоторые производители и поставщики могут пометить эту опцию как «Логический процессор» или «Включить гиперпоточность». Процесс зависит от производителя. Например, включение гиперпоточности для процессора AMD будет иметь несколько иной набор слов, чем включение гиперпоточности для процессора Intel.
Резюме; один раз в BIOS выберите:
- Процессор
- Свойства
- Логический процессор / Включить гиперпоточность
Убедитесь, что ваш процессор совместим с гиперпоточностью, прежде чем тратить время на выполнение инструкций.Если вы используете гиперпоточность в ядре и вам не нравятся результаты, отключение этого параметра выполняется в том же порядке. Перейдите в свой BIOS и выключите эту опцию.
Подходит ли гиперпоточность для игр?
Подходит ли гиперпоточность для игр, зависит от имеющегося у вас количества ядер. Большинство продвинутых игр требуют для максимальной производительности 2 или 4 ядра. Узнайте о лучших процессорах для игр и о лучших способах разгона улучшить игры.Игра в игру
Если вы когда-либо пробовали играть в игры с интенсивной графикой на процессоре Intel i3 Core, то вы, вероятно, знаете, сколько проблем возникает из-за ограниченного количества ядер. Отставание и ореолы — лишь малая часть списка проблем, вызванных недостаточной вычислительной мощностью.
Гиперпоточность Intel i5 и гиперпоточность i3 могут быть чрезвычайно полезны для игр, учитывая, что эти процессоры изначально не обладают большой мощностью. Играя в такие игры, как Crysis , вы заметите резкое улучшение и конкурентное преимущество. Гиперпоточность Intel i7 может быть чрезмерной. Если вы не играете в несколько игр одновременно или не запускаете несколько приложений в фоновом режиме, вам, вероятно, не понадобится такая дополнительная мощность.
Потоковая передача
При потоковой передаче игры гиперпоточность ядер может быть чрезвычайно выгодной. Когда вам нужно запустить игру поверх нескольких приложений, необходимых для записи и загрузки видео, суперскалярная архитектура обеспечит бесперебойную работу вашей системы.
Если вы транслируете потоковую передачу на новейшем процессоре Intel i7 Core, вы, вероятно, не заметите большой разницы. Продвинутые процессоры невероятно быстрые как есть. Однако процессоры с 2 или 4 ядрами могут не дать вам достаточно энергии для игры, даже после гиперпоточности.
Лучшие процессоры для гиперпоточности
Большинство игр класса AAA ориентированы на процессоры с 4 ядрами и более. Если ваша цель — игры, выбирайте AMD Ryzen, Intel i5 или лучше.
Intel i5-8400, который вы можете найти в игровом настольном ПК HP OMEN 870, — отличное место для начала, если у вас ограниченный бюджет. Этот процессор с 6 ядрами и 6 потоками имеет базовую тактовую частоту 3,8 ГГц и тактовую частоту в режиме турбо 4,0 ГГц. Хотя этот процессор не поддерживает разгон, он должен обеспечивать более чем достаточную мощность для игр с максимальными настройками.Intel i7-8700K имеет 6 ядер и 12 потоков, на которых вы можете запускать множество фоновых задач, пока играете. Вы можете найти этот процессор в игровом настольном ПК HP Pavilion. В том же ценовом диапазоне, что и Intel i7-8700K, AMD Ryzen 7 2700 предлагает 8 ядер, 16 потоков и возможности разгона. Компания AMD, о которой часто забывают, производит невероятные процессоры для компьютеров, ноутбуков и специализированных игровых ПК. Если вы заинтересованы в создании игрового ПК с нуля или в покупке готовой системы, вам следует серьезно подумать о процессоре AMD для продвинутых игр.AMD Ryzen 3 2200G — чрезвычайно доступный процессор, учитывая, сколько от него можно получить. Четыре ядра, базовая частота 3,5 ГГц, а также возможности разгона позволяют расширить возможности вашего ПК. Игровой настольный компьютер HP OMEN 875 Obelisk может похвастаться тремя процессорами AMD Ryzen на выбор, чтобы оформить покупку по своему вкусу.Если вы действительно хотите изо всех сил построить суперкомпьютер, Intel Core i9 7900X находится в особой лиге. Хотя цена определенно отражает его передовые компоненты, его производительность трудно превзойти.Благодаря 10 ядрам и 20 потокам вы можете одновременно выполнять множество задач.
Подходит ли гиперпоточность для игр виртуальной реальности?
VR-игр отнимают у вас уйму вычислительной мощности, и вам будет гораздо лучше, если вы обновите свой процессор, чем пытаетесь перегрузить существующий. Самые популярные VR-игры используют огромные объемы данных, и без высокопроизводительной видеокарты вы не сможете ими пользоваться. Если вы купите ПК с продвинутой видеокартой, подходящей для иммерсивных VR-игр, ваш процессор, вероятно, оборудован поддерживать.Обязательно выберите систему, которая работает с высокой скоростью, или подготовьтесь к созданию собственной системы, если VR-игры являются главным приоритетом. В противном случае вам, возможно, придется изо всех сил пытаться разогнать процессор или гиперпоточность ядер, чтобы погрузиться в безумие виртуальной реальности.Вокруг AMD Zen ходит много разговоров о возможностях виртуальной реальности. Такие компании, как Intel и AMD, в настоящее время готовятся к будущему игр, чтобы доставить невероятные впечатления, как никогда раньше.
Резюме
При том, что оборудование для игровых ПК продолжает улучшаться, у вас может возникнуть соблазн отложить крупную покупку, но лучшие игры AAA заставят вас потратиться на мощность процессора, чтобы получить максимальную отдачу от игра.Если вы планируете использовать гиперпоточность ядер в вашем процессоре, убедитесь, что это того стоит и что ваш процессор на это способен. Hyper-threading — это относительно простое обновление ПК, которое легко включить. Если он вам не подходит, вы можете просто зайти в BIOS и снова выключить его.
Вы можете многое получить и не так много потерять, почему бы не попробовать?
Об авторе
Шон Уэйли (Sean Whaley) пишет статьи для HP® Tech Takes. Шон — специалист по созданию контента со степенью литературы в SDSU.Он обладает обширными познаниями в области компьютерного оборудования и программирования.Как изменить ядро процессора и отключить Hyper-Threading в EC2 | by Ripon Banik
Ограничьте количество ядер, доступных для вашего экземпляра
У некоторых из вас уже была ситуация, когда вам приходилось ограничивать количество ядер. ядер, доступных вашему экземпляру из-за лицензирования, и отключение гиперпоточности из-за соображений производительности однопоточного приложения / приложения с интенсивным использованием ЦП.
Хотя есть способы отключить определенное ядро / гиперпоточность в ОС, они зависят от ОС и требуют определенных знаний и навыков.
Вместо этого AWS позволяет указать номер. ядра и потоков на ядро при запуске экземпляра.
Инстансы Amazon EC2 поддерживают многопоточность, что позволяет одновременно запускать несколько потоков на одном ядре ЦП. Каждый поток представлен в экземпляре как виртуальный ЦП (vCPU). У экземпляра есть количество ядер ЦП по умолчанию, которое зависит от типа экземпляра. Например, тип инстанса m5.xlarge по умолчанию имеет два ядра ЦП и два потока на ядро - всего четыре виртуальных ЦП.
Таким образом, каждый виртуальный ЦП является потоком ядра ЦП, за исключением экземпляров T2 и m3.medium.
Правила для указания параметров ЦП
Чтобы указать параметры ЦП для своего экземпляра, имейте в виду следующие правила:
1. Параметры ЦП в настоящее время поддерживаются с помощью консоли Amazon EC2, интерфейса командной строки AWS, пакета SDK AWS, или API Amazon EC2.
2. Параметры ЦП могут быть указаны только во время запуска экземпляра и не могут быть изменены после запуска.
3. При запуске экземпляра необходимо указать в запросе как количество ядер ЦП, так и количество потоков на ядро.Примеры запросов см. В разделе Определение параметров ЦП для вашего экземпляра.
4. Количество виртуальных ЦП для экземпляра — это количество ядер ЦП, умноженное на количество потоков на ядро. Чтобы указать настраиваемое количество виртуальных ЦП, необходимо указать допустимое количество ядер ЦП и потоков на ядро для типа экземпляра. Вы не можете превышать количество виртуальных ЦП по умолчанию для экземпляра.
5. Чтобы отключить многопоточность, укажите по одному потоку на ядро.
6. Когда вы изменяете тип существующего экземпляра, параметры ЦП автоматически меняются на параметры ЦП по умолчанию для нового типа экземпляра.
7. Указанные параметры ЦП сохраняются после остановки, запуска или перезагрузки экземпляра
Консоль AWS
Как упоминалось выше, при запуске экземпляра можно настроить только ядро и ступени / ядро. На странице настройки сведений об экземпляре можно найти следующее:
Укажите количество ядер и отключите гиперпоточностьAWS Cli
Вы можете использовать команду, как показано ниже, при использовании cli-
aws ec2 run-instance — image-id ami- 1a2b3c4d — инстанс-тип r4.4xlarge — параметры процессора «CoreCount = 6, ThreadsPerCore = 1»
Terraform
Проверить из ОС
Виртуальный процесс показывает номер. присутствующих vpcu —
Диспетчер задач Windows -> вкладка «Производительность» -> ЦП
Монитор производительности WindowsВ Linux команда lscpu покажет следующий вывод, где ЦП — номер. of vcpu —
Команда Linux для вывода списка ЦППримечание: AWS анонсировала свои новые инстансы T3 . Они также теперь по умолчанию используют гиперпоточность.
Процессоры Intel могут быть использованы, если вы не отключите гиперпоточность, утверждает разработчик Linux
Процессоры Intelуязвимы для эксплуатации, если они работают с гиперпоточностью, и если вам нужна полная безопасность для вашего процессора, вы должны отключить эту функцию (что, очевидно, в некоторых случаях приведет к значительному снижению производительности).
Это согласно Грегу Кроа-Хартману, разработчику ядра Linux, который поделился своими мыслями о безопасности на Европейском саммите по открытому исходному тексту в Лионе (который завершается сегодня), как подчеркивает The Register.
Проблема, обозначенная Кроа-Хартманом и другими, заключается в том, что гиперпоточность является опасной территорией из-за ошибок, которые могут быть использованы в MDS или микроархитектурной выборке данных.
Если это звучит знакомо, возможно, вы помнили его из эпизода ZombieLoad еще в мае, где он впервые появился на свет вместе с другими эксплойтами на основе MDS, включая Fallout и RIDL.
Единственный способ по-настоящему обезопасить себя от любого потенциального вектора атаки по этим линиям — просто отключить гиперпоточность.Кроа-Хартман сказал об OpenBSD (ОС с открытым исходным кодом, ориентированной на безопасность): «Год назад они сказали, что отключите гиперпоточность, здесь будет много проблем. Они предпочли безопасность производительности на более раннем этапе, чем кто-либо другой. Отключите гиперпоточность. Это единственный способ решить некоторые из этих проблем. Мы замедляем вашу рабочую нагрузку. Извините.»
Защита от зомби
Вы также можете вспомнить, что, когда ZombieLoad наткнулся на сцену, Apple сообщила, что единственный способ, которым пользователи Mac могут быть уверены в «полном смягчении» атак, — это не просто применить соответствующие исправления безопасности, но и отключить гиперпоточность (по оценкам Apple, снижение производительности у некоторых пользователей достигает 40%).
Гиперпоточность, для непосвященных, — это когда ядро ЦП разделено на два виртуальных ядра (или потока), и это может значительно помочь с более тяжелыми задачами и рабочими нагрузками, требующими нескольких ядер (AMD называет это одновременной многопоточностью или SMT) .
Но такое разделение задач между ядрами может привести к потенциальным проблемам, как объясняет Кроа-Хартман: «MDS — это место, где одна программа может считывать данные другой программы. Это плохо, когда вы работаете в общей среде, такой как облачные вычисления, даже между вкладками браузера.
«Вы можете пересекать границы виртуальных машин с большим количеством этого. MDS использует тот факт, что процессоры являются гиперпоточными, с несколькими ядрами на одном кристалле, которые совместно используют кеши. Когда вы делитесь кешами, вы можете определить, что делало другое ядро ЦП ».
Короче говоря, использование этих уязвимостей может фактически позволить злоумышленнику украсть данные из приложения, к которым он иначе не смог бы получить доступ.
Еще одно беспокойство заключается в том, что существует так много этих потенциальных проблем и вариантов спекулятивных атак, что требуется тонна исправлений на довольно постоянной основе — действительно, исправления все еще развертываются для первоначальной ошибки Spectre за два года. назад.
Вот почему вам нужны все последние исправления безопасности для вашей ОС и последняя версия BIOS, хотя даже в этом случае при работе гиперпоточности существует вероятность обнаружения еще не обнаруженных уязвимостей в фоновом режиме.
Отсюда все советы по обеспечению подлинной безопасности, указывающие на отключение гиперпоточности.
Кроа-Хартман добавляет: «Если вы не используете поддерживаемый дистрибутив или стабильное долгосрочное ядро, у вас небезопасная система. Это так просто.Все те встроенные устройства, которые не обновляются, легко сломать ».
Интернет вещей, конечно же, долгое время был главной проблемой в сфере безопасности.
Ryzen — вызов
Вы можете вспомнить, что ранее в этом году AMD нашла время, чтобы разъяснить, что ее процессоры невосприимчивы к ZombieLoad и этим уязвимостям MDS, а разработчик Linux подтвердил, что использование одновременной многопоточности с чипами AMD действительно безопасный вариант (во всяком случае, исходя из того, что известно в настоящее время).
Однако, прежде чем все владельцы процессоров Intel бросятся в панику из-за недостатков безопасности, имейте в виду, что реальные шансы стать объектом такой атаки за пределами корпоративного мира, скорее всего, будут довольно низкими.
Неясно, сколько уязвимостей спекулятивного исполнения было фактически использовано злоумышленниками для получения хорошего (или, скорее, плохого) эффекта просто потому, что эти вторжения очень трудно даже обнаружить.
Средний домашний пользователь, вероятно, никогда не станет мишенью, но есть загвоздка — «вероятно» — это совсем другое слово, чем «определенно», и все равно возвращается к тому факту, что если вы хотите, чтобы ваш компьютер Intel был действительно защищенный от таких атак, гиперпоточность остается потенциальной дырой в безопасности вашего компьютера.
И, конечно же, стоит отметить, что все это происходит на фоне того, что Intel якобы привносит гиперпоточность во все свои процессоры Comet Lake следующего поколения.
Отключить гиперпоточность изнутри Linux (нет доступа к BIOS)
Решение 1:
Вы можете сделать это во время выполнения, если хотите. Я нашел хорошее решение, описанное здесь: http://www.absolutelytech.com/2011/08/01/how-to-disable-cpu-cores-in-linux/
Шаг 1: Определите процессоры Linux, которые вы хотите выключить:
cat / proc / cpuinfo
Найдите процессоры с одинаковым «идентификатором ядра», вы хотите отключить по одному из каждой пары.
Шаг 2: Выключите процессоры с гиперпоточностью (в моем случае последние четыре из 8 «процессоров», которые видит Linux)
эхо 0> / sys / devices / system / cpu / cpu4 / online
эхо 0> / система / устройства / система / ЦП / ЦП5 / онлайн
эхо 0> / sys / devices / system / cpu / cpu6 / online
эхо 0> / система / устройства / система / ЦП / ЦП7 / онлайн
Вы можете настроить сценарий, который запускаете сразу после запуска системы.
Решение 2:
Новые ядраобеспечивают управление одновременной многопоточностью (SMT).
Вы можете проверить состояние SMT с помощью;
cat / sys / devices / system / cpu / smt / active
Измените состояние на
эхо выкл> / sys / devices / system / cpu / smt / control
Опции есть;
Мы протестировали это с Linux Kernel 4.4.0
Решение 3:
Скрипт для отключения гиперпоточности при запуске машины …
Чтобы отключить гиперпоточность, я включил сценарий на машине / etc / rc.местный. Он не совсем чистый, но его легко установить, независимо от архитектуры процессора, и он должен работать с любым современным дистрибутивом Linux.
нано /etc/rc.local
# поместите это ближе к концу перед "exit 0"
для CPU в / sys / devices / system / cpu / cpu [0-9] *; делать
CPUID = $ (базовое имя $ CPU)
echo "CPU: $ CPUID";
если test -e $ CPU / online; тогда
echo "1"> $ CPU / online;
fi;
COREID = "$ (cat $ CPU / topology / core_id)";
eval "COREENABLE = \" \ $ {core $ {COREID} enable} \ "";
если $ {COREENABLE: -true}; тогда
echo "$ {CPU} core = $ {CORE} -> enable"
eval "core $ {COREID} enable = 'false'";
еще
echo "$ CPU core = $ {CORE} -> disable";
echo "0"> "$ CPU / online";
fi;
сделано;
Как это работает?
Информация о ядреи элементы управления доступны в виде файлов в каталоге / sys в современных дистрибутивах Linux.Например:
/ система / устройства / система / ЦП / ЦП3 содержит информацию о ядре и элементы управления для логического процессора 3.
cat / sys / устройства / system / cpu / cpu3 / topology / core_id покажет номер ядра, которому принадлежит этот логический процессор.
echo «0»> / sys / devices / system / cpu / cpu3 / online позволяет отключить логический ЦП 3.
Почему это работает?
Не знаю, почему … но система стала более отзывчивой с отключенной гиперпоточностью (на моем ноутбуке i5 и массивных серверах Xeon с 60+ ядрами).Я предполагаю, что это связано с кешами для каждого процессора, распределением памяти для каждого процессора, распределением планировщика процессоров и сложными итерациями приоритетов процесса. Я думаю, что преимущества гиперпоточности перевешиваются сложностью создания планировщиков процессоров, которые знают, как ее использовать.
Для меня проблема с гиперпоточностью заключается в следующем: если я запускаю столько потоков с интенсивным процессором, сколько у меня есть логических ядер, у меня будут быстрые переключения контекста для задач с интенсивным использованием процессора, но дорогие для фоновых задач, поскольку гиперпоточность полностью потребляется задачи с интенсивным использованием ЦП.С другой стороны, если я запущу столько потоков с интенсивным использованием процессора, сколько у меня физических ядер, у меня не будет переключений контекста для этих задач и быстрых переключений контекста для фоновых задач. Вроде бы хорошо, но фоновые задачи находят свободные логические процессоры и запускаются практически мгновенно. Как будто они выступают в реальном времени (хорошо -20).
В первом сценарии гиперпоточность используется, фоновые задачи будут использовать дорогостоящие переключатели контекста, потому что я максимизировал гиперпоточность при нормальной обработке.Второй вариант неприемлем, потому что до 50% мощности моего процессора отдается приоритетным фоновым задачам.
Задачи, требующие «интенсивного использования процессора», о которых я говорю, — это серверы интеллектуального анализа данных и авторизации (моя работа). Блендерный рендеринг на дешевых компьютерах и кластерах (для наброска моего будущего дома).
Кроме того, это предположения.
У меня впечатление, что лучше, но может и нет.
Решение 4:
Для действительно старых ядер (Linux 2.6.9 или около того), добавьте параметр noht к ядру при загрузке.
Этот параметр командной строки ядра был удален, по крайней мере, начиная с Linux 2.6.18.
Из http://www.faqs.org/docs/Linux-HOWTO/BootPrompt-HOWTO.html:
Аргумент noht
Это отключит гиперпоточность на процессорах Intel, у которых есть эта функция.
Если вы используете lilo, отредактируйте файл /etc/lilo.conf (и запустите lilo после этого), или, если вы используете grub, отредактируйте ваш / boot / grub / menu.lst.
Решение 5:
Вы можете использовать «thread_siblings_list» для каждого ядра, чтобы выключить второе ядро в паре HT.
Следующий конвейер команд является хакерским, не оптимизированным и, надеюсь, сделан таким образом, чтобы его было легче понять.
cat / sys / devices / system / cpu / cpu * / topology / thread_siblings_list | \
awk -F, '{print $ 2}' | \
sort -n | \
uniq | \
(пока читаете X; выполните echo $ X; echo 0> / sys / devices / system / cpu / cpu $ X / online; готово)
Итак, возьмите все списки братьев и сестер потоков, извлеките второй ЦП для каждой пары, получите уникальный список и затем выключите их.
имеет ли это смысл?
, если я сделаю «cat / proc / cpuinfo» после выполнения вышеуказанного, количество ядер уменьшится вдвое.
catalina — Как отключить Intel Turboboost и Hyper-Threading?
Некоторые из полезных инструментов / примечаний для управления в macOS Catalina 10.15, работающей на MacBook Pro 16 «2019 чудовище:
Кажется возможным использовать Apple’s cpuctl
для отключения некоторых процессоров; это похоже на внутренний инструмент, поставляемый Apple; нет простого способа узнать, какие процессоры являются гиперпоточными (я думаю, что они должны быть четными), поэтому безопасным вариантом может быть отключение половины процессоров с верхним четным номером, чтобы эффективно отключить половину Hyper-Threading, e.g., на 6-ядерной машине с 12 виртуальными ЦП мы можем довольно безопасно отключить 3 из них:
sudo cpuctl не в сети 7 9 11; список sudo cpuctl
Можно также использовать CPUSetter от whatroute.net; в котором есть настройка, специально предназначенная для отключения Hyper Threading; что приводит к отключению всех четных процессоров.
Turbo Boost — определенно самая энергоемкая и бесполезная технология, которую нелегко отключить на Mac.Казалось бы, Turbo Boost Switcher от rugarciap.com можно заставить работать на macOS Catalina 10.15 после устранения некоторых неполадок, но это своего рода баги, а бесплатная версия требует, чтобы вы вводили пароль каждый раз при каждом подключении. просыпайся.
Проверка отключения Turbo Boost
Вы можете использовать Intel Power Gadget от Intel для отслеживания фактической частоты процессора; и убедитесь, что он не превышает спецификации, e.g., на MacBook Pro 16 дюймов 2019 года с 6-ядерным i7-9750H, частота не превышает обычных 2,6 ГГц до 4,5 ГГц в режиме Turbo.
Графика и прозрачность
Перейдите в «Системные настройки», «Специальные возможности», «Отображение» и включите все параметры: «Уменьшить движение», «Увеличить контраст» (включая «Уменьшить прозрачность»), «Различать без цвета».