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 :

Taille de du programme en RAM


Sujet :

Java

  1. #1
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 79
    Points : 53
    Points
    53
    Par défaut Taille de du programme en RAM
    Bonjours
    Avant de pauser cette question je suis aller voir dans la FAQ mais j'ai rien trouvé. je cherche juste à trouver combien de Mo prend mon prog en RAM.
    quand je fais CTRL+alt+suppr et que je regarde dans processus. j'ai le processus java qui va entre 50 et 70Mo. mais ca ne m'indique pas mon programme. Ca peut paraitre bete comme question, ca l'est surement mais je n'en ai pas la réponse.
    Merci

  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,

    Citation Envoyé par dr23fr
    Ca peut paraitre bete comme question, ca l'est surement mais je n'en ai pas la réponse.
    Non ce n'est pas bête du tout


    La seule solution que je connaisse ne fonctionne qu'à partir de Java 5.0 et les MXBean et la méthode getHeapMemoryUsage() de MemoryMXBean :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            MemoryMXBean mbean = ManagementFactory.getMemoryMXBean();
            System.out.println( mbean.getHeapMemoryUsage() );
    Et tu obtiendras quelque chose du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    init = 0(0K) used = 490656(479K) committed = 2031616(1984K) max = 66650112(65088K)
    Avec :
    • init : Taille initiale de la mémoire. Cela correspond à la valeur de l'attribut -Xms s'il est utilisé (0 sinon).
    • used : Taille mémoire utilisé actuellement.
    • committed : Taille mémoire réservé au système.
    • max : Taille maximum que la mémoire. Cela correspond à la valeur de l'attribut -Xmx (ou une valeur par défaut sinon, généralement 65Mo).
    La méthode te renvoit un objet MemoryUsage qui te permet de récupérer ces infos indépendamment plus facilement...


    Tu peux également utiliser getNonHeapMemoryUsage() qui te permet de récupérer la mémoire utilisé par la JVM...

    a++

  3. #3
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 79
    Points : 53
    Points
    53
    Par défaut
    Donc j'en déduis que ton prog ne prend que 479Ko en RAM.
    quand je vois le mien : used : 7696 je suis rassuré.

    Parceque je compte avoir d'énorme table de hash genre entre 0 et 5000 entrées. (bon le max en fait j'en sais rien et acutellement j'ai que 600 entrées dans ma table).

    Je voulais savoir si je devais faire quelques chose de spéciale pour traiter autant d'objet stocké en mémoire (genre lancé l'appli avec des options particulière) ou bien savoir si c'etait suicidaire de faire ca en java (on m'aurait di que le java n'aime pas les apli qui prennent plus de 128Mo en ram).

    Je travaill avec Java5 (update 6).

  4. #4
    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
    Citation Envoyé par dr23fr
    Je voulais savoir si je devais faire quelques chose de spéciale pour traiter autant d'objet stocké en mémoire (genre lancé l'appli avec des options particulière) ou bien savoir si c'etait suicidaire de faire ca en java (on m'aurait di que le java n'aime pas les apli qui prennent plus de 128Mo en ram).
    C'est en partie vrai : une application "standard" est libre d'allouer autant de mémoire que possible (ou plus exactement tant qu'il y a de la mémoire disponible sur la machine). Alors que la mémoire disponible pour une application Java dépend de la JVM, et est généralement limité (en général à 64Mo pour un poste client standard).

    C'est la valeur de max :
    Si tu dépasses cette valeur tu auras une OutOfMemoryException...


    Tu peux donc faire varier cette valeur avec l'option -Xmx de java, par exemple (pour 512Mo max) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -Xmx512m -jar tonJar.jar
    a++

  5. #5
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 79
    Points : 53
    Points
    53
    Par défaut
    merci pour tout.
    bonne continuation

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

Discussions similaires

  1. Réduire la taille d'un programme
    Par yassinebench dans le forum MATLAB
    Réponses: 2
    Dernier message: 30/04/2014, 09h10
  2. Réponses: 1
    Dernier message: 21/05/2013, 10h19
  3. Réponses: 3
    Dernier message: 14/11/2012, 17h49
  4. Comment réduire la taille d'un programme Delphi
    Par philnext dans le forum Delphi
    Réponses: 12
    Dernier message: 30/03/2007, 21h06
  5. [GCC] Réduire la taille d'un programme statique
    Par Geronimo dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 05/03/2004, 16h34

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