Wir wussten bereits, wie man prüft, ob ein Linux-Betriebssystem 32-Bit oder 64-Bit ist und wie man herausfindet, ob ein Linux-System eine physische oder virtuelle Maschine ist . Heute lernen wir noch ein weiteres nützliches Thema kennen, nämlich wie man feststellt, ob eine CPU die Virtualisierungstechnologie (VT) unterstützt oder nicht. Dies sollte das erste sein, was Sie überprüfen sollten, bevor Sie Virtualisierungsanwendungen wie KVM installieren oder VirtualBox oder VMWare Workstation, um virtuelle Maschinen auf Ihrem Linux-System auszuführen. Lassen Sie uns nun herausfinden, ob unser Computer VT unterstützt oder nicht.
Finden Sie heraus, ob eine CPU Virtualization Technology (VT) in Linux unterstützt
Wir können mit verschiedenen Methoden überprüfen, ob unsere CPU VT unterstützt. Hier habe ich vier Methoden aufgelistet.
Methode 1:Verwenden des "egrep"-Befehls
Egrep ist eine der Varianten von Grep Befehlszeilenprogramm, das zum Durchsuchen von Textdateien mit regulären Ausdrücken verwendet wird.
Um herauszufinden, ob Ihre CPU VT mit dem Befehl egrep unterstützt, führen Sie Folgendes aus:
$ egrep "(svm|vmx)" /proc/cpuinfo
Dieser Befehl grep /cpu/procinfo/ Datei und zeigt an, ob die CPU VT unterstützt oder nicht.
Beispielausgabe:
Sie erhalten entweder "vmx" (Intel-VT-Technologie) oder "svm" (AMD-V-Unterstützung) in der Ausgabe.
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 [...]
Da die Ausgabe sehr lang ist, kann es etwas schwierig sein, die Wörter "vmx" oder "svm" zu finden. Keine Bange! Sie können diese Begriffe mit Farben wie unten unterscheiden.
$ egrep --color -i "svm|vmx" /proc/cpuinfo
Beispielausgabe:
Finden Sie heraus, ob eine CPU Virtualisierung unterstützt, indem Sie den Befehl egrep in Linux verwenden
Wenn Sie keine Ausgabe erhalten, bedeutet dies, dass Ihr System keine Virtualisierung unterstützt.
Bitte beachten Sie, dass diese CPU-Flags (vmx oder svm) in der /proc/cpuinfo Datei gibt an, dass Ihr System VT unterstützt. Bei einigen CPU-Modellen ist die VT-Unterstützung möglicherweise standardmäßig im BIOS deaktiviert. In solchen Fällen sollten Sie Ihre BIOS-Einstellungen überprüfen, um die VT-Unterstützung zu aktivieren.
Methode 2 - Verwendung des "lscpu"-Befehls
Der Befehl "lscpu" wird verwendet, um die Informationen über Ihre CPU-Architektur anzuzeigen. Es sammelt Informationen aus der Datei sysfs, /proc/cpuinfo und zeigt die Anzahl der CPUs, Threads, Kerne, Sockets und Non-Uniform Memory Access (NUMA)-Knoten Ihres Hostsystems an.
Um herauszufinden, ob die VT-Unterstützung aktiviert ist oder nicht, führen Sie einfach Folgendes aus:
$ lscpu
Finden Sie heraus, ob eine CPU Virtualisierung unterstützt, indem Sie den Befehl lscpu in Linux verwenden
Methode 3 - Verwenden des Dienstprogramms "Cpu-Checker"
Cpu-Checker ist ein weiteres nützliches Dienstprogramm zum Testen Ihrer CPU auf Virtualisierungsunterstützung. Soweit ich im Internet gesucht habe, ist dieses Dienstprogramm nur für Ubuntu-basierte Systeme verfügbar. Um es zu installieren, führen Sie Folgendes aus:
$ sudo apt-get install cpu-checker
Führen Sie nach der Installation des cpu-checker-Pakets den folgenden Befehl aus, um zu prüfen, ob die VT-Unterstützung aktiviert ist oder nicht:
$ kvm-ok
Wenn Ihre CPU VT unterstützt, erhalten Sie die folgende Ausgabe:
INFO: /dev/kvm exists KVM acceleration can be used
Finden Sie mit cpu-checker heraus, ob eine CPU Virtualisierung unterstützt
Wenn Ihre CPU VT nicht unterstützt, sehen Sie eine Ausgabe wie unten.
INFO: Your CPU does not support KVM extensions KVM acceleration can NOT be used
Methode 4 – Verwenden des Tools „virt-host-validate“
Dieses Tool ist speziell für RHEL-basierte Distributionen wie CentOS und Scientific Linux gedacht. Der libvirt-Client Paket stellt virt-host-validate bereit binär. Sie müssen also das Paket "libvert-client" installieren, um dieses Tool zu verwenden.
$ sudo yum install libvirt-client
Führen Sie nun den Befehl „virt-host-validate“ aus, um festzustellen, ob VT in Ihren RHEL-basierten Systemen aktiviert ist oder nicht.
$ sudo virt-host-validate
Wenn Sie bestanden bekommen Für alle Ergebnisse unterstützt Ihr System 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
Wenn Ihr System VT nicht unterstützt, sehen Sie eine Ausgabe wie unten.
QEMU: Checking for hardware virtualization : FAIL (Only emulated CPUs are available, performance will be significantly limited) [...]
Und das ist alles für jetzt. In diesem Handbuch haben wir verschiedene Methoden besprochen, um herauszufinden, ob eine CPU VT unterstützt oder nicht. Wie Sie sehen können, war es sehr einfach. Ich hoffe, das war hilfreich.