38 votes

Comment surveiller dynamiquement la taille du tas de Java ?

J'essaie de surveiller la taille du tas de java de façon dynamique. Quelqu'un sait-il comment obtenir la mémoire maximale utilisée lors de l'exécution d'un code ? Est-ce que le Runtime.maxMemory() font l'affaire ? Merci

31voto

jschoen Points 5721

maxMemory() renvoie la quantité maximale de mémoire que java utilisera. Cela ne vous donnera donc pas ce que vous voulez. totalMemory() est ce que vous recherchez. Voir le docs

13voto

Hank Gay Points 36173

Il existe un grand nombre d'outils de profilage qui devraient vous aider dans ce domaine. Un outil commercial populaire est YourKit et il reçoit des critiques élogieuses. Une alternative gratuite est VisualVM que j'ai utilisé dans le passé et qui peut fournir beaucoup d'informations.

0 votes

Un vieux fil, mais je le commente quand même. VisualVM est facile à utiliser et répond bien à mes besoins de programmation de fils. Merci pour le conseil.

12voto

agonen Points 51
jstat -gc <pid> <time> <amount>

jstat -gc `jps -l | grep weblogic\.Server | awk {'print $1'}` 1000 3

3 échantillons 1 seconde voir plus ici

11voto

helios Points 8379

Si vous le souhaitez, vous pouvez visualiser un grand nombre de valeurs en profilant votre application avec JConsole.

http://docs.oracle.com/javase/6/docs/technotes/tools/share/jconsole.html

Commencez votre demande avec :

-Dcom.sun.management.jmxremote

et votre application sera disponible pour la sélection quand vous démarrez /bin/jconsole.exe

4voto

Carlos Heuberger Points 11804

Il y a aussi le gestion java.lang paquet. Utilisez le ManagementFactory pour obtenir un MemoryMXBean instance. Il possède des méthodes pour renvoyer un instantané de l'utilisation de la mémoire du tas et de la mémoire hors du tas.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X