Connaitre la quantité de mémoire utilisée par une aplli

Résolu
cs_Gerard Messages postés 121 Date d'inscription jeudi 10 janvier 2002 Statut Membre Dernière intervention 7 août 2018 - 11 mai 2014 à 18:38
korgis Messages postés 420 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 6 mai 2019 - 14 mai 2014 à 23:06
Bonjour,
Je voudrais savoir s'il est possible qu'une application connaisse la mémoire qu'elle utilise...
Et bien sûr comment faire?
merci...

3 réponses

korgis Messages postés 420 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 6 mai 2019 17
11 mai 2014 à 22:15
Salut,

Fais appel à l'api Windows.

Avec GetCurrentProcess tu obtiens le handle de ton appli.
Avec GetProcessMemoryInfo, tu récupères l'info convoitée dans une structure sur laquelle tu pointes.

Ça donne un truc comme ça :

uses psAPI;

function GetAppliMemorySize: LongWord;
var
  PMC: PROCESS_MEMORY_COUNTERS; // ou TProcessMemoryCounters, c'est pareil
begin
  Result := 0;
  if GetProcessMemoryInfo(GetCurrentProcess, @PMC, Sizeof(PROCESS_MEMORY_COUNTERS)) then
    Result := PMC.WorkingSetSize;
end;


Et pense à rajouter psAPI dans les uses...

Bonne prog'.
0
cs_Gerard Messages postés 121 Date d'inscription jeudi 10 janvier 2002 Statut Membre Dernière intervention 7 août 2018
12 mai 2014 à 10:48
Merci,

j'avais bien vu sur le Forum qu'il y avait le PMC, mais cela m'avait paru bien compliqué.
j'ai essayé et cela marche.
Maintenant il me reste à voir pourquoi mon serveur dérive en occupation mémoire et qu'elle n'est pas libérée au fil du temps...
Je prejds pourtant soin de bien détruire les strucutures que je crée...

--
0
korgis Messages postés 420 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 6 mai 2019 17
14 mai 2014 à 23:06
Pas de quoi.

Si ça marche, le problème posé est [résolu]

(n'oublie pas de fermer le post)
0
Rejoignez-nous