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 :

Limiter l'usage de la RAM


Sujet :

Java

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 149
    Par défaut Limiter l'usage de la RAM
    Bonjour,

    J'ai créé un petit programme qui ne nécessite pas plus de 2M de RAM. Or, plus il se passe de temps après que l'application aie été lancée, plus elle utilise de RAM. Serait-il possible de limiter juste à mon application l'utilisation de la RAM?
    Je dis juste car je sais qu'il est possible de le faire par la configuration Java mais cela affecte tous les programmes Java

    edit: Je fus très étonné quand j'ai remarqué que le "Configrue Java" faisait de même

  2. #2
    Membre chevronné

    Homme Profil pro
    Chomeur
    Inscrit en
    Juin 2006
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chomeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 347
    Par défaut
    Bonjour,

    Comment lance tu ton programme? Il est peut être possible de lui installer une JVM dédiée qui pourra être paramétrée comme souhaitée?

    plus il se passe de temps après que l'application aie été lancée, plus elle utilise de RAM
    Il faudrait peut être chercher à comprendre d'où vient le problème de la fuite mémoire avant de bidouiller la JVM, non?

    Bon courage

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Il n'y a pas forcément de fuite mémoire : typiquement Java ne cherche pas à limiter son usage de mémoire tant qu'il reste très bas. Ce qui veut dire pas de désallocation d'objets qui ne servent pourtant plus à rien.

    Il faudrait déjà essayer ce que ça donne en mettant une limite à la mémoire disponible pour la JVM : java -Xmx10M MonProgramme pour limiter à 10Mo max.
    Pour 2Mo ne rêve pas quand même. Les données de ton programme n'ont peut-être pas besoin de plus que ça, mais rien que pour démarrer sur un PC la JVM consommera plus que ça.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par JeremGamer Voir le message
    Je dis juste car je sais qu'il est possible de le faire par la configuration Java mais cela affecte tous les programmes Java
    Il n'y a pas de raison. Les paramètres que tu passe à la JVM sont spécifiques à un lancement. En l'occurence, commence par un -Xmx32M comme paramètre de java et vois si ça tue suffit. Il y a une limite inférieure sous laquelle tu ne pourra pas descendre. La jvm occupe pas mal de place avec toutes ces classes à charger et ces jars à scanner.

  5. #5
    Membre actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 149
    Par défaut
    Ok merci à tous. J'ai remarqué sinon qu'en passant par JSmooth, je fais d'une pierre deux coups car je peux transformer mon jar en exe ET limiter l'usage de la RAM.

  6. #6
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 326
    Billets dans le blog
    12
    Par défaut
    JSmooth nécessite une JVM pour que ton application fonctionne :
    it is able to find any installed Java VM by itself.
    When no VM is available, the wrapper can automatically download and install a suitable JVM, or simply display a message or redirect the user to a web site.
    Source : http://jsmooth.sourceforge.net/

    Je ne comprends pas pourquoi tu veux que ton application consomme le moins de RAM possible.
    Sinon autant faire une application console en C...
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  7. #7
    Membre actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 149
    Par défaut
    Mon application récupère le nombre de MB de RAM utilisé. J'aimerais que mon programme n'en consomme pas beaucoup afin de ne pas fausser le résultat.

  8. #8
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Tu sais que tu peux juste soustraire l'espace utilisé par ta jvm. Mais effectivement, java est de loin le pire choix pour ce genre d'outil

  9. #9
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 326
    Billets dans le blog
    12
    Par défaut
    Convertir la donnée en pourcentage cache la mémoire réelle utilisée, c'est ce que font certains logiciels.
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

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

Discussions similaires

  1. Limité l'usage d'un site web aux entreprises
    Par aschaeffer dans le forum Droit
    Réponses: 1
    Dernier message: 25/01/2015, 00h52
  2. Limiter l'utilisation de la RAM?
    Par soufiane2102 dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 28/06/2012, 16h10
  3. Limiter l'usage du runtime
    Par Mumak dans le forum Runtime
    Réponses: 12
    Dernier message: 07/05/2008, 20h10
  4. Taille d'une Classe limitée par builder ou la RAM?
    Par James_ dans le forum C++Builder
    Réponses: 3
    Dernier message: 18/10/2007, 11h48
  5. MySQL sur un serveur limité en RAM
    Par bfabien dans le forum Installation
    Réponses: 11
    Dernier message: 07/02/2006, 21h19

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