rss
[Java] Alocation de mémoire
par zagor5
 Fil de Discussions
Statut : Non résolu
jeudi 17 avril 2003 à 23:03:13
Bonsoir,

dans une de mes programmes (un petit jeu), j'ai un problème avec la mémoire utilisée. Est-ce qu'il existe un programme pour connaitre précisement l'utilisation de la mémoire par les différents objets et/ou class ?
Merci d'avance
Répondre à zagor5  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Will, le vendredi 18 avril 2003 à 12:03:46 Fil de Discussions
un probleme de memoire en java c etonnant
Quelle erreur se produit ?
Répondre à Will

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par choubaka, le vendredi 18 avril 2003 à 12:07:30 Fil de Discussions
je sais que l'on peut voir ce qu'utilise l'application qui tourne, mais objet par objet ???????????

ctrl-alt-del / task manager/processes

Choubadamour:
Le doudou à format c:
Répondre à choubaka

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par toony, le vendredi 18 avril 2003 à 12:12:45 Fil de Discussions
Bonjour,

Je voudrais bien savoir ce qu'est ce message d'erreur parce qu'en Java j'en ai jamais rencontré contrairement au C.
Répondre à toony

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Will, le vendredi 18 avril 2003 à 12:18:53 Fil de Discussions
je suis d'accord avec toony, je veux voir ca .

par contre choubaka : tu n'as rien compris ! lol
Répondre à Will

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par choubaka, le mardi 22 avril 2003 à 08:10:42 Fil de Discussions
moi? est-ce possible????

la fatigue, le stress sans doute

Choubadamour:
Le doudou à format c:
Répondre à choubaka

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par brj, le vendredi 18 avril 2003 à 13:16:31 Fil de Discussions
Cela ne serait il pas la memoire de la JVM qui est despasse?
Répondre à brj

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par zagor5, le vendredi 18 avril 2003 à 18:31:02 Fil de Discussions
En fait, il y a pas de message d'erreur, c'est justement le processe de mon application qui fait que d'augmenter jusqu'à envrion 200mb.
Répondre à zagor5

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par brj, le vendredi 18 avril 2003 à 19:06:20 Fil de Discussions
ben ou est le probleme!?
c'est toi qui doit utilise trop de ressource?
Quel type de jeu?
Répondre à brj

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par zagor5, le vendredi 18 avril 2003 à 19:10:20 Fil de Discussions
Un petit shoot'm up spatial. Un vaisseau tir sur des ennemis. La mémoire utilisée au debut est de 16mb et elle continue à augmenter jusqu'à la fin. On dirait que la mémoire ne se libère jamais.
Répondre à zagor5

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par brj, le vendredi 18 avril 2003 à 20:01:19 Fil de Discussions
Jamais vu ce probleme!?
Mais je crois qu'il y a un moyen d'obliger le garbage collector a faire le menage.

Ou bien une mauvaise conception?
Répondre à brj

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par zagor5, le vendredi 18 avril 2003 à 20:22:48 Fil de Discussions
Mais comment obliger le garbage collector à faire le menage?
Il y a peut-etre un problème de conception, mais je ne vois pas vraiment d'ou ca vient, d'ou ma question du debut: comment savoir ce qui utilise de la memoire.
Répondre à zagor5

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par olivier.s, le vendredi 18 avril 2003 à 21:51:13 Fil de Discussions
Bonsoir a tous

Essais de faire un finalize qui t'inscrit des messages dans un fichier d'erreurs, tu verras d'ou viens le pb si il y a pb de liberation. Ca risque d'etre un peu lourd pour environ 200Mb d'objets!! Mais ca peut te donner la ou les classes qui posent pb.
Répondre à olivier.s

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par zagor5, le vendredi 18 avril 2003 à 22:12:49 Fil de Discussions
Merci à tous pour les conseils. Je verrais ca à mon retour de vacances.
Répondre à zagor5

