Votre PC sous Windows 11 devient inutilisable car « Service Host: Inventory and Compatibility Appraisal Service » (Microsoft Compatibility Appraiser) avale toute la RAM ? Voici un guide concret pour diagnostiquer, corriger et prévenir cette fuite mémoire—sans nuire à vos mises à jour.
Vue d’ensemble du problème
Depuis une récente mise à jour de Windows 11, certains utilisateurs voient le processus Service Host: Inventory and Compatibility Appraisal Service augmenter progressivement son empreinte mémoire jusqu’à atteindre 90–99 % d’utilisation. À ce stade, les applications gèlent (navigateur, messagerie, IDE), et même l’arrêt manuel du processus via le Gestionnaire des tâches n’offre qu’un répit de courte durée. L’ajout de RAM ne résout pas le fond du problème : il s’agit d’un comportement de type fuite mémoire du service d’évaluation de compatibilité.
Symptômes et confirmation rapide
- Utilisation de la mémoire qui grimpe en continu, même au repos.
- Le processus fautif apparaît comme Service Host (svchost.exe) hébergeant « Inventory and Compatibility Appraisal Service » ou « Microsoft Compatibility Appraiser ».
- La fermeture du processus via le Gestionnaire des tâches n’empêche pas sa relance lors du prochain déclenchement planifié.
- Les pics coïncident souvent avec l’exécution d’une tâche planifiée située dans \Microsoft\Windows\Application Experience.
Ce que fait réellement l’Appraiser
Le Microsoft Compatibility Appraiser (appraiser/CompatTel) réalise un inventaire matériel et logiciel, puis évalue la compatibilité de votre machine avec les builds et drivers à venir. Ces données permettent à Windows Update de déterminer l’éligibilité aux mises à niveau de fonctionnalité et d’anticiper les conflits connus. En d’autres termes, c’est utile pour la qualité et le rythme des mises à jour, mais non essentiel au fonctionnement quotidien de vos applications.
Solutions proposées et étapes détaillées
Commencez par la désactivation de la tâche planifiée. Si la fuite persiste (ou si le service reste suspendu en mémoire avec une consommation élevée), désactivez également le service. Terminez par un contrôle d’intégrité système (DISM/SFC).
| Étape | Action | Résultat attendu | Remarques |
|---|---|---|---|
| 1 | Désactiver la tâche planifiée 1. Ouvrir « Planificateur de tâches » (taper Task Scheduler dans le menu Démarrer). 2. Naviguer vers Bibliothèque du Planificateur de tâches ▸ Microsoft ▸ Windows ▸ Application Experience. 3. Clic droit sur Microsoft Compatibility Appraiser → Désactiver. 4. Redémarrer le PC. | Le processus ne devrait plus se relancer automatiquement. | Solution rapide et réversible. |
| 2 | Désactiver le service (si la tâche suspendue consomme toujours de la RAM) 1. ⊞ Win + R → services.msc → Entrée.2. Chercher Inventaire et évaluation de compatibilité (ou nom équivalent). 3. Double‑cliquer → Type de démarrage : Désactivé → Arrêter → Appliquer. 4. Redémarrer à nouveau. | Empêche définitivement le lancement du service jusqu’à ré‑activation manuelle. | Peut retarder l’éligibilité à certaines mises à jour majeures ou à la détection de nouveaux périphériques. |
| 3 | Appliquer les correctifs système (facultatif mais recommandé) Invite de commandes (admin) : DISM /Online /Cleanup-Image /RestoreHealthSFC /scannow | Répare les fichiers système corrompus susceptibles d’aggraver la fuite mémoire. | Utile après une mise à jour défectueuse. |
Équivalents en ligne de commande (rapide et scriptable)
Si vous préférez automatiser—ou intervenir sur plusieurs PC—utilisez les commandes ci‑dessous (exécutez dans une console PowerShell/Invite de commandes en tant qu’administrateur).
Désactiver la tâche planifiée (PowerShell)
# PowerShell (administrateur)
$taskPath = "\Microsoft\Windows\Application Experience"
$taskName = "Microsoft Compatibility Appraiser"
Disable-ScheduledTask -TaskPath $taskPath -TaskName $taskName -ErrorAction SilentlyContinue
# Vérifier l'état
Get-ScheduledTask -TaskPath $taskPath -TaskName $taskName | Format-List State, TaskName, TaskPath
Désactiver la tâche planifiée (Invite de commandes)
schtasks /Change /TN "\Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser" /Disable
schtasks /Query /TN "\Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser"
Désactiver le service (PowerShell)
# Localiser le service par son intitulé (affichage FR/EN selon build)
$svc = Get-CimInstance Win32_Service | Where-Object {
$_.DisplayName -match "Inventaire.*compatibilit|Compatibility.*Appraisal"
}
if ($svc) {
Stop-Service -Name $svc.Name -Force -ErrorAction SilentlyContinue
Set-Service -Name $svc.Name -StartupType Disabled
Get-Service -Name $svc.Name | Format-List Name, DisplayName, Status, StartType
} else {
Write-Host "Service d'évaluation de compatibilité introuvable. Vérifiez l'intitulé exact."
}
Désactiver le service (Invite de commandes)
:: Remplacer <NomService> par le nom système si connu (ex. PcaSvc/DiagTrack/Appraiser selon build)
sc stop <NomService>
sc config <NomService> start= disabled
sc query <NomService>
Contrôles d’intégrité (DISM / SFC)
Après des mises à jour, des incohérences peuvent amplifier une fuite mémoire. Exécutez ces commandes, redémarrez, puis re‑testez :
DISM /Online /Cleanup-Image /RestoreHealth
SFC /scannow
Mesures avancées pour environnements professionnels
Neutraliser proprement à l’échelle d’un parc
- GPP (Group Policy Preferences) ▸ Scheduled Tasks : ciblez la tâche Microsoft Compatibility Appraiser et définissez Enabled = false.
- Script de démarrage (GPO) : exécutez les commandes schtasks / PowerShell ci‑dessus sur chaque poste.
- Plan de réactivation : prévoyez un GPO inverse pour ré‑activer la tâche lors de la publication d’un correctif Microsoft.
Télémetry : minimiser sans bloquer les mises à jour
Réduire le niveau de télémétrie peut limiter l’activité de l’Appraiser, mais évitez de couper brutalement sur des éditions où cela dégrade Windows Update. Sur Enterprise/Education, le niveau Security (0) est possible ; sur Pro/Home, restez au niveau minimal autorisé et privilégiez la désactivation ciblée de la tâche.
Collecte d’éléments de preuve (post‑mortem)
- Journaux Planificateur : Observateur d’événements ▸ Journaux des applications et des services ▸ Microsoft ▸ Windows ▸ TaskScheduler ▸ Operational.
- Journaux Windows Update : Microsoft ▸ Windows ▸ WindowsUpdateClient.
- Capture Perf : compteurs Process, Memory et un WPR court (30–120 s) pendant la montée de mémoire.
Surveiller et contenir la fuite (script de repli)
Si vous devez garder la télémétrie active, créez une surveillance qui redémarre le service quand sa mémoire dépasse un seuil. Le script ci‑dessous journalise la consommation et relance le service si nécessaire.
# PowerShell - Exécuter en tâche planifiée (toutes les 10-15 min)
$log = "$env:ProgramData\AppraiserMonitor.log"
$thresholdMB = 1500 # Seuil de 1,5 Go, à ajuster selon votre RAM
$svc = Get-CimInstance Win32_Service | Where-Object {
$_.DisplayName -match "Inventaire.*compatibilit|Compatibility.*Appraisal"
}
if ($svc -and $svc.ProcessId -gt 0) {
try {
$p = Get-Process -Id $svc.ProcessId -ErrorAction Stop
$ws = [math]::Round($p.WorkingSet64 / 1MB, 0)
$ts = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
Add-Content -Path $log -Value "$ts | PID=$($p.Id) | WS=${ws}MB"
if ($ws -gt $thresholdMB) {
Add-Content -Path $log -Value "$ts | Seuil dépassé: redémarrage du service $($svc.Name)"
Restart-Service -Name $svc.Name -Force -ErrorAction SilentlyContinue
}
} catch {
# Processus disparu entre-temps
}
} else {
# Rien à surveiller ou service désactivé
}
Conseils de diagnostic approfondi
Compteurs PerfMon utiles
| Objet\Compteur | Cible | À surveiller |
|---|---|---|
| Process\Working Set / Private Bytes | svchost (PID hébergeant l’Appraiser) | Courbe ascendante continue pendant > 5–10 min, sans retomber. |
| Memory\Committed Bytes | Système | Augmentation parallèle aux fuites du processus. |
| Memory\Available MBytes | Système | Chute nette à l’approche de 0 → risque d’arrêt d’applis. |
| Paging File\% Usage | pagefile.sys | Montée inhabituelle = pression mémoire réelle. |
Emplacements de journaux
| Journal | Chemin (Observateur d’événements) | Indications |
|---|---|---|
| Task Scheduler | Microsoft » Windows » TaskScheduler » Operational | Heure de déclenchement, durée, codes de retour. |
| Application Experience | Microsoft » Windows » Application-Experience | Erreurs de collecte/inventaire. |
| Windows Update Client | Microsoft » Windows » WindowsUpdateClient | Étapes de l’éligibilité, téléchargements corrélés. |
Bonnes pratiques pour éviter la récidive
- Attente active après mise à jour : laissez 10–15 minutes au système pour terminer ses tâches d’indexation et d’évaluation après un Patch Tuesday, puis évaluez la stabilité.
- Mémoire virtuelle : évitez de désactiver le fichier d’échange. Laissez Windows le gérer automatiquement.
- Exclusions antivirus ciblées (test) : pour diagnostic, excluez temporairement les dossiers d’inventaire (p. ex. répertoires de diagnostics) puis réactivez—n’en faites pas une solution permanente.
- Pilotes à jour : un driver instable peut faire gonfler l’inventaire. Mettez à jour les pilotes critiques (chipset, stockage, GPU).
- Surveillance : mettez en place un suivi PerfMon ou le script de repli ci‑dessus, surtout sur des postes critiques.
Comment revenir en arrière / réactiver
Réactivez la collecte lorsque Microsoft publie un correctif officiel ou avant une mise à niveau de version.
Réactiver la tâche planifiée
# PowerShell
Enable-ScheduledTask -TaskPath "\Microsoft\Windows\Application Experience" -TaskName "Microsoft Compatibility Appraiser"
# Invite de commandes
schtasks /Change /TN "\Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser" /Enable
Réactiver le service
# PowerShell
$svc = Get-CimInstance Win32_Service | Where-Object {
$_.DisplayName -match "Inventaire.*compatibilit|Compatibility.*Appraisal"
}
if ($svc) {
Set-Service -Name $svc.Name -StartupType Manual
Start-Service -Name $svc.Name
Get-Service -Name $svc.Name | Format-List Name, DisplayName, Status, StartType
}
# Invite de commandes
sc config <NomService> start= demand
sc start <NomService>
Alternative radicale (à utiliser prudemment)
Si l’incident coïncide exactement avec une mise à jour et qu’aucune des mesures ci‑dessus ne stabilise la machine, vous pouvez désinstaller la mise à jour incriminée ou revenir à un point de restauration récent.
:: Remplacez XXXXX par l'identifiant KB à désinstaller
wusa /uninstall /kb:XXXXX /quiet /norestart
Utilisez cette option comme pont vers un correctif durable (Microsoft publie fréquemment des correctifs cumulatifs).
FAQ rapide
Ajouter de la RAM suffit‑il ?
Non. La fuite consommera la nouvelle RAM jusqu’à saturer à nouveau. Il faut corriger la cause (tâche/service/OS corrompu).
Est‑ce dangereux de désactiver l’Appraiser ?
Non pour l’usage quotidien. Cependant, cela peut retarder la disponibilité de certaines mises à jour majeures ou bloquer un diagnostic de compatibilité jusqu’à réactivation.
Puis‑je supprimer l’exécutable ?
Non recommandé. Supprimer/renommer des fichiers système peut casser Windows Update. Préférez la désactivation contrôlée via tâche et service.
Pourquoi la désactivation de la tâche ne suffit-elle pas toujours ?
Parce que le service peut rester suspendu, ou être réveillé par d’autres mécanismes. D’où la désactivation conjointe de la tâche et du service.
Checklist minute (récapitulatif)
- Désactiver Microsoft Compatibility Appraiser dans le Planificateur.
- Désactiver/arrêter le service « Inventaire et évaluation de compatibilité ».
- Redémarrer et observer la mémoire sur 10–15 minutes.
- Lancer
DISMpuisSFC. - Option : déployer la surveillance (script) jusqu’à la sortie d’un correctif.
Informations complémentaires utiles
- Impact sur les mises à jour : l’Appraiser valide la compatibilité des builds. Le désactiver peut décaler des mises à jour de fonctionnalité ; surveillez les notes de version et réactivez‑le lors d’un correctif officiel.
- Patchs cumulatifs : un correctif arrive souvent dans un lot « Patch Tuesday ». Pensez à vérifier Windows Update après quelques jours.
- Solution de repli : si vous devez garder la télémétrie, automatisez le redémarrage du service et journalisez sa mémoire pour détecter le moment où la fuite disparaît.
- Restauration : en dernier recours, désinstallez la mise à jour récente ou restaurez un point système antérieur.
Tableau de commandes essentielles
| Objectif | PowerShell | Invite de commandes |
|---|---|---|
| Désactiver la tâche Appraiser | Disable-ScheduledTask -TaskPath "\Microsoft\Windows\Application Experience" -TaskName "Microsoft Compatibility Appraiser" | schtasks /Change /TN "\Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser" /Disable |
| Réactiver la tâche | Enable-ScheduledTask -TaskPath "\Microsoft\Windows\Application Experience" -TaskName "Microsoft Compatibility Appraiser" | schtasks /Change /TN "\Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser" /Enable |
| Désactiver le service | Set-Service -Name <NomService> -StartupType Disabled ; Stop-Service -Name <NomService> -Force | sc stop <NomService> & sc config <NomService> start= disabled |
| Réactiver le service | Set-Service -Name <NomService> -StartupType Manual ; Start-Service -Name <NomService> | sc config <NomService> start= demand & sc start <NomService> |
| Réparer l’image | DISM /Online /Cleanup-Image /RestoreHealth | |
| Vérifier l’intégrité | SFC /scannow | |
| Désinstaller un KB | wusa /uninstall /kb:XXXXX /quiet /norestart | |
Conclusion
Le service Inventory and Compatibility Appraisal joue un rôle clé pour la qualité des mises à jour, mais une fuite mémoire peut rendre un PC inutilisable. La combinaison « désactivation de la tâche + désactivation du service + DISM/SFC » stabilise la plupart des machines, le tout en conservant la possibilité de réactiver proprement lorsque Microsoft publie un correctif. Grâce aux commandes et scripts fournis, vous pouvez à la fois rétablir la productivité immédiatement et préparer un retour en configuration standard en un clic.

