Réponses:
Utilisez jps
et jstack
pour en savoir plus sur les processus Java. jstat
peut également être utile pour la surveillance des statistiques Java.
jvmtop est un outil en ligne de commande qui fournit une vue en direct sur plusieurs mesures, y compris le tas.
JvmTop 0.3 alpha (expect bugs) amd64 8 cpus, Linux 2.6.32-27, load avg 0.12
http://code.google.com/p/jvmtop
PID MAIN-CLASS HPCUR HPMAX NHCUR NHMAX CPU GC VM USERNAME #T DL
3370 rapperSimpleApp 165m 455m 109m 176m 0.12% 0.00% S6U37 web 21
11272 ver.resin.Resin [ERROR: Could not attach to VM]
27338 WatchdogManager 11m 28m 23m 130m 0.00% 0.00% S6U37 web 31
19187 m.jvmtop.JvmTop 20m 3544m 13m 130m 0.93% 0.47% S6U37 web 20
16733 artup.Bootstrap 159m 455m 166m 304m 0.12% 0.00% S6U37 web 46
Essayez cela, cela a fonctionné dans Ubuntu et Redhat:
java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|PermSize|ThreadStackSize'
Pour les fenêtres:
java -XX:+PrintFlagsFinal -version | findstr /i "HeapSize PermSize ThreadStackSize"
Pour Mac
java -XX:+PrintFlagsFinal -version | grep -iE 'heapsize|permsize|threadstacksize'
La sortie de toutes ces commandes ressemble à la sortie ci-dessous:
uintx InitialHeapSize := 20655360 {product} uintx MaxHeapSize := 331350016 {product} uintx PermSize = 21757952 {pd product} uintx MaxPermSize = 85983232 {pd product} intx ThreadStackSize = 1024 {pd product}
Java version "1.7.0_05" Java (TM) SE Runtime Environment (build 1.7.0_05-b05) Java HotSpot (TM) 64-Bit Server VM (build 23.1-b03, mode mixte)
Pour trouver la taille en Mo, divisez la valeur avec (1024 * 1024)
Pour surveiller l'utilisation de la mémoire en direct, utilisez jconsole.
vous pouvez également consulter cet outil https://github.com/TeoGia/jotun
c'est un wrapper de jstat et affiche l'utilisation du tas et de la RAM au format json
jhsdb jmap --heap --pid xxxx
a fait l'affaire