14


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
Par zagor5, le samedi 5 juillet 2003 à 21:14:15 Fil de Discussions
Je me suis remis à ce programme, (non, j'ai passé qu'une semaine de vacances, mais je me suis à nouveau penché sur le problème que maintenant.) et j'ai trouvé une solution au problème. J'ai utilisé la méthode Systeme.gc() qui arrive à me libérer la mémoire (enfin ça à l'air de marcher).
Et en plus le son qui ne marchait pas après un certain temps, fonctionne en premanence.

Je voulais juste vous faire part de la résolution de mon problème.
Répondre à zagor5

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par kalima, le mardi 25 novembre 2003 à 11:55:26 Fil de Discussions
Moi j'ai le message java.lang.OutOfMemoryError. Je sais que c lié à la JVM mais je ne sais pas comment résoudre ce problème! quelqu'un peut m'aider svp? Merci.
Répondre à kalima

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par lof., le mardi 25 novembre 2003 à 15:25:09 Fil de Discussions
Bonjour,

Il faut utiliser un profiler pour voir par quel package et quel objet utilise le plus la ressource.

Je ne connais pas de profiler autre que le plug-in "profiler" pour éclipse, je pense qu'il doit en existé d'autre, en freeware.

Sinon pour le problème outOfMemory :

1. ajouter de la mémoire par l'option :
-Xmx[mémoireAlouéJVM]m

Mais ceci ne réglera pas le problème de mémoire, mais donnera [mémoireAlouéJVM] MO à la JVM

2. mettre la valeur
null
à chaque fois qu'un objet n'est plus utilisé, ceci "peut" accélérer le passage du garbage collector. Enfin, tout le monde n'est pas d'accord sur ce point.

3. demander le passage du garbage collector
System.gc();
mais rien ne garantie qu'il passera.

Avec les points 2 et 3, et un découpage en morceaux, j'ai réussit à maintenir une méthode récursive en dessous de 64 Mo alors que sans, je dépassais allégrement les 300Mo de la JVM.

Arrff
lof.
Répondre à lof.

17


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par rameur, le mardi 25 novembre 2003 à 19:37:01 Fil de Discussions
la classe Runtime (java.lang) te permet de savoir quelle quantite de memoire ton programme utilise consulte l aide en ligne for more details

Runtime run = Runtime.getRuntime();
run.freeMemory(); // retourne la ... memoire libre
run.totalMemory() //retourne la ... devine !
...
Répondre à rameur

18


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par rameur, le mardi 25 novembre 2003 à 19:41:39 Fil de Discussions
pour ceux qui n ont jamais vu d erreur la classe OutOfMemoryException ( dans java.lang, plus de memoire dispo..)
existe si vous n etes aps au courant
utilisez simplement une boucle du genre while(true) et creer des objets a la volee sans les detruire dedans
Répondre à rameur

19


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par rameur, le mardi 25 novembre 2003 à 19:45:40 Fil de Discussions
tu pourrais augmenter l espace alloue a ton programme en passant des parametresa la ligne de commande au lancement (du genre
java <argAlloc> <taille> MaClasse [arguments...])malheuresement je les ai oublies mon gars
Répondre à rameur

20


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par rameur, le mardi 25 novembre 2003 à 19:48:59 Fil de Discussions 
tu peux aussi redefinir la methode finalize de ta classe pour liberer les ressources .attention
la premiere instruction doit etre super.finalize()
Répondre à rameur
Discussions pertinentes trouvées dans le forum
19/12 14h28Taille des objets java en mémoireProgrammation21/12 14h042
11/05 17h59Tp java : simulation mémoire viveProgrammation24/01 18h184
13/07 17h48CPLEX Error 1001: Out of memory, sous JavaProgrammation16/07 20h297
10/04 15h44Javascript qui bouffe toute la mémoire ?Webmastering11/04 10h491
Plus de discussions sur « [Java] Alocation de mémoire » Discussion en cours Discussion fermée Problème résolu
Logiciels pertinents trouvés dans les téléchargements
Télécharger Aide-mémoire 2.3Aide-mémoire - Ce logiciel permet de coller des aides mémoires (post-it) sur votre bureau. Son but est simple, éviter de décorer votre...Catégorie: Organisation
Licence: Freeware/gratuit
Télécharger FreeMind 0.8.1FreeMind - FreeMind est un logiciel de Mind mapping entièrement libre, permettant de créer des cartes heuristiques permettant de...Catégorie: Organisation
Licence: Open Source
Télécharger Java Runtime Environment 6 Update 6Java Runtime Environment - Java Runtime Environment (JRE) installe la machine virtuelle Java, permettant de jouer en ligne, de discuter avec des...Catégorie: Java
Licence: Open Source
Télécharger Web Developer Toolbar 1.1.6Web Developer Toolbar - WebDeveloper est une extension firefox représentant une formidable boîte à outils pour examiner et manipuler les pages...Catégorie: Extensions Firefox
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « [Java] Alocation de mémoire »
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide