Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/06/2007, à 11:02

LR

Profiler un programme java

Salut,

J'ai un programme java qui me donne des OutOfMemoryErrors et je ne trouve pas d'où ça vient.

Connaisssez-vous des outils de profiling ? J'ai installé Eclipse TPTP mais je ne sais pas l'utiliser et quand je le lance il me donne des erreurs. Je pourrais persévérer mais je manque de temps roll

Merci d'avance
Lilian

Hors ligne

#2 Le 05/06/2007, à 13:34

nikko

Re : Profiler un programme java

Salut,

j'aurais dit tptp aussi. Si jamais tu résoud les erreurs voici un tutoriel:
http://www.eclipsetotale.com/articles/TPTP.html

Sinon en cherchant rapidement, je suis tombé sur :
Yourkit, un profiler proprio testable 15 jours:
http://www.yourkit.com/download/index.jsp
Jrat : http://jrat.sourceforge.net/quickstart.html

Des plugins eclipse (peut-être un peu vieux):
http://jmechanic.sourceforge.net/
http://eclipsecolorer.sourceforge.net/index_profiler.html

Netbeans dispose aussi d'un profiler:
http://profiler.netbeans.org/

Et dernière chose si tu utilise java 1.6 (Mustang) tu peux utiliser jhat:
http://java.sun.com/javase/6/docs/technotes/tools/share/jhat.html
http://java.sun.com/developer/technicalArticles/J2SE/monitoring/
http://blogs.sun.com/alanb/entry/heap_dumps_are_back_with
http://weblogs.java.net/blog/jfarcand/archive/2006/02/using_mustangs.html

Nikko

Hors ligne

#3 Le 05/06/2007, à 13:35

LR

Re : Profiler un programme java

Je voire, merci beaucoup cool

Hors ligne

#4 Le 06/06/2007, à 13:15

highflyer

Re : Profiler un programme java

LR a écrit :

Salut,

J'ai un programme java qui me donne des OutOfMemoryErrors et je ne trouve pas d'où ça vient.

Connaisssez-vous des outils de profiling ? J'ai installé Eclipse TPTP mais je ne sais pas l'utiliser et quand je le lance il me donne des erreurs. Je pourrais persévérer mais je manque de temps roll

Merci d'avance
Lilian

C'est une erreur dans le sens qu'il n'y pas assez de mémoire, je ne vois pas trop à quoi peut servir un profilage dans ce cas. Soit tu as une grosse structure de données (ArrayList,...) ça vient certainement de là, et dans ce cas tu peux essayer d'économiser de la mémoire. Où alors ça peut arriver à n'importe quel moment, et pas à cause d'un action précise, dans ce cas tu ne peux rien faire à part allouer plus de mémoire (flag -Xmx256M pour 256 Mo de ram par ex.).

Tu peux aussi utiliser jconsole (du jdk) qui visualise en temps réel l'utilisation mémoire, les threads et le nombre de classes chargées.

Eclipse TPTP est effectivement une * a configurer, mais une fois que ça marche c'est puissant (à part le bug persistant pour profiler une GUI sous Linux).

#5 Le 06/06/2007, à 13:21

LR

Re : Profiler un programme java

Merci pour ta réponse highflyer.

Mon programme utilise jasperreports pour générer des pdf et des documents excel. Dans un cas il y a un volume très important de données et la génération du rapport consomme trop de mémoire. Il y a des solutions en  utilisant des virtualizer mais pour l'instant ça ne règle pas mon problème.

Hors ligne

#6 Le 06/06/2007, à 16:16

highflyer

Re : Profiler un programme java

LR a écrit :

Merci pour ta réponse highflyer.

Mon programme utilise jasperreports pour générer des pdf et des documents excel. Dans un cas il y a un volume très important de données et la génération du rapport consomme trop de mémoire. Il y a des solutions en  utilisant des virtualizer mais pour l'instant ça ne règle pas mon problème.

Dans ce cas, augmenter la mémoire allouée à la machine virtuelle, ou fragmenter le volume de données à générer (j'ai jamais essayé jasperreports je ne peux pas être plus précis).