Logo Cinquin Andy Signature

Optimisation de ma VM Windows pour Photoshop

Développeur Freelance - Logo

Les sites et les ressources associées

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 :
  1. Éditer le fichier XML avec sudo virsh edit nom_de_la_vm
  2. Arrêter la VM
  3. Appliquer les changements système (hugepages)
  4. 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 !

DÉVELOPPONS ENSEMBLE VOS PROJETS

Une idée, un projet ? Je suis là pour répondre à vos demandes et vous accompagner.
N’hésitez pas, je serais ravi d’échanger avec vous sur votre projet !
© 2025 Andy Cinquin - Tous droits réservés - Developed & Designed with ❤️ 🐝 ForHives co-founders