Virtualboxでavxを有効化

mongoDB5.0系列以降ではAVXという拡張命令セット*が有効になっている必要がある.筆者の環境は第6世代のインテル Core i3 プロセッサー Skylake の Core i3-6100U を使っていて AVX はもちろん AVX2 にも対応している.

しかし,Virtualbox を使って動かしている Multipass で立ち上げた Ubuntu のVMインスタンスで確認すると AVX は利用可能とはなっていない.当然のことながら,mongoDB5.0系列以降を動かすことができない.

Windowsで使われている Hyper-V で AVX を用いているので,そのままだと Virtualbox は AVX は使えない.そうなると, Virtualbox の上で立ち上げたVMインスタンスからはCPUは AVX 非対応となってしまう. Hyper-V を OFF にして Virtualbox で AVX を有効化するということは,Windowsの機能の有効化または無効化のパネルにおける Hyper-Vの機能 の ON/OFF で出来ていると思っていた.

ところが, Multipass で立ち上げた Ubuntu のVMインスタンスで確認すると AVX 非対応.

Hyper-V 仮想化を無効するにはこれだは足りなくて,WindowsのPowerShellを管理者権限で立ち上げて,以下のコマンドを入力する必要がある.

bcdedit /set hypervisorlaunchtype off

PCを再起動した上で,Multipass から Ubuntu のVMインスタンスに入り,

sudo lshw -class processor

と入力すると CPUの情報が表示される.

*-cpu
product: Intel(R) Core(TM) i3-6100U CPU @ 2.30GHz
vendor: Intel Corp.
physical id: 2
bus info: cpu@0
version: 6.78.3
width: 64 bits
capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr
pge mca cmov pat pse36 clflush mmx
fxsr sse sse2 ht syscall nx rdtscp
x86-64 constant_tsc rep_good nopl xtopology nonstop_tsc cpuid
tsc_known_freq pni pclmulqdq ssse3 cx16 pcid sse4_1
sse4_2 x2apic movbe popcnt aes xsave
avx rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase bmi1
avx2 bmi2 invpcid rdseed clflushopt arat md_clear flush_l1d

と AVX , AVX2 に対応しているということが確認できる.

Mathematics is the language with which God has written the universe.





















view関数 Docker composeのインストール Goのインストール ローレンツ曲線の描画 multipassでのマウント dockerのインストール