Optimisation de ma VM Windows pour Photoshop
Publié le - 23 février 2025 par Andy Cinquin
VMFedoraWindows
J'ai optimisé ma VM Windows pour avoir un Photoshop plus réactif. Voici les changements clés que j'ai effectués dans la configuration.
Configuration CPU
Avant
<vcpu placement="static">8</vcpu>
<cpu mode="host-passthrough" check="none" migratable="on"/>
Le CPU était en mode partagé - tous les cœurs étaient en compétition entre Linux et Windows.
Après
<vcpu placement="static">6</vcpu>
<cputune>
<vcpupin vcpu='0' cpuset='1'/>
<vcpupin vcpu='1' cpuset='2'/>
<vcpupin vcpu='2' cpuset='3'/>
<vcpupin vcpu='3' cpuset='4'/>
<vcpupin vcpu='4' cpuset='5'/>
<vcpupin vcpu='5' cpuset='6'/>
<emulatorpin cpuset='0,7'/>
</cputune>
<cpu mode="host-passthrough" check="none" migratable="off">
<topology sockets="1" cores="6" threads="1"/>
<cache mode="passthrough"/>
</cpu>
Maintenant, chaque cœur virtuel est assigné à un cœur physique spécifique. Les cœurs 0 et 7 sont réservés à Linux.
Gestion de la Mémoire
Avant
<memoryBacking>
<source type="memfd"/>
<access mode="shared"/>
</memoryBacking>
Configuration mémoire basique sans optimisations particulières.
Après
<memoryBacking>
<hugepages/>
<nosharepages/>
<source type="memfd"/>
<access mode="shared"/>
</memoryBacking>
Ajout des hugepages pour une meilleure gestion de la mémoire et réduction des latences.
Configuration Disque
Avant
<disk type="file" device="disk">
<driver name="qemu" type="qcow2" discard="unmap"/>
<source file="/var/lib/libvirt/images/win11-tiny.qcow2"/>
<target dev="sda" bus="sata"/>
</disk>
Configuration disque par défaut sans optimisations I/O.
Après
<disk type="file" device="disk">
<driver name="qemu" type="qcow2" discard="unmap" cache="none" io="native"/>
<source file="/var/lib/libvirt/images/win11-tiny.qcow2"/>
<target dev="sda" bus="sata"/>
<iotune>
<total_bytes_sec>4294967296</total_bytes_sec>
<read_iops_sec>6000</read_iops_sec>
<write_iops_sec>6000</write_iops_sec>
</iotune>
</disk>
Optimisation des accès disque avec cache natif et limites I/O équilibrées.
Interface Réseau
Avant
<interface type="network">
<model type="e1000e"/>
</interface>
Émulation d'une carte réseau Intel e1000e (plus compatible mais moins performante).
Après
<interface type="network">
<model type="virtio"/>
</interface>
Utilisation du driver virtio pour des performances réseau optimales.
Configuration Additionnelle
Il faut aussi activer les hugepages sur le système Linux hôte :
sudo bash -c "echo 'vm.nr_hugepages = 6144' >> /etc/sysctl.d/40-hugepages.conf"
sudo sysctl -p /etc/sysctl.d/40-hugepages.conf
Ces modifications donnent :
- Une interface Windows plus réactive
- De meilleures performances dans Photoshop
- Une meilleure cohabitation entre Linux et Windows
- Des accès disque plus rapides
Pour appliquer ces changements, il faut :
- Éditer le fichier XML avec
sudo virsh edit nom_de_la_vm
- Arrêter la VM
- Appliquer les changements système (hugepages)
- Redémarrer la VM
🚀 Merci d'avoir lu jusqu'ici !
Si cet article vous a plu, partagez-le autour de vous.
💡 Une idée en tête ? Discutons-en !☕