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.
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: 1452711936. Que fazendo a divisão 1452711936 / 1024 / 1024, chego no valor de 1385.
Neste caso seria 1385 MB, estou achando estranho esse valor, será que possui algum erro ?