
Envoyé par
faico
la mémoire occupée par mon prog augment mm si j'ajoute moin d'images que la premiére fois ?
Et si je reduit la fenêtre puis je la restaure elle deminue considérablement ?
C'est fréquent sous Windows !
Lorsque une application libère de la mémoire, le système peut très bien effectuer cela plus tard (en particulier s'il possède déjà suffisamment de mémoire).
Pour vérifier la vrai mémoire consommée par ton application, tu peux utiliser le MemoryMXBean de Java 5.0 :
1 2
| MemoryMXBean mxBean = ManagementFactory.getMemoryMXBean();
System.out.println(mxBean.getHeapMemoryUsage()); |
Qui te donnera quelque chose comme cela :
init = 0(0K) used = 170192(166K) committed = 2031616(1984K) max = 66650112(65088K)
Avec :
- init : la mémoire initiale de ton application (0 sauf si tu spécifies une taille mini avec l'option -Xms)
- used : La vrai taille mémoire utilisé par ton application (tous les objet qui n'ont pas été néttoyé par le GC)
- commited : La taille mémoire réservé par le GC au système d'exploitation.
- max : La quantité maximum de mémoire que le GC peut réserver auprès du système d'exploitation (fixé avec l'option -Xmx)
Si tu n'as pas Java 5.0 tu peux arriver à retrouver ces valeurs avec la classe Runtime :
1 2 3 4
| Runtime rt = Runtime.getRuntime();
System.out.print ( "used = " + (rt.totalMemory() - rt.freeMemory()) );
System.out.print ( " commited = " + rt.totalMemory() );
System.out.println( " max = " + rt.maxMemory() ); |
a++
Partager