Use jps
e jstack
para saber mais sobre os processos Java. jstat
também pode ser útil para o monitoramento de estatísticas Java.
Existe alguma ferramenta de linha de comando para monitorar o uso do tamanho de heap do Java no CentOS?
cd /opt/www/java/jdk/bin/
# jmap -heap <JAVA_PID>
O jvmtop é uma ferramenta de linha de comando que fornece uma visualização ao vivo em várias métricas, incluindo heap.
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
Você provavelmente deseja analisar o uso da memória.
OGCView pode ajudá-lo a visualizar o que o log de GC mostra.
Se você já ativou o gc-log, você pode usar apenas tail -f
no log.
Tente isso, funcionou no Ubuntu e redhat:
java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|PermSize|ThreadStackSize'
Para o Windows:
java -XX:+PrintFlagsFinal -version | findstr /i "HeapSize PermSize ThreadStackSize"
Para mac
java -XX:+PrintFlagsFinal -version | grep -iE 'heapsize|permsize|threadstacksize'
A saída de todos esses comandos se parece com a saída abaixo:
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, mixed mode)
Para encontrar o tamanho em MB, divida o valor com (1024 * 1024)
Para monitorar o uso da memória do heap ao vivo, use o jconsole.
Tags command-line java