IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Lenteur Java sur UNE machine


Sujet :

Java

  1. #1
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut Lenteur Java sur UNE machine
    Bonjour tout le monde.

    Je ne sais pas trop si je poste dans le forum le plus approprié, ou si je devrais m'orienter vers celui de "Windows - Système et logiciels", et je m'en excuse.

    Mon problème est tout bête. J'ai développé un logiciel en Java avec le JDK 1.4.2 (différentes sous-version, notament _6 et _10). Ce dernier marche "à merveille" sur ma machine, ainsi que sur une paire d'autres machines équipées avec des JRE 1.4.2 ou 1.5.0 (de la sous-version initiale à la _05). Et là aussi, il marche.

    Par contre, sur UNE des machines de notre parc, équipée en JRE 1.5.0_05, rien à faire, il rame à n'en plus finir ! Dès que je clique sur un onglet, je suis obligé d'attendre d'interminable secondes avant de voir enfin un résultat à l'écran. De même pour un clique dans une arborescence.

    Auriez-vous une idée de ce qui peut générer cette lenteur excessive ?

    Config de la machine : Portable Dell équipé d'un P4 3.2GHz avec 2Go de RAM DDR2, 1 HDD 120Go. Logiciels installés (outre la suite bureautique...) Oracle 9i, Apache et Tomcat, IIS. Mais même en arrêtant tous les processus avec le task manager, ça rame autant !

    PS : Par ailleurs, cette machine marche très bien, et ne souffre d'aucun ralentissement notoire...
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Si ton application utilise le réseau d'une manère ou d'une autre (ouverture de socket, connection JDBC, etc.), il y a de forte chance que cela provienne du bug du ProxySelector. On en a déja parlé sur le forum ([Socket] lent...).

    Si ton problème vient de là, tu as plusieurs solutions :
    • Désactiver le réseau NetBIOS sur le PC incriminé (puisque le problème vient de là).
    • Mettre à jour avec la dernière version de Java (1.5.0_06 à ce jour).
    • Appeller la méthode ProxySelector.setDefault(null) (ce qui necessite de compiler avec un JDK 1.5 avec les options -source 1.4 -target 1.4 (ou moins) pour rester compatible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            try {
                float jVersion = Float.parseFloat(System.getProperty("java.specification.version"));
                if (jVersion>=1.5f) {
                    ProxySelector.setDefault(null);
                }
            } catch (NumberFormatException e) {
                // ignored
            }
    • Appeller la méthode ProxySelector.setDefault(null) via l'API de reflection (afin de pouvoir compiler avec n'importe quel JDK) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
            try {
                // Recherche de la classe ProxySelector :
                Class clazz = Class.forName("java.net.ProxySelector");
     
                // Recherche de la méthode setDefault() :
                Method m = clazz.getMethod("setDefault", new Class[]{clazz} );
     
                // Invocation de la méthode statique :
                m.invoke(null, new Object[]{null} );
     
            } catch (ClassNotFoundException e) {
                // La classe n'existe pas : on ignore l'erreur...
            } catch (NoSuchMethodException e) {
                // La méthode n'existe pas : on ignore l'erreur...
            } catch (Exception e) {
                e.printStackTrace();
            }


    Si ton problème vient d'ailleurs, il va falloir que tu essayes de cibler un peu plus son origine...

    a++

  3. #3
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut
    Mon problème vient d'ailleurs...

    Merci quand même pour ta réponse, qui à défaut d'apporter une solution est fort instructive

    Sinon, mon plus gros soucis vient du fait qu'il n'y a que sur cette machine que ça rame, et je n'arrive pas du tout à cibler un point spécifique qui pourrait être auteur du ralentissement. Même en recompilant sur la machine, en local, cela n'apporte aucune solution.

    Peut-être y a-t'il quelqu'un qui a déjà été confronté à ce genre de problème... atypique !
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Points : 11 101
    Points
    11 101
    Par défaut
    Il y avait des problèmes avec certains Driver de cartes graphiques.
    Jete un oeil de ce coté là.

    Aussi s'assurez que tout est installé en local et non sur un lecteur réseau.

    Vincent
    Vincent Brabant

    Ne pas me contacter par MP ni par mail pour des questions techniques. Ma liste d'amis restera vide.

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  5. #5
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Tu as essayé de logger un maximum d'info pour voir les méthodes qui prennent le plus de temps ?

    a++

  6. #6
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Points : 3 736
    Points
    3 736
    Par défaut
    je vois Oracle 9i : tu as fait gaffe a la JVM utilisée par ton logiciel. parce que Oracle installe un JVM 1.3 flambant vieille, et la colle en premier dans le classpath.

  7. #7
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut
    Alors, pour ce qui est des drivers de cartes graphique, je m'y colle de suite.

    Pour le JVM Oracle, tu as raison, elle est flambant vieille... bref. Mais oui, je suis au courant, et j'utilise bien la JVM 1.5.0_05 sur cette machine.

    Et enfin, je ne suis pas super compétent dans le domaine du log. Pourrais-tu me donner un peu plus d'information vis à vis de la marche à suivre pour faire ce log ? Car je risque d'utiliser à court ou moyen terme un profiler pour avoir un suivi d'utilisation mémoire de mes différentes méthodes, mais je ne vois pas trop comment tracer le temps d'éxécution de mes méthodes.
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

  8. #8
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut
    Alors en effet, la mise à jour des drivers de la carte gaphique a bel et bien apporter un ersatz de solution, mais ce n'est pas non plus mirobolant. Ca marche un peu mieux, et un peu plus vite, mais ça reste trop long et inacceptable sur une machine de ce calibre. Ma machine est plus ancienne, normalement moins performante (en tout cas moins puissante) et pourtant l'appli. si éxécute nettement plus rapidement.;.
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

  9. #9
    Expert éminent sénior


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Points : 11 101
    Points
    11 101
    Par défaut
    Un antivirus qui tournerait sur cette machine ??? Et qui scanne tous les fichiers JAR ???

    C'est comme cela que les antivirus sont configurés dans notre société, ce qui fait qu'on est obligé d'avoir des PIV 3Ghz pour avoir un temps de réponse digne d'un celeron 800Mhz :-)


    Vincent
    Vincent Brabant

    Ne pas me contacter par MP ni par mail pour des questions techniques. Ma liste d'amis restera vide.

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  10. #10
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Points : 3 736
    Points
    3 736
    Par défaut
    tu peux aussi voir si y'a pas de l'hyper threading, et de tenter de le desactiver.

  11. #11
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut Désolé pour le délai...
    Désolé les gars poour le délai, mais il est un peu indépendant de ma volonté.
    En l'occurence la machine rebelle se trouve en angleterre, et moi à Toulouse. Il me faut donc attendre son retour pour vous répondre.

    Promis, dès que je peux je teste vos solutions
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

  12. #12
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 117
    Points : 109
    Points
    109
    Par défaut
    Bah tu sais koi, je vais t'éviter de t'arracher les cheveux alors qu'il ne t'en reste plus que deux... (moi j'ai eu le problème et j'en avais plus, mais depuis ils ont repoussés).

    Il faut savoir que les portables sur batteries n'aiment pas java !!! Oui je sais, pendant longtemp un client m'a fait **** avec notre appli qui ne tournai pas bien sur une super bécanne de l amort ki tue! Oui mais avec leur gestion d'energie à la *** ça plombe tout et java n'aime pas ça.

    Bref, dis à ton gus de se bouger un peu, je suis sûr qu'il arrivera quand même à se déplacer jusqu'à la prise de courrant la plus proche et de revenir à son bureau sans se taper un infarctus du myocarde. (au pire prévois un défibrilateur...)


  13. #13
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut
    Arg.

    C'est fort aimable à toi mais une nouvelle fois je suis obligé de décliner la proposition de solution (sisi, je vous assure, je ne le fait pas exprès !!!)
    En fait, la seule chose que pourrait faire l'utilisateur en allant jusqu'à la prise, c'est débrancher le secteur de son portable... En d'autres termes, qu'il soit branché ou non, ça ne change strictement rien à la donne !

    De plus, pour d'autres raisons (dont j'avoue humblement ne pas me souvenir), nous avons déjà changé tous les réglages de gestion d'énergie sur sa bécane, afin qu'il y ait toujours un maximum de courant disponible à l'utilisation (on s'en moque un peu que sa bouffe de la batterie, du moment que ça marche vite et bien...).

    Bon, dans tous les cas nous devons (risquons de devoir...) ré-installer le système et l'ensemble des logiciels présent sur ce PC. Si nous avons le temps de le faire, nous le ferons, et si nous le faisons et que ça marche (et même si ça marche pas d'ailleurs...) je vous tiendrai au courant.

    PS : adiGuba, peux tu me dire en 2 mots comment faire pour faire un maximum de log ?
    PS2 : J'espère que je vais avoir le temps demain matin d'essayer la solution de vbrabant pour l'antivirus.
    PS3 : Lunatix, je suis bien incapable de te dire (sans la machine) si il a de l'hyper-threading, et je suis encore plus incapable de te dire comment le désactiver... Je vais googleliser tout ça.

    En tout cas, merci pour tous les tuyaux
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

  14. #14
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 117
    Points : 109
    Points
    109
    Par défaut
    As tu éssayé de lui faire tourner un Adaware et un spybot pour dégommer les spywares, et par la même tu lui fait passer son anti virus ?

    Sinon je suis à cours d'idées... sauf peut etre une chose... a-t'il la dernière version ed java, ou au moins la version egal ou sup à celle sur laquelle tu développe? J'ai aussi eu un pb de perf car je développai avec la 1.5.6 et la VM du client étai la 1.5.2... je ne m'explique pas trop le phénomène mai bon...

    EDIT: ah ouai aussi, tu pourrais vérifier à combien de MHz tourne le processeur? des fois c'est quand même la gestion d'energie qui pose problème, surtout quand aucun logiciel spécifique n'est installé... (on ne compte pas celui de Winwin qui n epropose pas grand chose). Pour vérifier ça, propriétés du poste de travail et là tu a la fréquence actuelle du processeur. Si c'est trop bas, il est possible qu'il faille installer un logiciel de gestion d'énergie afin de regler le proc sur maximum ...

    Je réflechi encore... mais pour le moment no more ideas..

  15. #15
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut
    Bien vu !!!

    Pour ce qui est de la JVM, j'ai un JDK 1.4.2_10, et il a une JVM 1.5.0_6. Il a un anti-spyware et un antivirus. Qu'ils soient activé ou non, cela ne change rien à la donne. Idem pour le parefeu.

    En revanche, et c'est là ou c'est bien vu, la cadence pocesseur devrait être de 1.86MHz, et elle est de 1.06MHz. IL y a donc problème (et je m'étais trompé dans la description il n'a pas un P4 3GHz mais un Pentium M750.

    Bon, je vois ce que je peux faire de ce côté et je vous tiens au courant.
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lancement de java sur une machine virtuelle
    Par alexdmi024 dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 20/03/2012, 15h33
  2. Déploiement d'une application java sur une autre machine
    Par enneite2 dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 16/05/2011, 13h51
  3. Réponses: 3
    Dernier message: 15/09/2009, 18h56
  4. Execution d'un class Java sur une machine distante (RMI ?)
    Par hassanJava dans le forum Langage
    Réponses: 4
    Dernier message: 24/12/2008, 17h33
  5. java sur une machine dote du se solaris 10
    Par kouadio2richard dans le forum Débuter avec Java
    Réponses: 0
    Dernier message: 19/11/2008, 19h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo