Proxmox cpu performance
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ésentent 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
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
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.