À l'aide de l'Explorateur de processus de Sysinternals, existe-t-il une colonne qui peut être utilisée pour indiquer sur quel processeur un processus s'exécute? S'il n'y a pas de colonne, existe-t-il un autre moyen?
À l'aide de l'Explorateur de processus de Sysinternals, existe-t-il une colonne qui peut être utilisée pour indiquer sur quel processeur un processus s'exécute? S'il n'y a pas de colonne, existe-t-il un autre moyen?
Réponses:
Demandé en 2005 :
Je suis très impressionné par les fonctionnalités intégrées dans Process Explorer, mais j'aimerais voir une option pour afficher chaque affinité CPU du processus dans la fenêtre principale sous la forme d'une bascule de colonne.
Pas de réponse.
Demandé en 2007 :
Merci pour ces superbes utilitaires. Ma demande consiste à ajouter une option de colonne pour traiter l'explorateur afin d'afficher l'affinité CPU. C'est ça.
Pas de réponse.
Similaire discuté en 2013 :
Ce serait vraiment bien s'il y avait une nouvelle colonne d'affichage des performances du processus appelée Utilisation du cœur qui afficherait une somme de l'utilisation sur le cœur sur lequel le processus s'exécute.
Synopsis de base: Cela ne peut pas être fait.
Les threads sont ce qui est envoyé aux cœurs pour le traitement, pas les processus. La plupart des processus modernes ont plusieurs threads.
Si vous définissez manuellement l' affinité pour un processus, tous les threads du processus doivent rester sur un seul processeur. Puisque vous l'avez défini manuellement, vous devez savoir sur quel processeur il se trouve. ;)
Mais si vous ne le spécifiez pas, le ou les threads seront contrôlés par le système d'exploitation et le matériel de traitement sous-jacent, et passeraient d'un processeur à l'autre à une vitesse qui serait inaccessible et très probablement inexacte au moment où il a été affiché. vous.
Peut-être consultez ces questions SU pour plus:
De plus, à partir de StackOverflow:
Maintenant, si vous avez écrit le programme, vous pouvez utiliser le GetCurrentProcessorNumber , qui signale le processeur actuel utilisé par le thread à partir duquel la fonction a été appelée.
Son utilisation vous permettra de faire des estimations sur l'utilisation du processeur par vos threads, car vous ne pouvez jamais être sûr où les threads seront d'un cycle à l'autre (encore une fois, sauf si vous définissez l'affinité à dessein).
Plus d'informations:
Cela peut être fait en capturant une trace xperf et en l'ouvrant avec Windows Performance Analyzer (WPA.exe) à partir de Windows Performance Toolkit, ici vous pouvez ajouter une colonne CPU pour voir quel CPU (Core) le processus est en cours d'exécution: