Page 2 sur 2

Re: Comment savoir le pourcentage d'utilisation du processeu

Publié : mer. 25/oct./2017 8:18
par Kwai chang caine
Désoler KCC mais tu vois, bha pour une fois....
T'as pas été assez clair ont dirait ^^
Bah disons que j'ai expliqué à quelqu'un qui programme depuis des années, sur tous les sujets, et plusieurs langages... 8O
Le gestionnaire de taches doit exister depuis w95... c'est plus un scoop :wink:

J'aurais peut être fait des dessins si c'était pour ma belle mère, ou un enfant....
Bon je sais.... Astérix vient de sortir...mais jsuis pas fan de BD :lol:

Re: Comment savoir le pourcentage d'utilisation du processeu

Publié : mer. 25/oct./2017 8:43
par GallyHC
Bonjour,

Pour la mémoire avec le PID du programme :

Code : Tout sélectionner

ProcedureDLL UsedMemoryByProcessID(pid.i)
  ;
  ;
  ;
  Define.i iLibrary, hProcess, iMemory, hresult = -1
  Define.PROCESS_MEMORY_COUNTERS pmc
  ;
	hProcess = OpenProcess_(#PROCESS_QUERY_INFORMATION | #PROCESS_VM_READ, #False, pid)
	If hProcess <> 0
	  iLibrary = OpenLibrary(#PB_Any,"PSAPI.DLL")
		If iLibrary <> 0
			iMemory = GetFunction(iLibrary,"GetProcessMemoryInfo")
			If iMemory <> 0
  	  	CallFunctionFast(iMemory, hProcess, @pmc, SizeOf(pmc))
  	  	hresult = pmc\WorkingSetSize
			EndIf
  		CloseLibrary(iLibrary)
		EndIf
	EndIf
	;
  ProcedureReturn hresult

EndProcedure
Cordialement,
GallyHC

Re: Comment savoir le pourcentage d'utilisation du processeu

Publié : mer. 25/oct./2017 10:51
par Shadow
Merci GallyHC !

Mais pourquoi les valeur mémoire sont différente dans le gestionnaire des tâches ?
Les valeur du programme indiquer son plus petite !
La différence est assez grosse !

Re: Comment savoir le pourcentage d'utilisation du processeu

Publié : mer. 25/oct./2017 11:07
par Ar-S
J'ai testé. J'obtiens 1.5mo dans le gestionnaire de tâche et 1.1xxxx mo via le prog. La différence est effectivement importante.
J'ai d'ailleurs changé le hresult en .f plutôt qu'en .i

Re: Comment savoir le pourcentage d'utilisation du processeu

Publié : mer. 25/oct./2017 11:19
par GallyHC
Peux être parce-qu'il y a plusieurs type de mémoires utilisées par un programme, comme le montre la 2eme capture de "TazNormand"?

Après la variable "PMC" est une structure de "PROCESS_MEMORY_COUNTERS", donc il y a forcement plusieurs résultat possible... au moins ce qui a en bas :

Code : Tout sélectionner

      cb.l
      PageFaultCount.l
      PeakWorkingSetSize.l
      WorkingSetSize.l
      QuotaPeakPagedPoolUsage.l
      QuotaPagedPoolUsage.l
      QuotaPeakNonPagedPoolUsage.l
      QuotaNonPagedPoolUsage.l
      PagefileUsage.l
      PeakPagefileUsage.l
Ar-S a écrit :J'ai testé. J'obtiens 1.5mo dans le gestionnaire de tâche et 1.1xxxx mo via le prog. La différence est effectivement importante.
J'ai d'ailleurs changé le hresult en .f plutôt qu'en .i
pourquoi un .f tu auras qu'un nombre de bits forcement sans virgule.

GallyHC

Re: Comment savoir le pourcentage d'utilisation du processeu

Publié : mer. 25/oct./2017 11:30
par Ar-S
Pour la conversion en mo ?

Re: Comment savoir le pourcentage d'utilisation du processeu

Publié : mer. 25/oct./2017 11:38
par GallyHC
Possible aussi ^^

Re: Comment savoir le pourcentage d'utilisation du processeu

Publié : mer. 25/oct./2017 12:12
par Zorro
GallyHC a écrit : pourquoi un .f tu auras qu'un nombre de ̶b̶i̶t̶e̶ bits forcement sans virgule.
GallyHC

Re: Comment savoir le pourcentage d'utilisation du processeu

Publié : mer. 25/oct./2017 13:45
par Shadow
Sur un programme qui fais plus de 800 Mo, j'obtiens env 600 Mo.

Re: Comment savoir le pourcentage d'utilisation du processeu

Publié : mer. 25/oct./2017 13:50
par GallyHC
Image

Comme dit plus haut dans le Gestionnaire des tâches tu as au moins 7 "types" de mémoires possibles.