Dépanner l'utilisation élevée du processeur par le processus "Système"

J'ai remarqué que depuis quelque temps mon système est en gelée et probablement causé par l'utilisation élevée du processeur causée par le processus du système.

Toutes les applications que je suis en cours d'exécution sont les Skype, TeamSpeak et Chrome, donc il ne devrait absolument pas manger cette quantité de CPU.

Vous pouvez voir le problème lui-même et exécuter les processus dans la capture d'écran ci-dessous:

Entrez la description de l'image ici

Parfois, l'utilisation du processeur atteint 90%, mais l'utilisation moyenne est de 40 à 65%.

Paramètres de mon PC:

  • Windows 8 (aperçu du client)
  • Intel Core i3 – 2350M
  • 8 Go de RAM

J'apprécierais toute tentative d'aide! Cordialement.

–METTRE À JOUR–

Comme l'utilisateur ci-dessous a posté une excellente réponse, j'ai remarqué que le processus qui consomme le plus de CPU dans le système s'appelle Arthurx.sys , google simple dit qu'il s'agit d'un pilote TPLink (un adaptateur wifi, j'ai acheté il ya 2 semaines !) A été installé à partir du MSDN de Windows, mais a également essayé d'installer les pilotes à partir du CD ci-joint, mais cela n'aide pas. À partir du démarrage du système, il utilise 5% seulement de la CPU, mais après 2 à 4 heures de travail, il augmente et atteint 40 à 60% de l'utilisation de la CPU.

Nom de l'appareil: TPLink WN722N

Cela peut être causé par un pilote défectueux ou un autre module chargé par le système. Pour regarder l'intérieur du processus système, vous pouvez utiliser un outil comme Process Explorer .

Téléchargez et exécutez-le, puis sélectionnez le processus Système, cliquez avec le bouton droit de la souris et sélectionnez Propriétés:

Entrez la description de l'image ici

Passez à l'onglet Threads (ignorez la boîte de dialogue qui mentionne les symboles):

Entrez la description de l'image ici

Cela montrera quel fichier utilise l'utilisation excessive du processeur, à partir de laquelle vous pouvez ensuite essayer de le diagnostiquer.

Comme d'autres l'ont dit dans les commentaires, vous avez vraiment besoin de vous éloigner des versions prévisibles dès que possible!

Pour diagnostiquer les problèmes d'utilisation de la CPU, vous devez utiliser Event Tracing pour Windows (ETW) pour capturer les données / profil d'échantillonnage de la CPU.

Pour capturer les données, installez Windows Performance Toolkit , qui fait partie du SDK de Windows .

Le Windows 10 WPT peut être utilisé sur Windows 8 / Server 2012, Windows 8.1 / Server 2012R2 et Windows 10 / Server 2016. Si vous utilisez toujours Windows 7, utilisez le SDK / WPT avec Build 15086 )

Entrez la description de l'image ici (Toutes les autres entrées peuvent être désactivées)

Maintenant, exécutez WPRUI.exe , sélectionnez First Level , sous Ressource, sélectionnez l'utilisation de la CPU et cliquez sur Démarrer .

Entrez la description de l'image ici

Maintenant, capturez 1 minute de l'utilisation du processeur. Après 1 minute, cliquez sur Enregistrer .

Maintenant, analysez le fichier ETL généré avec l'analyseur de performance Windows en glisser et déposer le graphique CPU Usage (sampled) la CPU Usage (sampled) dans le analysis pane et commander les colonnes comme vous le voyez dans l'image:

Entrez la description de l'image ici

À l'intérieur de WPA, chargez les symboles de débogage et développez la pile du processus SYSTEM. Dans cette démo, l'utilisation du processeur provient du pilote nVIDIA.


Dans la démo suivante, l'utilisation du processeur provient du pilote Realtek NIC:

Entrez la description de l'image ici


Lorsque vous voyez des appels comme ntoskrnl.exe! Vi KeTrimWorkerThreadRoutine, ntoskrnl.exe! Mm Verifier TrimMemory, ntoskrnl.exe! Vérificateur KeLeaveCriticalRegion cela signifie que vous avez activé Driver Verifier. Cela nuit beaucoup à la performance et entraîne une utilisation élevée du système. Désactiver le vérificateur de pilote et redémarrer.

