Obtenir le temps processeur d'un processus (en fonction de son pid)

Soyez le premier à donner votre avis sur cette source.

Vue 8 739 fois - Téléchargée 715 fois

Description

Permet d'obtenir (entre autres) le "temps processeur", information visible dans taskmgr et qui mesure réellement l'utilisation du CPU par un processus.

Petite explication du fonctionnement d'un processeur : il n'effectue pas des calculs sur tout les programmes en même temps, mais chacun à la suite. Il mobilise ainsi 1 milliseconde sur un processus, puis 5 nanosecondes sur un autre...etc le tout en fonction :
-de la priorité du processus
-de la demande du processus (nécessité de faire des calculs).

D'où l'intérêt de connaitre cette valeur pour réellement savoir si un processus est "gourmand" en UC ou pas.

Comme je n'ai RIEN trouvé sur ce site (ni même ailleurs) pour récupérer cette si précieuse valeur, j'ai créé cette source. C'est pas bien compliqué, la plupart de la source est dans l'API utilisée, mais comme il n'existait rien de tel, je poste ma source ;)

Dernière info : le temps processeur est la somme du temps Noyeau (kernel) et du temps Utilisateur (user).

Source / Exemple :


'Tout est dans cette APi :

Private Declare Function GetProcessTimes Lib "kernel32" (ByVal hProcess As Long, lpCreationTime As FILETIME, lpExitTime As FILETIME, lpKernelTime As Currency, lpUserTime As Currency) As Long

'Les deux derniers temps sont déclarés en Currency et non en FILETIME pour permettre de récupérer de manière simple (sans conversion) les temps désirés.

'Le fichier *.zip contient la fonction (dans le module) et un exemple d'utilisation (dans la form).
'Code TRES commenté.

Conclusion :


Posté suite à cette question
http://www.vbfrance.com/infomsg_CONVERSION-TYPES-DONNEES-64-BITS-GT-32-BITS_804694.aspx
et sachant aussi que j'ai cru voir quelque part sur ce site une demande pour l'objet de cette source...

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1812
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
26 octobre 2010
1
Messages postés
2
Date d'inscription
mercredi 12 novembre 2003
Statut
Membre
Dernière intervention
12 février 2007

violent_ken ton programme fonctionne.

Je cherche l'info contenu dans la colonne "Processeur", (pas temps processeur)du tskmngr.
Je n'arrive pas à la trouver. Peux-tu m'aiguiller.

Merci
Messages postés
1812
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
26 octobre 2010
1
Merci ^_^
Bonne prog, @+
Messages postés
2215
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009

Salut, au début j'ai cru que ça permettais de récupérer le pourcentage d'utilisation du processeur par les processus, mais en fait ce n'est pas ça et effectivement ce code n'existait pas auparavant sur CS. Alors bonne idée ^^ et bon boulot ;)
Messages postés
1812
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
26 octobre 2010
1
Salut, c'est tout à fait possible (et c'est même mieux), j'ai juste séparé en deux pour pouvoir rendre la source parfaitement compréhensible.

Question de lisibilité à l'origine donc, mais il est vrai qu'il serait bien plus logique de prendre les deux valeurs en même temps !

Merci pour ce commentaire, @+
Afficher les 11 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.