Proxmox cpu performance

De Linux Server Wiki
Sauter à la navigation Sauter à la recherche


Par défaut, quand vous créez une VM kvm sous proxmox, le type de cpu kvm64 est défini. Le type de cpu permet de définir les flags présent au niveau du cpu de la VM (=+- les technologies présentées au niveau du cpu).

Proxmox choisi par défaut un jeu d'instruction assez restreint afin de garantir une compatibilité optimale lors de la migration d'une VM d'un hyperviseur a un autre (ayant des cpu différents).

Pour voir les jeux d'instructions disponibles de votre cpu :

cat /proc/cpuinfo | grep flags | uniq

1 Copier le jeu d'instruction de l'hyperviseur

Dans la webui proxmox, vous pouvez modifier à tout moment le type du processeur d'une VM dans hardware > processor > type.

Vous pouvez transférer tous les flags du cpu de votre hyperviseur en passant le type de cpu à host

2 Utiliser un jeu d'instruction restreint

Mais vous pouvez aussi ajouter individuellement les flags qui vous sont nécessaires.
Pour celà, commencez par récupérer les options par défaut du cpu utilisé sur la VM lancée (a taper en ssh sur l'hyperviseur) :

ps aux  | grep 207 | grep --color=auto cpu

Vous devriez voir une option de lancement de ce type :

-cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,enforce

Pour ajouter les flags ssse3 sse4.1 sse4.2 x2apic et aes, ajoutez une ligne de directive args: dans /etc/pve/qemu-server/<vmid>.conf :

args: -cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,enforce,+ssse3,+sse4.1,+sse4.2,+x2apic,+aes

Attention, cela ne fonctionnera que si le cpu de votre hyperviseur possède les instructions demandés !

Enfin, arrêtez et démarrez votre VM. Un reboot ne suffit pas.
Il ne vous reste plus qu'a vérifier la présence de ces flags sur la vm avec cat /proc/cpuinfo