Obter informações de performance do sistema

4 respostas
remixlara

Galera, tou desenvolvendo uma ferramenta e preciso obter informações como memória usada.

Pesquisei sobre o assunto e descobrir que não tem como fazer isso em java a n ser obter informações da JVM porém n é isso que eu quero.

Runtime.getRuntime().freeMemory();
Runtime.getRuntime().maxMemory();
Runtime.getRuntime().totalMemory();

O que eu quero é saber quanto meu sistema ta consumindo da memoria, pra isso eu descobri que é necessário criar um programa (em C por exemplo) e fazer a comunicação entre esse programa e o meu em java atraves de parametros.

Agora como eu passo e obtenho esses parametros? Executar o sistema é simples e descobrir que apartir dessa variável eu posso obter os parametros… agora a pergunta é: como?

InputStream is = Runtime.getRuntime().exec("meuScript.sh").getInputStream();

4 Respostas

rogelgarcia

O primeiro passo é fazer o programa… se vc já tem o programa…

E já está executando conforme o seu post…

Agora é só ler o InputStream da mesma forma que lê um arquivo…

http://java.sun.com/docs/books/tutorial/essential/io/

Leia sobre CharacterStreams e BufferedStreams…

remixlara

essa é a questão, fazer o programa não é o problema, eu soh quero saber como passar o parametro, como criar um método e tals…

eu quero saber como isso funciona, saka?

rogelgarcia

Nessa chamada

Runtime.getRuntime().exec("meuScript.sh")

Dentro do exec… vc passa um comando para o SO…

Se na linha de comando vc usaria meuScript.sh -param=memory

No comando java… vc usaria

Runtime.getRuntime().exec("meuScript.sh -param=memory")

O InputStream, entenda como um arquivo… que vc vai ler os caracteres… a saida do programa (o que seria impresso no console) fica disponivel nesse inputStream para voce ler…

remixlara

É vou da uma estudada nisso, voltar a mecher em C

vlw pela ajuda ai =D

Criado 18 de junho de 2010
Ultima resposta 18 de jun. de 2010
Respostas 4
Participantes 2