Test de memoire d'un code java

starghof Messages postés 177 Date d'inscription   Statut Membre Dernière intervention   -  
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   -
Salut tout le monde.
je voudrais bien savoir quel outil utilisé pour mesurer la charge en mémoire d'un code java. sachant que je parle pas de tout une application java, c'est juste un bout de code d'un programme java afin de faiore ds tests de comparaisons entre des différentes méthodes java.
Merci.

A voir également:

5 réponses

arth Messages postés 9374 Date d'inscription   Statut Contributeur Dernière intervention   1 293
 
Hello,

Je n'y connais rien, mais j'ai vu qu'ils avaient implémenté un nouveau tool dans les dernières versions des JDK, qui s'appelle jvisualvm, on peut y ajouter des plugins pour voir des spécificités différentes sur les objets crées, la mémoire allouée, enfin il me semble que c'est ça.

Je ne sais pas si ça répondra à ta question.
0
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Bonjour,

Ca dépends du langage dans lequel tu le veux.

Un peu plus de précision de ce coté là ?
0
starghof Messages postés 177 Date d'inscription   Statut Membre Dernière intervention   4
 
Le langage est Java.
J'utilise eclipse.
0
starghof Messages postés 177 Date d'inscription   Statut Membre Dernière intervention   4
 
J'ai essayé java visualVM mais ça donne des stats sur profiler( CPU Memory)... pour les thread et les objets du programme java en cours d'ecécution. mais moi je veux savoir la consommation mémoire pour une méthode de mon programme.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Autant pour moi, j'ai "mal lu", ou mal compris ce que tu avais écrit, j'ai cru que ton programme étais dans un autre langage que Java.


Pour mesurer cette mémoire, est-ce que tu peux toucher / mettre à jour le code de la fonction à tester ?
Si oui, alors il te faut juste ajouter en début et fin de méthode de quoi récupérer la mémoire utilisée, la mémoire restante, puis lorsque tu as ces chiffres, faire une différence pour voir ce que ta méthode a utilisée. Par contre tu ne peux pas le faire en dehors de cette méthode à tester, sinon il y a des chances que le garbage collector soit déjà passé par là pour vider des zones mémoires inutilisée suite à la fermeture de ta fonction (tout ce qui était utilisé dans ta fonction et qui ne l'est plus par la suite)

En Java tu peux donc récupérer ces informations, mais c'est relatif au system et non à un process unique.

Regarde la javadoc des fonctions suivantes, et ce qui gravite autour des fois que tu trouve ton bonheur:
  Runtime.getRuntime().freeMemory(); 
  Runtime.getRuntime().maxMemory(); 
  Runtime.getRuntime().totalMemory(); 


Il faut donc être certains qu'il n'y ai que notre process qui tourne à ce moment là (je pense).


~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :) ~
0