Entrez la description de l'image ici


Dans cette démo, le pilote iai2ce.sys (pilote Intel Serial IO GPIO Controller) l'entraîne:

Entrez la description de l'image ici


Dans cet exemple, l'utilisation du processeur provient du fichier rtsuvc.sys qui se rtsuvc.sys pour être le Realtek UVC webcam Driver

Entrez la description de l'image ici


Cette démonstration montre que le pilote Bitdefender ignis.sys

Entrez la description de l'image ici


Dans l'exemple suivant, l'utilisation de la CPU est effectuée par le pilote de réseau bcmwl664.sys

Entrez la description de l'image ici


Lorsque vous voyez ntoskrnl.exe!MiZeroWorkerPages comme cause, c'est plus difficile. Cela signifie que la fonction du noyau qui zéros la mémoire avant qu'il puisse être utilisé à nouveau entraîne une utilisation élevée du processeur:

Entrez la description de l'image ici

Il n'y a aucun moyen réel de détecter le processus qui l'entraîne, mais je sais que CHrome peut le provoquer si vous avez une accélération matérielle activée sur Chrome. Donc, si vous voyez cela et utilisez Chrome, activez l'accélération HW dans Chrome.


Lorsque vous voyez ces ntoskrnl.exe! RtlpGenericRandomPatternWorker, ntoskrnl.exe! RtlpTestMemoryRandomUp appelle

Entrez la description de l'image ici

L'utilisation du processeur provient du Kernel pour tester la mémoire pour les problèmes (memtest). Cette utilisation est déclenchée via la tâche de maintenance inactive de Windows 8.1 / 10. Vous pouvez utiliser Task Scheduler pour désactiver la tâche inactive.

Entrez la description de l'image ici


Dans ce cas, les coutures d'utilisation du processeur proviennent de Data Deduplication Feature ( dedup.sys!DdpPostCreate ) de Windows Server:

Entrez la description de l'image ici


Dans cette démo, l'utilisation du processeur est causée par le pilote de carte WIFI athrx.sys

Entrez la description de l'image ici

Recherchez une mise à jour du pilote si vous voyez cela.


Dans la démo suivante, un pilote citrix est impliqué:

Entrez la description de l'image ici

Contactez donc votre informatique pour résoudre les problèmes Citrix.


Dans cette démo, la fonction usbhub.sys!UsbhPortRecycle provoque l'utilisation du processeur:

Entrez la description de l'image ici

La modification des ports USB2.0 à la vitesse 1.1 ou la connexion des disques USB à d'autres ports USB 2.0 a permis à certains utilisateurs.


Dans ce cas, une petite quantité d'utilisation du système provient du pilote Acronis tdrpm251.sys :

Entrez la description de l'image ici


Dans cette démo, l'utilisation du processeur ntoskrnl.exe!KeAcquireSpinLockRaiseToDpc et ntoskrnl.exe!KeReleaseSpinLock .

Entrez la description de l'image ici

Donc un conducteur utilise très fortement SpinLocks . Désactivez certains périphériques / pilotes jusqu'à ce que vous voyiez celui qui le provoque.


Dans ce cas, l'utilisation du processeur est causée par le pilote L1C62x64.sys

Entrez la description de l'image ici

Il s'agit du qualcomm atheros AR8171/8175 PCI-E gigabit Ethernet . Alors, mettez le pilote à jour si vous le voyez dans la pile.


Ici, l'utilisation du processeur provient de la numérisation du fichier hôte (netbt.sys! DelayedScanLmHostFile)

Entrez la description de l'image ici

Assurez-vous que votre fichier hôtes n'est pas trop important pour éviter cette utilisation.


Dans ce cas, l'utilisation du processeur provient de SRTSP64.SYS de Symantec.

Entrez la description de l'image ici

Mettez à jour votre produit symantec utilisé jusqu'à la dernière version.


Ici, la CPU usgae provient du pilote AMD GPU (atikmdag.sys)

Entrez la description de l'image ici

