web-dev-qa-db-fra.com

Résoudre les problèmes d'utilisation élevée du processeur par le processus "Système"

J'ai remarqué que, depuis un certain temps, mon système se bloque et qu'il est probablement causé par la forte utilisation du processeur causée par le processus système.

Toutes les applications que je suis en train d’exécuter sont Skype, TeamSpeak et Chrome.

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

enter image description here

Parfois, l'utilisation du processeur atteint 90%, mais l'utilisation moyenne se situe entre 40 et 65%.

Mes paramètres PC:

  • Windows 8 (aperçu 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 très bien répondu, j'ai remarqué que le processus consommant le plus de ressources processeur du système s'appelle Arthurx.sys, Google indique qu'il s'agit d'un pilote TPLink (un adaptateur wifi que j'ai acheté il y a deux semaines!). pilotes a été installé à partir de Windows MSDN, mais a également essayé d'installer les pilotes à partir du CD joint, mais cela n'aide pas. Dès le démarrage du système, il utilise environ 5% du processeur uniquement, mais après 2 à 4 heures de travail, il grandit et atteint 40 à 60% de l'utilisation du processeur.

Nom de l'appareil: TPLink WN722N

81
Scott

Cela peut être dû à 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 tel que Process Explorer .

Téléchargez-le 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:

enter image description here

Basculez sur l’onglet Fil de discussion (ignorez la boîte de dialogue mentionnant les symboles):

enter image description here

Cela montrera quel fichier utilise une utilisation excessive du processeur, à partir duquel vous pouvez ensuite tenter de la diagnostiquer.

Comme d'autres l'ont dit dans les commentaires, vous devez vraiment vous éloigner des versions de Preview dès que possible!

82
Graham Wager

Pour diagnostiquer les problèmes d'utilisation du processeur, vous devez utiliser Event Tracing for Windows (ETW) pour capturer les données/profils d'échantillonnage du processeur.

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

Windows 10 WPT peut être utilisé sous 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 la version 15086 .

 enter image description here (toutes les autres entrées peuvent être désélectionnées)

Exécutez maintenant WPRUI.exe, sélectionnez First Level, sous Ressource, sélectionnez Utilisation du processeur et cliquez sur démarrer .

 enter image description here

Capturez maintenant 1 minute d'utilisation du processeur. Après 1 minute, cliquez sur Save .

Maintenant analysez le fichier ETL généré avec Windows Performance Analyzer en glissant-déposant le graphique CPU Usage (sampled) dans le analysis pane et en classant les colonnes comme ci-dessous:

 enter image description here

Dans WPA, chargez les symboles de débogage et développez Stack du processus SYSTEM. Dans cette démonstration, l'utilisation du processeur provient du pilote nVIDIA.


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

 enter image description here


Lorsque vous voyez des appels tels que ntoskrnl.exe! Vi KeTrimWorkerThreadRoutine, ntoskrnl.exe! Mm Vérificateur TrimMemory, ntoskrnl.exe! Vérificateur KeLeaveCriticalRegion Cela signifie que Driver Verifier est activé. Cela nuit également beaucoup aux performances et entraîne une utilisation élevée du système. Désactivez le vérificateur de pilotes et redémarrez.

 enter image description here


Dans cette démo, le pilote iai2ce.sys (pilote du contrôleur GPIO du serveur Intel IO) le provoque:

 enter image description here


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

 enter image description here


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

 enter image description here


Dans l'exemple suivant, l'utilisation du processeur est déterminée par le pilote réseau Broadcom bcmwl664.sys

 enter image description here


Quand vous voyez ntoskrnl.exe!MiZeroWorkerPages comme cause, c'est plus compliqué. Cela signifie que la fonction du noyau qui met la mémoire à zéro avant de pouvoir la réutiliser provoque une utilisation élevée du processeur:

 enter image description here

Il n'y a pas de véritable moyen de détecter le processus qui le cause, mais je sais que Chrome peut en être la cause si l'accélération matérielle est activée dans Chrome. Par conséquent, si vous voyez cela et utilisez Chrome, désactivez l'accélération matérielle dans Chrome.


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

 enter image description here

l'utilisation du processeur provient du noyau pour tester la mémoire pour des problèmes (memtest). Cette utilisation est déclenchée via la tâche de maintenance inactive de Windows 8.1/10. Vous pouvez utiliser le Planificateur de tâches pour désactiver la tâche inactive.

 enter image description here

Dans Windows 10, la tâche s'appelle RunFullMemoryDiagnostics sous Microsoft> Windows> MemoryDiagnostic> RunFullMemoryDiagnostic .

 enter image description here


Dans ce cas, l'utilisation du processeur semble provenir de la fonctionnalité Data Deduplication (dedup.sys!DdpPostCreate) de Windows Server:

 enter image description here


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

 enter image description here

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


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

 enter image description here

Contactez donc votre service informatique pour savoir comment résoudre les problèmes de Citrix.


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

 enter image description here

Modification du nombre de ports USB 2.0 à la vitesse 1.1 ou la connexion de lecteurs USB à d’autres ports USB 2.0 a aidé certains utilisateurs.


