GNU/Linux >> Tutoriels Linux >  >> Linux

Comment savoir si un processeur prend en charge la technologie de virtualisation (VT)

Nous savions déjà comment vérifier si un système d'exploitation Linux est 32 bits ou 64 bits et comment savoir si un système Linux est une machine physique ou virtuelle . Aujourd'hui, nous allons apprendre encore un autre sujet utile, à savoir comment savoir si un processeur prend en charge la technologie de virtualisation (VT) ou non. Cela devrait être la première chose que vous voudrez peut-être vérifier avant d'installer des applications de virtualisation telles que KVM ou VirtualBox ou VMWare station de travail pour exécuter des machines virtuelles sur votre système Linux. Allons maintenant voir si notre ordinateur prend en charge VT ou non.

Trouver si un processeur prend en charge la technologie de virtualisation (VT) sous Linux

Nous pouvons vérifier si notre CPU prend en charge VT de différentes manières. Ici, j'ai énuméré quatre méthodes.

Méthode 1 :Utilisation de la commande "egrep"

Egrep est l'une des variantes de Grep utilitaire de ligne de commande utilisé pour rechercher des fichiers texte avec des expressions régulières.

Pour savoir si votre CPU prend en charge VT à l'aide de la commande egrep, exécutez :

$ egrep "(svm|vmx)" /proc/cpuinfo

Cette commande grep /cpu/procinfo/ fichier et affichez si le CPU prend en charge VT ou non.

Exemple de résultat :

Vous obtiendrez soit "vmx" (technologie Intel-VT) ou "svm" (prise en charge AMD-V) dans la sortie.

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
[...]

Étant donné que la sortie est très longue, il peut être un peu difficile de trouver les mots "vmx" ou "svm". Pas de soucis! Vous pouvez distinguer ces termes avec des couleurs comme ci-dessous.

$ egrep --color -i "svm|vmx" /proc/cpuinfo

Exemple de résultat :

Déterminez si un processeur prend en charge la virtualisation à l'aide de la commande egrep sous Linux

Si vous n'obtenez aucune sortie, cela signifie que votre système ne prend pas en charge la virtualisation.

Veuillez noter que ces indicateurs CPU (vmx ou svm) dans le fichier /proc/cpuinfo indique que votre système prendra en charge VT. Dans certains modèles de CPU, la prise en charge VT peut être désactivée dans le BIOS, par défaut. Dans de tels cas, vous devez vérifier vos paramètres BIOS pour activer la prise en charge VT.

Méthode 2 - Utilisation de la commande "lscpu"

La commande "lscpu" permet d'afficher les informations sur l'architecture de votre CPU. Il rassemble des informations à partir de sysfs, du fichier /proc/cpuinfo et affiche le nombre de processeurs, de threads, de cœurs, de sockets et de nœuds NUMA (Non-Uniform Memory Access) de votre système hôte.

Pour savoir si le support VT est activé ou non, lancez simplement :

$ lscpu

Déterminez si un processeur prend en charge la virtualisation à l'aide de la commande lscpu sous Linux

Méthode 3 - Utilisation de l'utilitaire "Cpu-checker"

Cpu-vérificateur est encore un autre utilitaire utile pour tester votre CPU pour la prise en charge de la virtualisation. D'après mes recherches sur le Web, cet utilitaire n'est disponible que pour les systèmes basés sur Ubuntu. Pour l'installer, exécutez :

$ sudo apt-get install cpu-checker

Une fois le package cpu-checker installé, exécutez la commande suivante pour vérifier si le support VT est activé ou non :

$ kvm-ok

Si votre CPU prend en charge VT, vous obtiendrez la sortie suivante :

INFO: /dev/kvm exists
KVM acceleration can be used

Déterminez si un processeur prend en charge la virtualisation à l'aide de cpu-checker

Si votre processeur ne prend pas en charge VT, vous verrez une sortie comme ci-dessous.

INFO: Your CPU does not support KVM extensions
KVM acceleration can NOT be used

Méthode 4 - Utilisation de l'outil "virt-host-validate"

Cet outil est spécifiquement destiné aux distributions basées sur RHEL telles que CentOS et Scientific Linux. Le libvirt-client le paquet fournit virt-host-validate binaire. Vous devez donc installer le package "libvert-client" pour utiliser cet outil.

$ sudo yum install libvirt-client

Maintenant, exécutez la commande "virt-host-validate" pour savoir si VT est activé ou non dans vos systèmes basés sur RHEL.

$ sudo virt-host-validate

Si vous obtenez pass pour tous les résultats, votre système prend en charge 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

Si votre système ne prend pas en charge VT, vous verrez une sortie comme ci-dessous.

QEMU: Checking for hardware virtualization : FAIL (Only emulated CPUs are available, performance will be significantly limited)
[...]

Et, c'est tout pour le moment. Dans ce guide, nous avons discuté de différentes méthodes pour savoir si un processeur prend en charge VT ou non. Comme vous pouvez le voir, c'était très facile. J'espère que cela vous a été utile.


Linux
  1. Comment trouver les principaux processus en cours d'exécution par utilisation de la mémoire et du processeur

  2. Comment puis-je savoir que mon processeur prend en charge les systèmes d'exploitation 64 bits sous Linux ?

  3. Comment savoir si ma carte sans fil prend en charge 5 GHz ?

  4. Comment trouver le statut de wlan0?

  5. Comment connaître le type de virtualisation d'un VPS linux ?

Comment vérifier si votre processeur prend en charge la technologie de virtualisation sur Ubuntu

Comment trouver les 10 principaux processus en cours d'exécution par utilisation de la mémoire et du processeur

Comment trouver des informations sur le processeur sous Linux à l'aide de la ligne de commande

Comment trouver l'utilisation du processeur, ce qui fait que le système se bloque

Comment trouver les principaux processus en cours d'exécution par utilisation de la mémoire et du processeur sous Linux

Comment trouver des fichiers dans Debian