Comment analyser l'utilisation excessive du processeur en mode noyau Windows?

8

Ma machine Windows XP a récemment commencé à me geler à chaque redémarrage impair après quelques minutes d'utilisation (différents programmes / pas de démarrage supplémentaire du tout).


Mise à jour: j'ai maintenant réussi à obtenir un peu plus de détails avec Process Explorer. Il s'agit d'un processeur à 2 cœurs et l'utilisation à 100% du noyau ne concerne qu'un seul cœur. La liste des processus affiche les DPC - Appels de procédure différée à 50% (soit 100% sur un cœur). Donc, la question est maintenant: ** Qu'est-ce que DPC et comment puis-je les résoudre ??


Prochaine mise à jour : OKIES ... en utilisant ceci et que j'ai pu faire fonctionner xperf sur mon Windows XP, et les exemples de vidages que j'ai pris s'affichent très bien sur mon ordinateur portable Win7. Oui, vous avez besoin d'un ordinateur Win7 / Vista pour afficher les sauvegardes effectuées sur Windows XP. Cependant , je suis maintenant confronté au problème suivant, je peux activer le suivi xperf , xperf -on Latencyet le problème est maintenant également réapparu lorsque le suivi xperf était activé, mais dès que mon DPC passe à 100%, Windows ne démarre aucun nouveau processus (ou leur le démarrage ne se termine jamais) (une fenêtre cmd ouverte, par exemple , reste très bien adaptée, mais chaque exe que vous essayez d'appeler se bloque simplement (dirfonctionne très bien car c'est une commande cmd) - je ne peux que supposer que ça se CreateProcessbloque avec une partie du noyau). Maintenant, ne pas pouvoir lancer de nouveau processus signifie que je ne peux pas exécuter xperf -d dumpfile.etl, car , lorsque j'entre cela dans la fenêtre cmd, il se bloque simplement .

Il semble donc que je n'ai pas de chance ici. Je préfère jeter l'ensemble de l'installation plutôt que de désactiver manuellement les pilotes ... :-)

Toutes autres idées appréciées!


Autrement dit, alors que Windows restait réactif en théorie (par exemple, le curseur de la souris se déplaçait normalement et je pouvais cliquer, et le clic était finalement reconnu), les actions prises par l'utilisateur n'étaient répondues qu'après quelques minutes (littéralement).

Exemple: appuyer sur la touche de verrouillage numérique du clavier fait normalement basculer la LED de verrouillage numérique du clavier. C'est également le cas avec ma machine semi-surgelée, mais seulement après une minute ou deux.

Une fois, j'ai réussi à lancer Process Explorer et, après quelques minutes, le graphique des informations système indiquait clairement 100% d'utilisation du processeur sur la ligne rouge (mode noyau) et la ligne verte restait à zéro. Dans cet état, bien que le graphique soit toujours mis à jour à l'écran, la machine ne pouvait plus fonctionner. (Eh bien, sauf si vous êtes prêt à attendre quelques minutes après chaque clic.)

Donc, maintenant je me demande quel pourrait être le problème, car je n'ai rien installé de nouveau sur cette machine pendant des semaines, certainement pas avant de voir ce comportement. (Le redémarrage aide parfois, parfois j'ai besoin d'un deuxième ou d'un troisième redémarrage avant que la machine ne devienne utilisable plus longtemps.)

Maintenant, comment savoir ce qui cause réellement l'utilisation excessive du mode noyau?


Remarque: également publié ceci dans les forums sysinternals .

Martin
la source
Une façon serait d'utiliser le processus d'élimination. Dans XP, exécutez le programme MSCONFIG et allez dans l'onglet DÉMARRAGE et désactivez tout, puis redémarrez et voyez si cela le résout. Si ce n'est pas le cas, essayez un programme comme AUTORUNS ou HijackThis et soyez plus agressif sur l'élimination. Une fois que vous avez récupéré les opérations, réactivez les choses une par une. 90% de la merde qui s'exécute au démarrage n'est pas nesssiary les 10% restants sont des logiciels malveillants :-)
Psycogeek
@Psycogeek - apprécié. Je préfère ne pas faire cela, car cela me prendrait des jours que je n'ai pas :-)
Martin
ahh ses minutes pour désactiver le indésirable de démarrage, il est des jours pour désactiver les pilotes de périphérique :-) quand j'essaie de régler votre problème, en utilisant tout votre ensemble d'indices, cela ressemble plus à des trucs de type virus. mais pourrait facilement être un périphérique qui ne répond pas. Vous avez des éléments bloqués à l'extérieur que vous pouvez supprimer temporairement? avez-vous exécuté une vérification des disques, comme par exemple un test SMART des lecteurs. pour voir si vous obtenez des indices de cela?
Psycogeek
Ok alors maintenant (dpc) je vais devoir vérifier les trucs ici: superuser.com/q/202254/50211 et voir si je peux aller au fond des choses .
Martin
Quel a été le résultat?
stej

Réponses:

2

Vous pouvez découvrir quelle routine DPC est à l'origine des gels en utilisant un outil comme LatencyMon ( http://www.resplendence.com/latencymon ). Recherchez simplement la routine DPC qui prend le temps total le plus long.

Zero3
la source
De toute évidence, LatencyMon ne fonctionne pas sous Windows XP. Et la question concerne un problème de performances dans le système Windows XP.
Edward
Je n'étais pas au courant de cela - merci. Ma suggestion est toujours la même - utilisez simplement un programme différent à la place. Un exemple: DPC Latency Checker ( thesycon.de/deu/latency_check.shtml ).
Zero3
En fait, les fonctionnalités de LatencyMon sont bien meilleures / plus faciles à utiliser pour les utilisateurs finaux que Latency Checker. LatencyMon analyse le système et fournit des informations très détaillées, au niveau du pilote qui consomme le plus de ressources, celle qui affecte le plus les performances du système. Un autre côté, Latency Checker affiche simplement un graphique qui ne vous donne que les informations les plus élémentaires. C'est votre système hors latence DPC ou non. D'autres œuvres sont à vous. J'ai du mal à trouver un outil égal / similaire pour XP, qui fonctionne de la même manière que LatencyMon.
Edward