OVH Cloud OVH Cloud

Ralentissement d'une application

5 réponses
Avatar
hat-hor
Bonjour,

Le logiciel que je développe se ralentit et devient inutisable après
2h de fonctionnement. Je voudrais savoir si l'un d'entre vous a déjà
rencontré des problèmes similaires et s'il existe des outils pour
analyser le fonctionnement d'un programme Java.


J'explique mon problème :

Nous avions une application qui tournait sous Unix avec une interface
Motif. Cette applications pouvait tourner une journée entière, ouvrir
plusieurs dizaines de fenêtres simultanément, afficher des graphes,
des tableaux... C'était donc un programme qui consommait pas mal de
ressources mais qui fonctionnait parfaitement bien et avec des temps
réactions imperceptibles.
Lors du portage vers Windows, nous avons choisi de la réécrire en Java.
Et le résultat est très mauvais.
Au bout d'à peine 2h d'utilisation, le système se ralentit pour devenir
très rapidement inutilisable. A chaque interaction avec l'interface, il
faut attendre près d'une minute pour que l'ihm se rafraichisse.
Comme je n'ai que le "gestionnaire de programmes" pour analyser, ce
n'est pas simple. Mais on peut voir pendant ces phases là, que le cpu
n'est pas du tout utilisé et que la mémoire n'est consommée qu'à 10% du
total disponible.
Je ne sais donc pas ce que peut faire le système pendant ce temps.

Je n'ai pas la possibilité de tester sous linux au boulot mais sous
solaris et irix, il n'y a pas besoin d'attendre 2h pour que ce soit
inutilisable.


Voilà, je sais que c'est vague mais si quelqu'un avait un début de piste
à me proposer, ça m'aiderait bien.

Merci par avance,
--
Stéphane.

5 réponses

Avatar
Laurent Bossavit
Stéphane,

Voilà, je sais que c'est vague mais si quelqu'un avait un début de piste
à me proposer, ça m'aiderait bien.


Utilise un profiler, type JProfiler ou OptimizeIt, pour localiser la
"fuite mémoire" probablement à l'origine du problème. ("Fuite mémoire"
est un abus de langage, mais je simplifie...)

Laurent
http://bossavit.com/thoughts/

Avatar
Mouloud Samadi
Lance ton application avec les arguments suivants:
-XrunpiAgent : server=standalone, file =monlog.trcxml
Ouvre ton fichier monlog, tu auras toutes les informations qu'un agent de
profilage peut te fournir
Tu peux ajouter un paramètre filters = filtre.txt, dans lequel tu pourras
inclure ou exclure des packages ou des classes, exemple
com.mycompany.monpackage.*=INCLUDE
com.mycompany.* =EXCLUDE

Mouloud
"Laurent Bossavit" wrote in message
news:
Stéphane,

Voilà, je sais que c'est vague mais si quelqu'un avait un début de piste
à me proposer, ça m'aiderait bien.


Utilise un profiler, type JProfiler ou OptimizeIt, pour localiser la
"fuite mémoire" probablement à l'origine du problème. ("Fuite mémoire"
est un abus de langage, mais je simplifie...)

Laurent
http://bossavit.com/thoughts/



Avatar
Trognon Patrice
Bonjour,

OptimizeIt est ton ami.
Sinon tu as JProbe aussi.


Cordialement,

Patrice
http://www.javadevel.com


Bonjour,

Le logiciel que je développe se ralentit et devient inutisable après
2h de fonctionnement. Je voudrais savoir si l'un d'entre vous a déjà
rencontré des problèmes similaires et s'il existe des outils pour
analyser le fonctionnement d'un programme Java.


J'explique mon problème :

Nous avions une application qui tournait sous Unix avec une interface
Motif. Cette applications pouvait tourner une journée entière, ouvrir
plusieurs dizaines de fenêtres simultanément, afficher des graphes,
des tableaux... C'était donc un programme qui consommait pas mal de
ressources mais qui fonctionnait parfaitement bien et avec des temps
réactions imperceptibles.
Lors du portage vers Windows, nous avons choisi de la réécrire en Java.
Et le résultat est très mauvais.
Au bout d'à peine 2h d'utilisation, le système se ralentit pour devenir
très rapidement inutilisable. A chaque interaction avec l'interface, il
faut attendre près d'une minute pour que l'ihm se rafraichisse.
Comme je n'ai que le "gestionnaire de programmes" pour analyser, ce
n'est pas simple. Mais on peut voir pendant ces phases là, que le cpu
n'est pas du tout utilisé et que la mémoire n'est consommée qu'à 10% du
total disponible.
Je ne sais donc pas ce que peut faire le système pendant ce temps.

Je n'ai pas la possibilité de tester sous linux au boulot mais sous
solaris et irix, il n'y a pas besoin d'attendre 2h pour que ce soit
inutilisable.


Voilà, je sais que c'est vague mais si quelqu'un avait un début de piste
à me proposer, ça m'aiderait bien.

Merci par avance,
--
Stéphane.


Avatar
hat-hor
On 07 Oct 2004 18:32:43 GMT, hat-hor wrote:
Bonjour,

Le logiciel que je développe se ralentit et devient inutisable après
2h de fonctionnement. Je voudrais savoir si l'un d'entre vous a déjà
rencontré des problèmes similaires et s'il existe des outils pour
analyser le fonctionnement d'un programme Java.
...


Merci pour ces réponses. Je vais tester ces solutions et vous tiendrez
au courant.
--
Stéphane

Avatar
jocelyn
Je ne sais pas sur quelle plate-forme tu travailles, mais verifie tout de
meme
que tu as bien la derniere version disponible de la JVM. On avait eu un pb
assez semblable sous HP-UX...

--
Celui qui lutte contre des monstres doit prendre garde, dans le combat, à ne
pas devenir un monstre lui-même

"hat-hor" a écrit dans le message news:
41662e7b$0$6153$
On 07 Oct 2004 18:32:43 GMT, hat-hor wrote:
Bonjour,

Le logiciel que je développe se ralentit et devient inutisable après
2h de fonctionnement. Je voudrais savoir si l'un d'entre vous a déjà
rencontré des problèmes similaires et s'il existe des outils pour
analyser le fonctionnement d'un programme Java.
...


Merci pour ces réponses. Je vais tester ces solutions et vous tiendrez
au courant.
--
Stéphane