Test de memoire d'un code java

Fermé
starghof Messages postés 177 Date d'inscription jeudi 18 septembre 2008 Statut Membre Dernière intervention 8 avril 2011 - 4 mai 2010 à 15:28
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 - 5 mai 2010 à 11:37
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 mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
4 mai 2010 à 17:11
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 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
4 mai 2010 à 17:11
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 jeudi 18 septembre 2008 Statut Membre Dernière intervention 8 avril 2011 4
4 mai 2010 à 17:41
Le langage est Java.
J'utilise eclipse.
0
starghof Messages postés 177 Date d'inscription jeudi 18 septembre 2008 Statut Membre Dernière intervention 8 avril 2011 4
4 mai 2010 à 17:53
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 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
Modifié par kij_82 le 5/05/2010 à 11:37
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