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 :

garbage collector: lui limiter les ressources


Sujet :

Java

  1. #1
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 44
    Par défaut garbage collector: lui limiter les ressources
    y'a t-il un moyen pour limiter les ressources prises par le garbage collector (ramasse miettes) afin de ne pas empieter sur les performances des applications qui tournent sur la machine ?

    A++
    merci d'avance

  2. #2
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Salut,


    Tu as l'option -Xmx de java qui permet de définir la taille maximum de mémoire utilisable par le GC...

    Exemple pour limiter à 10 Mo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -Xmx10m -jar TonApplication.jar
    a++

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 44
    Par défaut
    -Xmx precise la taille du "heap" et pas du GC !!

    voir le help de la commande java:
    -Xmx<size> set maximum Java heap size

    en plus de cela, le GC a besoin de la memoire pour travailler !

    voir :
    http://gfx.developpez.com/tutoriel/java/gc/

    merci encore et @++

  4. #4
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Ben le heap est la mémoire utilisé par le GC...

    donc il faudrait savoir ce que tu entends pas " les ressources prises par le garbage collector "

    a++

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 44
    Par défaut
    en fait apres avoir lu l'article de Romain Guy:
    http://gfx.developpez.com/tutoriel/java/gc/

    je me suis dit que ma question ne devrait pas etre posée comme cela !

    ma question devrait etre posee comme ceci :
    "avec quelles options doit on demarrer la JVM afin que le bouleau du GC pénalise le moins possible les ressources de l'appli".

    la reponse se trouve dans cette article:
    en gros, ca depend ce que fait ton appli:
    1-soit elle possede bcp de new objets a duree de vie courte
    2-soit bcp d'objet a duree de vie longue

    et en fonction de cela, passer les bonnes paramettres:

    exemple "bateau" :
    1er cas: java -Xms512m -XX:NewRatio=0.5 -XX:SurvivorRatio=2
    2eme cas: java -Xms512m -XX:NewRatio=4 -XX:SurvivorRatio=2

    le param "XX:NewRatio=N" signifie: la taille de la memoire des vieux objets est N fois plus grande que celle des nouveaux objets.

    Or le travail du GC derrange plus dans la zone des "vieux objets" que dans la zone des "jeunes objets".

    voir article ci-dessous pour plus de precisions.

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/07/2011, 11h52
  2. Réponses: 2
    Dernier message: 20/05/2011, 23h41
  3. garbage collector et finalize() Comment les utiliser ?
    Par HighSchool2005 dans le forum Langage
    Réponses: 17
    Dernier message: 03/04/2007, 15h25
  4. Limiter les ressources
    Par calypso dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 22/05/2006, 09h02
  5. [JVM] les objets et le Garbage collector
    Par Kurdran dans le forum Général Java
    Réponses: 7
    Dernier message: 02/06/2005, 16h57

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