Si vous voyez cela, accédez au site AMD et obtenez le dernier pilote pour votre carte AMD.


Ici, les pilotes TMXPFlt.sys et VsapiNt.sys entraînent une utilisation élevée du processeur.

Entrez la description de l'image ici

D'après ce que je vois, ces fichiers font partie de Trend Micro AV suite. Mettre à jour l'outil ou le supprimer.


Dans cet exemple, l'utilisation du processeur provient de la fonction ntoskrnl.exe!MmGetPageFileInformation

Entrez la description de l'image ici

Cette fonction obtient des informations sur le fichier de page.

Routine Description: Cette routine renvoie des informations sur les fichiers de pagination actuellement actifs.

Désactivez le fichier de la page, redémarrez-le et réactivez-le et regardez s'il le corrige. En supprimant également les services Intel (p. Ex., Le service Intel HECI de protection du contenu), vous l'avez réparé pour un utilisateur .


Ici, vous pouvez voir que le pilote Netwtw04.sys (pilote Intel Wifi) appelle la fonction flushCompleteAllPendingFlushRequests et cela entraîne une utilisation élevée du processeur.

Entrez la description de l'image ici

Étant donné que les symboles de débogage sont chargés, le pilote de la boîte de réception Windows est utilisé. Seulement ici, nous pouvons obtenir des symboles de débogage pour voir le calltack avec le nom de la fonction flushCompleteAllPendingFlushRequests .

Ici, vous devez installer le dernier pilote d'Intel pour le réparer.


Le cas le plus complexe de l'utilisation du système est l'utilisation de ACPI.sys dans l'appel:

 Line #, DPC/ISR, Module, Stack, Count, Process, Weight (in view) (ms), TimeStamp (s), % Weight 6, , , | |- ACPI.sys!ACPIWorkerThread, 40246, , 39.992,941063, , 4,13 7, , , | | ACPI.sys!RestartCtxtPassive, 40246, , 39.992,941063, , 4,13 8, , , | | ACPI.sys!InsertReadyQueue, 40246, , 39.992,941063, , 4,13 9, , , | | ACPI.sys!RunContext, 40246, , 39.992,941063, , 4,13 10, , , | | ntoskrnl.exe!KeReleaseSpinLock, 40246, , 39.992,941063, , 4,13 11, , , | | ntoskrnl.exe!KiDpcInterrupt, 40246, , 39.992,941063, , 4,13 12, , , | | ntoskrnl.exe!KiDispatchInterruptContinue, 40246, , 39.992,941063, , 4,13 13, , , | | ntoskrnl.exe!KxRetireDpcList, 40246, , 39.992,941063, , 4,13 14, , , | | ntoskrnl.exe!KiRetireDpcList, 40246, , 39.992,941063, , 4,13 15, , , | | |- ntoskrnl.exe!KiExecuteAllDpcs, 40198, , 39.945,173325, , 4,13 16, , , | | | |- ACPI.sys!ACPIInterruptDispatchEventDpc, 27565, , 27.408,930428, , 2,83 17, , , | | | | |- ACPI.sys!ACPIGpeEnableDisableEvents, 24525, , 24.384,921620, , 2,52 18, , , | | | | | ACPI.sys!ACPIWriteGpeEnableRegister, 24525, , 24.384,921620, , 2,52 19, , , | | | | | |- hal.dll!HalpAcpiPmRegisterWrite, 24421, , 24.281,015516, , 2,51 20, , , | | | | | | |- hal.dll!HalpAcpiPmRegisterWritePort, 24166, , 24.027,316013, , 2,48 

Ceci est extrêmement difficile à déboguer. Dans un sujet systémique, j'ai énuméré quelques conseils:

  • Assurez-vous que la CPU ne surchauffe pas en raison de la poussière dans le ventilateur CPU
  • Mettre à jour ou re-flash le (même) BIOS / UEFI
  • Charge par défaut des paramètres BIOS / UEFI
  • Assurez-vous que la batterie n'est pas endommagée, retirez la batterie du portable ou désactivez la batterie dans le gestionnaire de périphérique.
  • Changez le cavalier sur le panier HDD si vous avez remplacé le DVD / Blue-Ray Drive avec un Caddy pour installer un SSD à côté de votre ancien disque dur

