Аппаратная виртуализация
Использование операционных систем в неизменном виде возможно при использовании процессоров с поддержкой виртуализации:
- VT (Vanderpool) от Intel
- SVM или AMD-V™ (Pacifica) от AMD
Указанные архитектурные расширения доступны в перечисленных ниже процессорах.
[править] AMD
Поддержка виртуализации на аппаратном уровне обеспечивается во всех процессорах серии AMD-V (SVM). Процессоры для рабочих станций должны работать с сокетом AM2 с поддержкой DDR2, иметь степпинг K8 Rev. F2 и выше (F3,G1,G2,Tri- и Quadcores) и при этом НЕ быть Sempron’ом.
В процессорах для ноутбуков поддержка виртуализации есть в моделях Turion 64 X2 и Turion Ultra.
Кроме того, поддержка виртуализации есть в AMD Opteron c DDR2 (серии 1000, 2000 и 8000).
Процессоры на Socket939 и Socket940 не поддерживают технологию SVM
[править] Intel
Процессоры Intel, поддерживающие аппаратную виртуализацию (Intel VT):
- Intel® 2 Core(TM) Duo Extreme processor X6800
- Intel® 2 Core(TM) Duo processor E6700, E6600, E6400, E6300
- Intel® Core(TM) Duo processor T2600, T2500, T2400, L2300
- Intel® Pentium® processor Extreme Edition 965, 955
- Intel® Pentium® D processor 960, 950, 940, 930, 920
- Intel® Pentium® 4 processor 672, 662
- Intel® Xeon® processor 7041, 7040, 7030, 7020, 5080, 5063, 5060, 5050, 5030
Для использования технологии Intel VT необходим не только процессор с поддержкой виртуализации, но также и BIOS.
Постоянно обновляющийся список процессоров с поддержкой виртуализации находится здесь: [1].
Если у вас в системе установлен Linux, вы можете проверить, поддерживает ли ваш процессор архитектурные расширения следующим образом:
%# egrep flags.*'svm|vmx' /proc/cpuinfo
Должен быть не пустой результат.
Проверку можно выполнять только, когда ядро работает непосредственно на железе, потому что гипервизор скрывает флаги процессора, и правды вы таким образом не узнаете, если запустите команду из домена Xen (даже домена 0).
Пример для процессора Intel поддерживающего HVM:
%# grep flags /proc/cpuinfo flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr lahf_lm flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr lahf_lm
В NetBSD проверить поддержку HVM-инструкций можно так:
%# cpuctl identify 1 cpu1: Intel Pentium III (Katmai) (686-class), 2666.51 MHz, id 0x1067a cpu1: features 0xbfebfbff cpu1: features 0xbfebfbff cpu1: features 0xbfebfbff cpu1: features2 0x408e3fd cpu1: features3 0x20000000 cpu1: "Intel(R) Core(TM)2 Quad CPU Q9400 @ 2.66GHz" cpu1: I-cache 32KB 64B/line 8-way, D-cache 32KB 64B/line 8-way cpu1: ITLB 128 4KB entries 4-way cpu1: DTLB 256 4KB entries 4-way, 32 4MB entries 4-way cpu1: Initial APIC ID 2 cpu1: Cluster/Package ID 0 cpu1: Core ID 2 cpu1: family 06 model 07 extfamily 00 extmodel 01
В числе флагов features будет должно присутствовать VMX или SVM.
Процессоры AMD Ryzen и специфические фичи Intel
Кто в курсе, как устроена там совместимость со всякими специфическими вещами, например, виртуализацией? Есть, например, технологии Intel VT-d, VT-x. Процессор от AMD имеет такой же набор инструкций или у него своя какая-то система и ПО должно различать, на каком проце оно запущено?
Интересуюсь, чтобы разобраться, теоретически какие проблемы могут возникнуть от перехода на AMD. Гуглятся какие-то специфические проблемы на форумах VMWare и жалобы юзеров, что у них виртуалки какие-то не запустились. Ожидать ли проблем от запуска софта чуть более сложного, чем типичные совместимые с минимальным amd64 проги? Насколько я знаю в репах популярных дистрибутивов именно так софт и собран, без использования чего-то специфического и одноврменно неоптимально. Как будет вести себя на AMD докер, vmware, VirtualBox?
Alve ★★★★★
31.10.20 17:01:11 MSK
Как будет вести себя на AMD докер, vmware, VirtualBox?
Отлично. Все эти фичи играют роль, если ты занимаешься низкоуровневыми штуками.
devl547 ★★★★★
( 31.10.20 17:13:15 MSK )
Последнее исправление: devl547 31.10.20 17:13:37 MSK (всего исправлений: 1)
Всё будет хорошо. А с учётом отсутствия потерь от заплаток на мелтдаун и прочие интелоспецифичные грабли — возможно даже лучше, чем на интеле.
manntes-live ★★★
( 31.10.20 17:17:20 MSK )
Есть, например, технологии Intel VT-d, VT-x. Процессор от AMD имеет такой же набор инструкций или у него своя какая-то система и ПО должно различать, на каком проце оно запущено?
Второе. Системы аналогичные, но не идентичные. Если вспоминать более древние времена, то у AMD были инструкции 3dnow, а у intel — sse, это из той же оперы.
Насколько я знаю в репах популярных дистрибутивов именно так софт и собран, без использования чего-то специфического и одноврменно неоптимально
Критичный софт использует cpuid для определения возможностей cpu и выбора подходящего набора инструкций.
Как будет вести себя на AMD докер, vmware, VirtualBox?
gremlin_the_red ★★★★★
( 31.10.20 17:17:50 MSK )
Ответ на: комментарий от gremlin_the_red 31.10.20 17:17:50 MSK
Критичный софт использует cpuid для определения возможностей cpu и выбора подходящего набора инструкций.
Вот каноничный пример:
gremlin_the_red ★★★★★
( 31.10.20 17:25:31 MSK )
На вики пишут что аппаратная виртуализация от АМД эффективнее и лучше чем интеловские, причём уже давно (а не с этими супер-райзенами).
bonta ★★★★★
( 31.10.20 17:26:13 MSK )
Видел какие-то жалобы насчет esxi, citrix и фряхи на epyc, но без конкретики и возможно в самом начале жизненного цикла. Сам в этом не разбираюсь.
Виртуалки для нормисов работают без проблем
Midael ★★★★★
( 31.10.20 18:08:55 MSK )
Я бы начал с подтверждения официальной поддержки линукса на сайте АМД. Есть что почитать?
chenbr0 ☆
( 31.10.20 18:22:30 MSK )
Ответ на: комментарий от chenbr0 31.10.20 18:22:30 MSK
На сайте AMD драйверы и мануалы под Windows 10 только, де факто единственной ОС в мире. Уверен, официально и Intel вряд ли заявит «поддерживает Линукс», так как неясно какой именно линукс, какое ядро и какой дистрибутив.
Alve ★★★★★
( 31.10.20 18:29:08 MSK ) автор топика
Ответ на: комментарий от Alve 31.10.20 18:29:08 MSK
nvidia ★
( 31.10.20 18:33:58 MSK )
Ответ на: комментарий от Alve 31.10.20 18:29:08 MSK
де факто единственной ОС в мире
HPE ProLiant DL385 Gen10 Plus:
- 2x EPYC 7742 (2*64)
- 512GB RAM
Ты на этом что ли винду пускать собрался, болезный? Нет, возможно, что даже заведется. Но не дам гарантии, что увидит хотя бы половину ядер и памяти.
Очевидно же, что у AMD с поддержкой линуксов всё достаточно неплохо. Конкретно на вот этом тазике даже не самая молодпя CentOS 7.4 2017 года рождения (т.е. вышедшая задолго до выхода процессора и даже архитектуры) вполне неплохо себя чувствует.
pekmop1024 ★★★★★
( 31.10.20 18:37:14 MSK )
Ответ на: комментарий от Alve 31.10.20 18:29:08 MSK
Интел на сайте по каждому процу пишет о поддержке ОС, где в том числе указан, линукс
Есть такое для АМД?
chenbr0 ☆
( 31.10.20 18:41:28 MSK )
Ответ на: комментарий от Alve 31.10.20 18:29:08 MSK
На сайте AMD драйверы и мануалы под Windows 10 только, де факто единственной ОС в мире
gremlin_the_red ★★★★★
( 31.10.20 19:08:51 MSK )
Ответ на: комментарий от bonta 31.10.20 17:26:13 MSK
На вики пишут что аппаратная виртуализация от АМД эффективнее и лучше чем интеловские
А на «Схема 5. Паравиртуализация» операционные системы напрямую обращаются к железу, а не через специальный тонкий гипервизор-интерфейс.
gag ★★★★★
( 31.10.20 19:41:12 MSK )
Интересуюсь, чтобы разобраться, теоретически какие проблемы могут возникнуть от перехода на AMD.
Процессор от AMD имеет такой же набор инструкций или у него своя какая-то система и ПО должно различать, на каком проце оно запущено?
Специализированное ПО, которому это критично, так и делает (ffmpeg тот же, например). Даже между разными поколениями того же интеля.
Ожидать ли проблем от запуска софта чуть более сложного, чем типичные совместимые с минимальным amd64 проги?
Насколько я знаю в репах популярных дистрибутивов именно так софт и собран, без использования чего-то специфического и одноврменно неоптимально.
Там, где это важно, обычно проблем нет (умеет нужные наборы инструкций динамически подгружать). Хочешь — сиди на генте, чо.
Как будет вести себя на AMD докер, vmware, VirtualBox?
vmware не пробовал (не нужно), докер и VirtualBox ведут себя превосходно.
derlafff ★★★★★
( 31.10.20 19:51:09 MSK )
Процессор от AMD имеет такой же набор инструкций или у него своя какая-то система и ПО должно различать, на каком проце оно запущено?
У AMD оно называется SVM. Инструкции другие, суть та же.
Как будет вести себя на AMD докер, vmware, VirtualBox?
Про VMWare не скажу. Остальные ведут себя отлично.
Есть довольно специфические штуки, которые есть только у Intel. Тот же TSX. Но эти вещи очень мало где используются.
А, ну и да, MacOS не заработает и с хакинтошем могут возникнуть проблемы.
hateyoufeel ★★★★★
( 31.10.20 20:02:01 MSK )
Последнее исправление: hateyoufeel 31.10.20 20:03:01 MSK (всего исправлений: 1)
Ответ на: комментарий от pekmop1024 31.10.20 18:37:14 MSK
Эм, а что помешало с обновлением железа обновить CentOS? Сейчас же уже 7.9 скоро выходит.
gremlin_the_red ★★★★★
( 31.10.20 20:24:58 MSK )
Ответ на: комментарий от gremlin_the_red 31.10.20 20:24:58 MSK
В первую очередь то, что это — опытная партия и они должны работать в абсолютно идентичном окружении, что и DL380 Gen10. Как ты понимаешь, при тестах переменные стараются не менять. 🙂
pekmop1024 ★★★★★
( 31.10.20 20:34:02 MSK )
совместимость со всякими специфическими вещами
Виртуализация совсем разная, шифрование памяти, случайные числа, EDAC. Но это скорей на уровне ядра и драйверов. По наборам расширений инструкций AES, AVX 2.0, F16C, FMA3, SSE4.2, SSSE3 сейчас вровень идут, но раньше могли отличаться на пару новых. Intel 7 лет потихоньку наращивает команды для своего AVX-512, но практически не признан.
проблемы могут возникнуть от перехода на AMD.
Скорей, если бы и были, то и на чистой установке тоже.
boowai ★★★★
( 31.10.20 21:06:25 MSK )
Ответ на: комментарий от pekmop1024 31.10.20 18:37:14 MSK
Windows server 2019 standard поддерживает 24тб ОЗУ и бесконечное количество ядер.
bhfq ★★★★★
( 31.10.20 21:11:57 MSK )
Ответ на: комментарий от hateyoufeel 31.10.20 20:02:01 MSK
только у Intel. Тот же TSX. Но эти вещи очень мало где используются.
А его реализовать не могут. Постоянно дырявые и от того выключенные. В свежевышедшем поколении совсем нет, только в следующем очередная попытка.
boowai ★★★★
( 31.10.20 21:16:39 MSK )
Ответ на: комментарий от bhfq 31.10.20 21:11:57 MSK
Это они поди, чтобы Azure на линуксах не гонять? 🙂 С одной стороны, хорошо, что поддерживает — конкуренция нужна. С другой стороны… насрать.
pekmop1024 ★★★★★
( 31.10.20 21:16:42 MSK )
Ответ на: комментарий от boowai 31.10.20 21:16:39 MSK
В свежевышедшем поколении совсем нет, только в следующем очередная попытка.
Выдержка из ченджлога RHEL 8.3 в переводе опеннета:
По умолчанию отключено использование расширений Intel TSX (Transactional Synchronization Extensions), предоставляющих средства для повышения производительности многопоточных приложений за счёт динамического исключения лишних операций синхронизации. Расширения отключены из-за возможности совершения атак Zombieload, манипулирующих утечкой сведений по сторонним каналам, возникающей при работе механизма асинхронного прерывания операций (TAA, TSX Asynchronous Abort). Для включения поддержки TSX следует загрузить ядро с параметром "tsx=on".
Как по мне, шумиха вокруг spectre/meltdown/l1tf/wtf — мягко говоря, преувеличена. Я бы хотел увидеть, как его кто-то пытается массово использовать. Намедни гуглил полдня, на двух языках, не нашел ни одной успешной атаки, ни одного массового червя/вирия/трояна — ничего.
pekmop1024 ★★★★★
( 31.10.20 21:19:35 MSK )
Ответ на: комментарий от pekmop1024 31.10.20 21:19:35 MSK
Ну, да, но всё равно это можно использовать там где есть. Вики пишет, что TSX используется в эмуляторе PS3.
Можно ещё всякие AVX512 и прочие странные штуки от штеуда вспомнить.
hateyoufeel ★★★★★
( 31.10.20 21:41:01 MSK )
Последнее исправление: hateyoufeel 31.10.20 21:41:34 MSK (всего исправлений: 1)
Ответ на: комментарий от derlafff 31.10.20 19:51:09 MSK
У Android Studio были проблемы с запуском эмулятора под AMD. Сейчас вроде и у них работает, а вроде все-равно могут быть глюки.
В общем, в обычном прикладном софте вероятность проблем очень низкая, но они могут быть. Например, интел специально делает так, что бы ее математические библиотеки и программы или не работали на AMD или выбирали более медленный вариант.
praseodim ★★★★★
( 01.11.20 19:48:00 MSK )
если тебе не нужно гонять гипервизоры которые умеют только VT-d,VT-x типа какого-нибудь intel HAXM то всё будет хорошо работать. обычно гипервизоры умеют и в AMD-V и в VT-D
Thero ★★★★★
( 02.11.20 23:24:05 MSK )
Ответ на: комментарий от praseodim 01.11.20 19:48:00 MSK
там эмулятор на intel HAXM работал, но это ЕМНИП только под оффтопиком, а на онтопике через KVM который умеет в обе виртуализации очень давно..
Thero ★★★★★
( 02.11.20 23:28:08 MSK )
Теоретически какой-нибудь корнер-кейс типа вложенной виртуализации при полной луне и старом софте или недонастроенной миграции между интелями и амд может и позволит тебе словить какой спецэффект. На практике — не парься и переходи на сторону «дешево и быстро».
t184256 ★★★★★
( 03.11.20 02:44:14 MSK )
У Intel — VT-x, а у AMD — AMD-Vi. http://0x0.st/id2W.png
ZenitharChampion ★★★★★
( 03.11.20 06:23:25 MSK )
Ответ на: комментарий от Alve 31.10.20 18:29:08 MSK
На сайте AMD драйверы и мануалы под Windows 10 только, де факто единственной ОС в мире. Уверен, официально и Intel вряд ли заявит «поддерживает Линукс», так как неясно какой именно линукс, какое ядро и какой дистрибутив.
В облаках, которые основные потребители процов, если на процессоре не работает бубунта, то он нафиг никому не нужен. Линукс давно в плане маржи для производителей железа съел всё остальное (а бубунта — производителей дистрибутивов).
mv ★★★★★
( 03.11.20 16:56:28 MSK )
А ты смешной. Виртуализация от intel с рождения была говном. Опять смеюсь с этих синих фанбоев. Читай http://citforum.ru/operating_systems/virtualization/part2.shtml
targitaj ★★★★★
( 03.11.20 17:11:40 MSK )
На уровне гипервизора нужен свой код для поддержки виртуализаций intel и amd. api или что там выше драйвера реализации — одинаковое.
Какие процессоры amd поддерживают виртуализацию
Список процессоров с поддержкой технологии виртуализации Intel® VT-x или AMD-V™
AMD
- Athlon 64 («Orleans»)
- Athlon 64 X2 («Windsor»)
- Athlon 64 FX («Windsor»)
- Athlon 64 and Athlon 64 X2 family of processors with «F» or «G» stepping on socket AM2,
- Turion 64 X2, and Opteron 2nd generation and 3rd-generation,
- Phenom and Phenom II processors.
- AMD-V is not supported by any Socket 939 processors. The only Sempron processors which support it are Sable, Huron and Sargas.
Intel
- Pentium 4 662 and 672
- Pentium Extreme Edition 955 and 965 (not Pentium 4 Extreme Edition with HT)
- Pentium D 9×0
- Core 2 Duo E6300, E6400, E6320, E6420, E6540, E6550, E6600, E6700, E6750, E6850 (Conroe)
- Core 2 Duo E5400, E7600, E8200, E8300, E8400, E8500, E8600 and some versions of the E7400 and E7500 (Wolfdale)
- Mobile Core 2 Duo T5600, T6670, T7100, T7200, T7250, T7300, T7400, T7500, T7600G, T7700, T7800, U7500, L7200, L7300, L7400, L7500, L7700, U7500, U7600, U7700 (Merom)
- Mobile Core 2 Duo SU7300, SU9300, SU9400, SU9600, SL9300, SL9380, SL9400, SL9600, SP9300, SP9400, SP9600, P7350 (mac),P7370, P7550 (confirmed), P7570, P8400, P8600, P8700, P8800, P9500, P9600, P9700, T8100, T8300, T9300, T9400, T9500, T9550, T9600, T9800, T9900 (Penryn)
- Core 2 Quad Q6600, Q6700 (Kentsfield)
- Core 2 Quad Q8400, Q8400S, Q9300, Q9400, Q9400S, Q9450, Q9550, Q9550S, Q9650 and some versions of the Q8300 (Yorkfield)
- Core 2 Extreme X6800 (Conroe XE)
- Core 2 Extreme QX6700, QX6800, QX6850 (Kentsfield XE)
- Core 2 Extreme QX9650, QX9770, QX9775 (Yorkfield XE)
- Xeon 3300 and +, 5000, 7000 series
- Atom Z520, Z530, Z540, Z550 (Silverthorne)
- all Intel Core i3 processors
- all Intel Core i5 processors
- all Intel Core i7 processors
- Pentium Dual-Core E6300, E6500, E6600 and some versions of the E5300 and E5400 * [1]
- Celeron SU2300, E3200, E3300, E3400
Если Вашего процессора нет в списке, можно проверить поддержку Intel® VT-x или AMD-V™ с помощью утилиты havdetectiontool.exe (179,32 Кб)
Как узнать, поддерживает ли мой компьютер виртуализацию?
Если вы планируете использовать виртуализацию в Windows 10 (Sandbox или Hyper-V), компьютер должен поддерживать ее на аппаратном уровне. Большинство новых компьютеров имеют эту функцию, но есть два типа — Intel VT-X и AMD-V. Intel VT-X — это аппаратная виртуализация, которая поставляется с ПК на базе процессоров Intel, а AMD-V — для процессоров AMD. Кроме того, они оба поддерживают 64-битные виртуальные машины.
Узнайте, поддерживает ли ваш компьютер Intel VT-X или AMD-V
Несмотря на то, что не имеет значения, какую аппаратную виртуализацию поддерживает ваш компьютер, если вы все же хотите узнать, с какой из них поставляется ваш компьютер, существует несколько способов.
Первое, что вам нужно сделать, это выяснить, является ли ваш процессор Intel или AMD. Используйте WIN + X и затем выберите Система. Он запустит раздел «О программе», в котором указан тип процессора. Теперь давайте углубимся в поиски, если у вас включена или поддерживается виртуализация на вашем компьютере.
- Сведения о процессоре диспетчера задач
- Securable Tool
- Проверьте, есть ли у вас Intel VT-X
- Просмотр детальной информации о процессоре
- Запуск утилиты Intel
1] Подробности о процессоре в диспетчере задач
- Используйте Ctrl + Shift + Esc, чтобы запустить диспетчер задач
- Перейдите на вкладку Производительность и выберите CPU
- В правом нижнем углу раздела проверьте, включена ли виртуализация
2] Воспользоваться Securable software
Это бесплатный инструмент, который может запросить системный процессор и выяснить три основных момента. 64-битная поддержка, поддержка DEP для предотвращения вредоносного кода и виртуализации. Это автономный исполняемый файл. Все, что вам нужно сделать, это запустить его.
3] Проверьте, есть ли у вас Intel VT-X
A] Просмотр деталей процессора
- Используйте Win + S, чтобы открыть окно поиска в меню «Пуск», и введите «Информация о системе».
- Под Системой Сводка → Процессор запишите имя процессора.
- Откройте сайт спецификации продуктов Intel.
- Введите номер процессора в поле поиска, расположенное справа.
- На странице продукта процессора в разделе Advanced Technologies проверьте, поддерживается ли технология Intel® Virtualization (VT-x).
B] Запустите утилиту идентификации процессоров Intel
- Загрузите, установите и запустите утилиту идентификации процессоров Intel.
- Дважды щелкните утилиту идентификации процессоров Intel на рабочем столе, чтобы открыть ее.
- Выберите вкладку CPU Technologies.
- Проверьте, установлен ли флажок Технология виртуализации Intel.
- Если этот флажок установлен, технология Intel Virtualization включена, и если установлен Intel VT -x с расширенными таблицами страниц.
4] Как проверить, есть ли у вас AMD-V
Сложно понять это, так как на сайте AMD нет четкого раздела, как Intel. Единственная доступная утилита может проверить наличие Hyper V. Загрузите и запустите AMD-V AMD-V with RVI Hyper V Compatibility Utility для проверки.
Я надеюсь, что эти методы достаточно хороши, чтобы помочь вам выяснить, есть ли у вас Intel VT или AMD-V.
Насколько публикация полезна?
Нажмите на звезду, чтобы оценить!
Средняя оценка / 5. Количество оценок:
Оценок пока нет. Поставьте оценку первым.