2010-09-27 9 views
2

J'ai une question basique. Si j'exécute un fichier exécutable (Release, Visual Studio 2010) sur deux ordinateurs avec la même vitesse du processeur, exécutez deux systèmes d'exploitation Windows différents, par ex. Windws7 vs XP, dois-je m'attendre à voir différents usages du CPU quand je le mesure en utilisant le gestionnaire de tâches? La vitesse du processeur est-elle le seul facteur permettant de mesurer l'utilisation du processeur?L'utilisation du processeur est-elle différente?

Merci.

Sar

+0

Pour vous donner plus d'informations, j'essaie de savoir si j'obtiendrai une meilleure utilisation si je passe de Windows XP à Windows 7. Pour mesurer l'utilisation du processeur pour cet exécutable particulier, je m'assure qu'aucun programme utilisateur n'est en cours d'exécution. Je reçois la même utilisation du CPU à chaque fois. – Sar

+0

Bienvenue sur SO! La façon dont cela fonctionne ici est différente d'un messageboard normal, s'il vous plaît modifier votre question pour inclure des détails supplémentaires ou des clarifications. – STW

+0

Je tiens simplement à souligner que l'utilisation de l'UC dans certains cas n'est pas représentative du travail réellement effectué. Le temps du noyau est également important de garder une trace de. Par exemple, si un programme utilise une fonction dans le noyau du système d'exploitation qui nécessite beaucoup de temps processeur, le programme * pourrait ne pas utiliser beaucoup de temps CPU, mais en réalité le programme fait indirectement beaucoup de temps CPU. – Waxhead

Répondre

2

Différents systèmes d'exploitation? Oui.

Les systèmes d'exploitation sont l'intermédiaire entre les programmes que vous exécutez et le bare-metal qu'ils exécutent. Comme les systèmes d'exploitation changent et évoluent naturellement et suppriment les fonctions qui consomment des ressources, ce sont des choses qui fonctionnent en arrière-plan; ou ils pourraient être des changements à la manière dont le système d'exploitation parle au matériel.

En outre, la mesure de l'utilisation du processeur est effectuée par le système d'exploitation. Il n'y a pas de tachymètre sur les puces disant "fonctionnant à 87% de la ligne rouge", mais plutôt que "tach" est construit en grande partie par l'OS.


Après une meilleure compréhension de votre situation: Je vous suggère de jeter un oeil à l'Analyseur de performances (perfmon.exe) qui navires avec XP et Win7, et vous obtient plus de détails plus fine-grain sur les niveaux d'utilisation du processeur. Une autre option (très bonne) consisterait à exécuter un profileur sur votre application sur les deux systèmes d'exploitation et à comparer les résultats. Ce serait probablement la meilleure option pour comparer spécifiquement votre application sur les deux systèmes d'exploitation.

+0

Super! Je ferai une meilleure mesure performane comme vous l'avez recommandé. – Sar

2

Même sur le même système d'exploitation, vous devriez vous attendre à voir des utilisations différentes, car il y a tellement de facteurs qui déterminent l'utilisation du processeur.

+0

Salut. Merci Sam.Pour mesurer l'utilisation du processeur pour cet exécutable particulier, je m'assure qu'aucun programme utilisateur n'est en cours d'exécution. Je reçois la même utilisation du CPU à chaque fois. Mon PC exécute XP OS. Ma mission est de chercher à savoir si nous obtiendrons une meilleure utilisation si nous passons à Windows 7. – Sar

0

Le pourcentage d'utilisation de l'UC répertorié dans le gestionnaire de tâches n'est pas une très bonne indication de quoi que ce soit, sauf pour dire qu'un programme utilise ou n'utilise pas le processeur. Cette statistique particulière est dérivée des statistiques de changement de tâche, et la commutation de tâches est très sensible à pratiquement chaque chose qui se passe dans un ordinateur, de l'accès réseau à la vitesse de la mémoire à la température du processeur.