Connaître la mémoire libre de la JVM? - Java - Programmation
Marsh Posté le 31-07-2006 à 13:36:19
tu peux simplement te connecter via jmx avec jconsole, ou, si tu es toujours en java1.4, utiliser un profiler.
Marsh Posté le 31-07-2006 à 14:29:56
// Mémoire totale allouée
long totalMemory = Runtime.getRuntime().totalMemory();
// Mémoire utilisée
long currentMemory = totalMemory-Runtime.getRuntime().freeMemory();
Marsh Posté le 31-07-2006 à 14:50:07
lonely a écrit : // Mémoire totale allouée |
justement, en utlisant cette technique je n'obtiens pas de résultats cohérents (en tout cas, très différents de ce que me donne Tomcat Manager).
Je vais regarder du côté des profiler puisque je suis toujours sous java1.4
Marsh Posté le 31-07-2006 à 16:07:59
Regardes http://bugs.sun.com/bugdatabase/vi [...] id=4686462
et en particulier le maxMemory :
La memoire dispo de la JVM serait : maxMemory - totalMemory - freeMemory
http://www.progx.org/index.php?sec [...] newsid=314
http://www.progx.org/index.php?sec [...] newsid=315
Marsh Posté le 31-07-2006 à 10:41:46
Bonjour,
Je travaille sur un serveur Tomcat, j'ai une appli Java installée dessus et je voudrais connaître pour un test en endurance l'état de la mémoire allouée à la JVM.
Pour cela je pense faire un script qui relève cette valeur toutes les x minutes.
Je pensais utiliser la méthode freeMemory() de la classe Runtime... mais les valeurs que ça me renvoie ne concordent pas avec les infos que me donne Tomcat Manager !?!
Comment puis-je connaitre la mémoire libre via un programme java?
(peut être que j'utilise mal freeMemory()...)
Merci d'avance.
Pap.