Aplicação Java consumo de memoria PC

6 respostas
D

Caros, possuo uma aplicação java desktop do qual necessito identificar quanto de memoria RAM e CPU da maquina ela esta consumindo, pois tenho situações onde são abertas diversas instancias desta aplicação, poderiam me citar melhores maneiras de obter estes resultados.

Obrigado.

6 Respostas

A

Uma ferramenta presente no próprio jdk: jvisualvm. Encontra-se na pasta bin da instalação do jdk.

D

A visualVM neste caso monitora a memoria do Java, o Heap, o permGem, gostaria de algo mais especifico da memoria RAM da maquina…

D

tenta usar o SIGAR

http://support.hyperic.com/display/SIGAR/Home <- API

D

Kara show essa API, não conhecia ainda, creio que seja util nesta minha necessidade.

Obrigado pela dica.

D

Utilizando o Sigar estou obtendo a quantidade de memoria utilizando pelo meu processo Java utilizando o trecho de codigo abaixo:

ProcessFinder find = new ProcessFinder(sigar);
long pid = find.findSingleProcess("Exe.Name.ct=javaw");
ProcMem memory = new ProcMem();
						
memory.gather(sigar, pid);
System.out.println(String.valueOf(memory.getSize() / 1024 / 1024) + "MB");

O metodo memory.getSize() me retorna o valor de: [telefone removido]. Que fazendo a divisão [telefone removido] / 1024 / 1024, chego no valor de 1385.
Neste caso seria 1385 MB, estou achando estranho esse valor, será que possui algum erro ?

D

se for windows, abre o taskmanager veja se a memória esta correta.

eu acho que o certo é dividir novamente por 1024 tendo como resultado: 1.35MB

compare o resultado com o taskmanager.

li algo sobre arquitetura x64 e 32 bits retornando valores diferentes, talves seja isso também.

Criado 4 de março de 2013
Ultima resposta 4 de mar. de 2013
Respostas 6
Participantes 3