2011-09-21 1 views
0

J'ai créé un programme d'installation pour mon application Java en utilisant install4j. il fonctionne sur JDK1.6 et utilise Jetty comme serveur web et struts2 comme MVC. L'application installe très bien et un fichier exe est créé correctement. Lorsque je lance l'application en double-cliquant sur le fichier exe, l'application démarre et démarre très bien et toutes les fonctionnalités se comportent correctement. Après environ 30 à 40 secondes après le lancement de l'application, je remarque que le processus exe consomme presque toute la puissance du processeur (jusqu'à 99%). ce qui rend si difficile d'utiliser une autre application sur mon PC. Cela se produit uniquement sur Windows XP et Vista. Mais quand je l'essaie sur Windows 7, je n'ai pas ce problème. Les spécifications des machines Windows XP et Vista sont très bonnes (processeur 3GHZ avec 4 Go de RAM).exe ​​créé en utilisant install4j mange tout le CPU après 30-40 secondes du lancement

Je ne sais vraiment pas pourquoi l'exe dévore toute la CPU après 30 à 40 secondes de démarrage de l'application. Il n'y a pas de fil conducteur, pas d'arrière-plan, pas de logique du tout. C'est une application MVC très simple. En fait, j'essaie juste d'ouvrir l'application, puis j'attends 30 à 40 secondes (sans l'utiliser) et l'utilisation du processeur augmente fortement.

Dans le gestionnaire de tâches, j'ai remarqué que 2 processeurs sont créés, un pour l'exe et un pour le processeur Java créé par l'exe lors du lancement de l'application. seul le processus exe utilise 99% du processeur alors que le processus Java est inactif.

Quelqu'un a-t-il quelque chose de similaire? toute aide est appréciée. Merci,

+0

Salut Motokazi, je serais vraiment curieux de voir comment vous avez configuré install4j pour votre projet, est-il une chance que vous pouvez partager la configuration? – Armand

Répondre

0

Avez-vous essayé d'examiner le processus Java à l'aide de VisualVM? Cela fait partie de toute installation JDK. Il peut se connecter à n'importe quel programme Java en cours d'exécution et l'échantillonner/le profiler très minutieusement.

VisualVM

+0

En fait, je n'ai pas fait ça. Je ne connaissais pas l'outil VisualVM. Je vais essayer et poster mes conclusions, mais merci pour le pointeur. – Motokazi

Questions connexes