Entrez la description de l'image ici

  • Désactivez certains périphériques comme le conseille cet utilisateur
  • Si vous utilisez un chipset Intel, essayez d'installer Intel Fast Rapid Storage Technology (RST) pour remplacer le pilote AHCI standard de Windows. Cela a également aidé .
  • L'utilisateur Shayna a découvert que l'utilisation de Process Hacker (démarré comme administrateur) pour suspendre les threads des problèmes ACPI.sys "corrige" le problème pour lui. Essayez donc sa solution de contournement si toutes les autres étapes ne le réparent pas.

Dans la démo suivante, le pilote Intel HD igdkmd64.sys dans la version .4574 pour l'Intel HD 630 provoque le problème:

Entrez la description de l'image ici

La solution consiste à mettre à jour le pilote avec une version d'au moins .4590.


Dans le cas suivant, l'utilisation du processeur par le processeur est causée par le pilote stdriverx64.sys

Entrez la description de l'image ici

Ces coutures sont un pilote de diffusion audio . Donc, mettre à jour ce logiciel / pilote est-ce que vous voyez cela dans WPA?


Si vous voyez un pilote appelé risdxc64.sys dans callstack de SYSTEM qui provoque l'utilisation élevée du processeur, mettez à jour le pilote Ricoh PCIe SDXC / MMC Host Controller ou désactivez le lecteur de carte SD dans le gestionnaire de périphériques si aucune mise à jour du pilote ne le corrige.

Entrez la description de l'image ici

Ce lecteur de carte SD est censé être installé sur de nombreux périphériques Lenovo.


Une note sur le chargement des symboles de débogage pour ajouter à l'excellente réponse de magicandre1981 : si le chargement des symboles dans Windows Performance Analyzer fonctionne correctement, après avoir coché Trace> Load Symbols, vous devriez voir une barre de progression en haut avec les symboles de chargement qui montrent les noms de fichier à côté et prend Plusieurs minutes à compléter. Vous devriez également voir plusieurs lignes comme ci-dessous dans la Console de diagnostic:

 SYMSRV: File: Accessibility.ni.pdb SYMSRV: Notifies the client application that a proxy has been detected. SYMSRV: Connecting to the Server: http://msdl.microsoft.com/download/symbols. SYMSRV: Successfully connected to the Server. SYMSRV: Sending the information request to the server. SYMSRV: Successfully sent the information request to the server. SYMSRV: Waiting for the server to respond to a request. SYMSRV: Successfully received a response from the server. SYMSRV: Closing the connection to the Server. SYMSRV: Successfully closed the connection to the Server. SYMSRV: Get File Path: /download/symbols/Accessibility.ni.pdb/7B46178957827CDAB7EE4C86EDEE1DAE1/Accessibility.ni.pdb 

Si vous ne voyez pas l'un de ces deux, le chargement des symboles de débogage probablement n'a pas fonctionné et vous ne pourrez pas interpréter correctement votre trace.

Dans mon cas, le chargement initial des symboles de débogage n'a pas fonctionné. Je l'ai corrigé en suivant ces instructions :

  1. Déterminez si vous utilisez la version x86 ou x64 de Windows Performance Toolkit.

    C'est facile sur les versions x86 de Windows. Sur les versions x64, vous pouvez vérifier le Gestionnaire des tâches pour la balise * 32. Si ce n'est pas là, alors vous exécutez la version x64.

    Notez que WPT est toujours installé sur Program Files (x86) indépendamment de l'architecture.

  2. Copiez les fichiers dbghelp.dll et symsrv.dll répertoire de débogueur correct dans le répertoire Windows Performance Toolkit. Sur mon système, les répertoires pertinents sont:

    C:\Program Files (x86)\Windows Kits\10\Debuggers\x64 et C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit

  3. Redémarrez l'analyseur de performance Windows afin que la version correcte de dbghelp.dll soit récupérée.

J'ai eu le même problème, il a disparu lorsque j'ai supprimé un module RAM. Il semble qu'il soit défectueux. Exécution de Windows 7, 32 bits.