LinuxOSが32ビットか64ビットかを確認する方法はすでに知っています。 およびLinuxシステムが物理マシンか仮想マシンかを確認する方法 。今日は、さらに別の有用なトピック、つまりCPUが仮想化テクノロジー(VT)をサポートしているかどうかを確認する方法を学習します。これは、 KVMなどの仮想化アプリケーションをインストールする前に最初に確認する必要があるものです。 またはVirtualBox またはVMWare Linuxシステムで仮想マシンを実行するためのワークステーション。それでは、コンピュータがVTをサポートしているかどうかを調べてみましょう。
CPUがLinuxで仮想化テクノロジー(VT)をサポートしているかどうかを確認する
CPUがVTをサポートしているかどうかをさまざまな方法で確認できます。ここに4つの方法をリストしました。
方法1:「egrep」コマンドを使用する
Egrep Grepのバリアントの1つです 正規表現を含むテキストファイルを検索するために使用されるコマンドラインユーティリティ。
egrepコマンドを使用してCPUがVTをサポートしているかどうかを確認するには、次のコマンドを実行します。
$ egrep "(svm|vmx)" /proc/cpuinfo
このコマンドはgrep/ cpu / procinfo / CPUがVTをサポートしているかどうかをファイルして表示します。
出力例:
"vmx"のいずれかを取得します (Intel-VTテクノロジー)または "svm" (AMD-Vサポート)出力で。
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 syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer xsave avx lahf_lm epb pti tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm arat pln pts [...]
出力が非常に長いため、「vmx」または「svm」という単語を見つけるのは少し難しいかもしれません。心配ない!これらの用語は、以下のような色で区別できます。
$ egrep --color -i "svm|vmx" /proc/cpuinfo
出力例:
Linuxでegrepコマンドを使用してCPUが仮想化をサポートしているかどうかを確認します
出力が得られない場合は、システムが仮想化をサポートしていないことを意味します。
/ proc / cpuinfo にあるこれらのCPUフラグ(vmxまたはsvm)に注意してください ファイルは、システムがVTをサポートすることを示しています。一部のCPUモデルでは、デフォルトでBIOSでVTサポートが無効になっている場合があります。このような場合は、BIOS設定を確認してVTサポートを有効にする必要があります。
方法2-「lscpu」コマンドを使用する
「lscpu」コマンドは、CPUアーキテクチャに関する情報を表示するために使用されます。 sysfs、/ proc / cpuinfoファイルから情報を収集し、ホストシステムのCPU、スレッド、コア、ソケット、およびNon-Uniform Memory Access(NUMA)ノードの数を表示します。
VTサポートが有効になっているかどうかを確認するには、次のコマンドを実行します。
$ lscpu
Linuxでlscpuコマンドを使用してCPUが仮想化をサポートしているかどうかを確認します
方法3-「Cpu-checker」ユーティリティの使用
CPUチェッカー 仮想化サポートについてCPUをテストするためのさらにもう1つの便利なユーティリティです。私がWebで検索した限り、このユーティリティはUbuntuベースのシステムでのみ使用できます。インストールするには、次のコマンドを実行します:
$ sudo apt-get install cpu-checker
cpu-checkerパッケージをインストールしたら、次のコマンドを実行して、VTサポートが有効になっているかどうかを確認します。
$ kvm-ok
CPUがVTをサポートしている場合、次の出力が得られます。
INFO: /dev/kvm exists KVM acceleration can be used
CPUがcpu-checkerを使用して仮想化をサポートしているかどうかを確認します
CPUがVTをサポートしていない場合は、次のような出力が表示されます。
INFO: Your CPU does not support KVM extensions KVM acceleration can NOT be used
方法4-「virt-host-validate」ツールを使用する
このツールは、CentOSやScientificLinuxなどのRHELベースのディストリビューション専用です。 libvirt-client パッケージはvirt-host-validateを提供します バイナリ。したがって、このツールを使用するには、「libvert-client」パッケージをインストールする必要があります。
$ sudo yum install libvirt-client
次に、「virt-host-validate」コマンドを実行して、RHELベースのシステムでVTが有効になっているかどうかを確認します。
$ sudo virt-host-validate
合格を取得した場合 すべての結果について、システムはVTをサポートしています。
QEMU: Checking for hardware virtualization : PASS QEMU: Checking if device /dev/vhost-net exists : PASS QEMU: Checking if device /dev/net/tun exists : PASS QEMU: Checking for cgroup 'memory' controller support : PASS QEMU: Checking for cgroup 'memory' controller mount-point : PASS QEMU: Checking for cgroup 'cpu' controller support : PASS QEMU: Checking for cgroup 'cpu' controller mount-point : PASS QEMU: Checking for cgroup 'cpuacct' controller support : PASS QEMU: Checking for cgroup 'cpuacct' controller mount-point : PASS QEMU: Checking for cgroup 'cpuset' controller support : PASS QEMU: Checking for cgroup 'cpuset' controller mount-point : PASS QEMU: Checking for cgroup 'devices' controller support : PASS QEMU: Checking for cgroup 'devices' controller mount-point : PASS QEMU: Checking for cgroup 'blkio' controller support : PASS QEMU: Checking for cgroup 'blkio' controller mount-point : PASS QEMU: Checking for device assignment IOMMU support : PASS LXC: Checking for Linux >= 2.6.26 : PASS LXC: Checking for namespace ipc : PASS LXC: Checking for namespace mnt : PASS LXC: Checking for namespace pid : PASS LXC: Checking for namespace uts : PASS LXC: Checking for namespace net : PASS LXC: Checking for namespace user : PASS LXC: Checking for cgroup 'memory' controller support : PASS LXC: Checking for cgroup 'memory' controller mount-point : PASS LXC: Checking for cgroup 'cpu' controller support : PASS LXC: Checking for cgroup 'cpu' controller mount-point : PASS LXC: Checking for cgroup 'cpuacct' controller support : PASS LXC: Checking for cgroup 'cpuacct' controller mount-point : PASS LXC: Checking for cgroup 'cpuset' controller support : PASS LXC: Checking for cgroup 'cpuset' controller mount-point : PASS LXC: Checking for cgroup 'devices' controller support : PASS LXC: Checking for cgroup 'devices' controller mount-point : PASS LXC: Checking for cgroup 'blkio' controller support : PASS LXC: Checking for cgroup 'blkio' controller mount-point : PASS
システムがVTをサポートしていない場合は、次のような出力が表示されます。
QEMU: Checking for hardware virtualization : FAIL (Only emulated CPUs are available, performance will be significantly limited) [...]
そして、今のところこれですべてです。このガイドでは、CPUがVTをサポートしているかどうかを確認するためのさまざまな方法について説明しました。ご覧のとおり、とても簡単でした。これがお役に立てば幸いです。