Connaitre la quantité de mémoire utilisée par une aplli [Résolu]

Messages postés
123
Date d'inscription
jeudi 10 janvier 2002
Statut
Membre
Dernière intervention
7 août 2018
- - Dernière réponse : 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...
Afficher la suite 

3 réponses

Messages postés
420
Date d'inscription
samedi 17 mai 2003
Statut
Membre
Dernière intervention
6 mai 2019
15
0
Merci
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'.
Commenter la réponse de korgis
Messages postés
123
Date d'inscription
jeudi 10 janvier 2002
Statut
Membre
Dernière intervention
7 août 2018
0
Merci
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...

--
Commenter la réponse de cs_Gerard
Messages postés
420
Date d'inscription
samedi 17 mai 2003
Statut
Membre
Dernière intervention
6 mai 2019
15
0
Merci
Pas de quoi.

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

(n'oublie pas de fermer le post)
Commenter la réponse de korgis