Dans ce cas, une petite partie de l'utilisation de SYSTEM provient du pilote Acronis tdrpm251.sys:

 enter image description here


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

 enter image description here

donc un pilote utilise SpinLocks très fortement. Désactivez certains périphériques/pilotes jusqu'à ce que vous en voyiez un qui en soit la cause.


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

 enter image description here

C'est le pilote qualcomm atheros AR8171/8175 PCI-E gigabit Ethernet. Mettez donc à jour le pilote si vous le voyez dans la pile.


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

 enter image description here

assurez-vous que votre fichier hosts n'est pas trop volumineux pour éviter cette utilisation.


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

 enter image description here

Mettez à jour votre produit symantec usagé vers la dernière version.


Ici, l'utilisation du processeur provient du pilote du processeur graphique AMD (atikmdag.sys).

 enter image description here

si vous voyez cela, rendez-vous sur le site AMD et procurez-vous le dernier pilote pour votre carte AMD.


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

 enter image description here

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


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

 enter image description here

Cette fonction obtient des informations sur le fichier d'échange.

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

Désactivez le fichier d'échange, redémarrez-le, activez-le à nouveau et voyez si cela le corrige. En outre, la suppression des services Intel (par exemple, le service HECI d'Intel Content Protection) semble avoir résolu le problème pour un utilisateur .


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

 enter image description here

Comme 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 que les symboles de débogage voient la pile d’appel avec le nom de fonction flushCompleteAllPendingFlushRequests.

Ici, vous devriez installer le dernier pilote Intel pour le réparer.


Le cas le plus compliqué d’utilisation de SYSTEM est l’utilisation de ACPI.sys dans la pile d’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

c'est extrêmement difficile à déboguer. Dans un sujet sysinternals , j’ai énuméré quelques conseils:

  • assurez-vous que le processeur ne surchauffe pas à cause de la poussière dans le ventilateur du processeur
  • mettre à jour ou re-flasher le (même) BIOS/UEFI
  • charger les paramètres BIOS/UEFI par défaut
  • assurez-vous que la batterie n'est pas endommagée, retirez-la du portable ou désactivez-la dans le Gestionnaire de périphériques.
  • changez le cavaliersur le disque dur si vous avez remplacé le lecteur de DVD/Blue-Ray par un caddy pour installer un disque SSD à côté de votre ancien disque dur

 enter image description here


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

 enter image description here

La solution consiste à mettre à jour vers driver avec une version d'au moins .4590.


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

 enter image description here

Cela semble être un pilote de streaming audio . Mettez donc à jour ce logiciel/pilote si vous le voyez dans WPA.


Si vous voyez un pilote appelé risdxc64.sys dans la pile d'appels de SYSTEM qui entraîne une utilisation intensive du processeur, mettez à jour le pilote Contrôleur hôte PCIe SDXC/MMC ou désactivez le lecteur de carte SD dans le gestionnaire de périphériques si aucune mise à jour de pilote ne le résout.

 enter image description here

Ce lecteur de carte SD semble être intégré à de nombreux périphériques Lenovo.


73
magicandre1981

Remarque sur le chargement des symboles de débogage à ajouter à l'excellente réponse de magicandre1981 : si le chargement des symboles dans Windows Performance Analyzer fonctionne correctement, après avoir coché Suivi> Charger les symboles, vous devriez voir une barre de progression sur le dessus avec Chargement de symboles qui affiche les noms de fichiers à côté et prend quelques minutes à compléter. De plus, vous devriez voir plusieurs lignes comme celle 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 aucun de ces éléments, le chargement des symboles de débogage n'a probablement pas fonctionné et vous ne pourrez pas interpréter correctement votre trace.

Dans mon cas, le chargement initial des symboles de débogage ne fonctionnait pas. 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 rechercher le tag * 32 dans le Gestionnaire des tâches. Si ce n’est pas le cas, vous utilisez la version x64.

    Notez que WPT est toujours installé sur Program Files (x86), quelle que soit l’architecture.

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

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

  3. Redémarrez Windows Performance Analyzer pour que la version correcte de dbghelp.dll soit sélectionnée.

3
AronVanAmmers

Premièrement, la critique et les informations fournies sont très informatives, mais vous pouvez généralement comprendre cela avec beaucoup moins d’intelligence! J'ai simplement utilisé MSCOFIG.EXE et une recherche binaire pour isoler le service incriminé. J'ai trouvé que la plupart des problèmes de ce type sont causés par les logiciels Intel. Je commence par désactiver tout service n'ayant pas de nom de société. Ensuite, je commence sur les services Intel. Ensuite, la recherche binaire complète. Cela prend généralement au plus une heure pour résoudre le problème sur le PC de quelqu'un. Intel n’a jamais été une bonne société d’informatique et leurs logiciels le démontrent. Regardons les choses en face: l’architecture du Pentium avait dix ans à sa sortie. Qui aurait construit une architecture d'ordinateur avec une mémoire paginée à l'époque de VAX? Eh bien, je ne vais pas vous ennuyer avec l'histoire. Pas que je sois fan d’AMD ou de Microsoft non plus. Peut-être qu'un jour nous reviendrons à la construction de vrais ordinateurs.

0
Leonard Umina