Ferramenta de linha de comando para monitorar o Java Heap


14

Existe alguma ferramenta de linha de comando para monitorar o uso do tamanho da pilha do Java no CentOS?

Respostas:


6

Use jpse jstackpara saber mais sobre processos Java. jstattambém pode ser útil para o monitoramento de estatísticas Java.


6
cd /opt/www/java/jdk/bin/

# jmap -heap <JAVA_PID>

teve um erro ao usá-lo: "Não é possível conectar-se ao dump principal ou ao servidor de depuração remota. Use o jhsdb jmap." jhsdb jmap --heap --pid xxxxfez o truque #
Tom Tom

4

O jvmtop é uma ferramenta de linha de comando que fornece uma visualização ao vivo em várias métricas, incluindo heap.

Exemplo de saída do modo de visão geral da VM:

 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

por que há um erro no processo 11272?
Akirekadu

@akirekadu Há muitas razões. Os mais comuns são JDKs incompatíveis entre o jvmtop e o jvm de destino ou permissões insuficientes / negadas. Consulte as Perguntas frequentes para obter detalhes.
precisa saber é o seguinte

1

Você provavelmente deseja analisar o uso da memória.

O GCView pode ajudá-lo a visualizar o que o log do GC mostra.

Se você já ativou o gc-log, pode apenas usá tail -f-lo.


1

Tente isso, funcionou no ubuntu e redhat:

java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|PermSize|ThreadStackSize'

Para 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 assemelha à 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}

versão java "1.7.0_05" Java (TM) SE Runtime Environment (compilação 1.7.0_05-b05) VM do servidor Java HotSpot (TM) de 64 bits (compilação 23.1-b03, modo misto)

Para encontrar o tamanho em MB, divida o valor com (1024 * 1024)

Para monitorar o uso da memória de pilha ativa, use jconsole.

Captura de tela do Jconsole


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.