Melhorando a performance de sua Java Virtual Machine

Publicado por André Luiz Lehmann em 19/03/2005

[ Hits: 15.294 ]

 


Melhorando a performance de sua Java Virtual Machine



Quantas vezes você está executando uma aplicação e a VM resolve que é a hora de passar o Full GC (Garbage Collector)? Você fica ali, esperando às vezes até um minuto até que o GC esteja feliz?

Seus problemas acabaram! Coletei os principais argumentos que podemos passar para o aplicativo afim de evitar esse stress com o Full GC.

Você deve adicionar estes argumentos quando for startar a sua aplicação. Exemplo:

$ java -verbose:gc -Xmx128m aplicacao

1° argumento: -Xms ou -Xmx
Serve para você especificar a quantidade de memória mínima e máxima, respectivamente.

2° argumento: -Xincgc
Maximiza o funcionamento do GC.

3° argumento: -Xloggc: logAplicacao.txt
Toda a informação sobre o funcionamento do GC é inserida neste arquivo. Bom para saber a quantas anda o consumo de memória da sua aplicação.

4° argumento: -verbose:gc
São extraídas mais informações sobre como está o funcionamento do GC sobre a VM.

5° argumento: -XX:+UseParallelGC
Este argumento habilita o funcionamento de um segundo GC. Este GC é uma thread daemon, assim como o GC normal, o que maximiza o funcionamento do GC.

6° argumento: -XX:+PrintGCDetails
Faz com que sejam extraídas mais informações sobre o funcionamento do GC.

7° argumento: -XX:+PrintGCTimeStamps
Faz com que também sejam extraídos os tempos de interações do GC na VM.

8° argumento: -XX:+PrintTenuringDistribution
Mostra a utilização, na memória, dos objetos coletados pelo GC.

9° argumento: -XX:+PrintHeapAtGC
Mostra informações do HEAD antes e depois da passagem do GC.

10° argumento: -XX:+UseParNewGC
Caso a sua máquina seja multiprocessador, esta opção faz com que o VM utilize toda a capacidade do multiprocessamento.

11° argumento: -XX:+AggressiveHeap
Faz com que o HEAP se torne agressivo, melhorando consideravelmente a performance da sua aplicação.

Essas são somente algumas das opções que a VM nos possibilita. Existem muitas outras, mas que eu ainda não utilizei, então não posso recomendar.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Arquivos .jar

JClic não fecha? [Resolvido]

Extendendo a classe ArrayList para criar listas sem repetição

Mono suporta Java

Configurando ambiente Java no sistema operacional Linux

  

Comentários
[1] Comentário enviado por cllaudiox em 24/09/2006 - 14:52h

muito boa a dica ... parabéns ..



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts