Por que o Java de 64 bits usa mais memória que 32 bits?

2

Ao usar o Eclipse, notei uma diferença significativa em seu uso de memória quando executado em diferentes plataformas Java. Ao usar uma plataforma Java de 32 bits, ele usa ~ 200MB de RAM, no entanto, quando executado em 64 bits, isso é aumentado significativamente para ~ 700MB.

Esse comportamento é esperado e por que ocorre?

    
por Capter Royal 12.06.2012 / 09:56

2 respostas

1

A quantidade máxima de memória usada pelo Java é especificada na linha de comando (parâmetro de tamanho de heap máximo -Xmx). Se nada for especificado, um valor padrão será usado. Este valor padrão aumentou no último ano. Antes era cerca de 200 MB e hoje em dia é muito maior.

Portanto, presumo que você esteja usando uma versão muito antiga do Java de 32 bits que, portanto, usou o valor padrão antigo.

Você pode especificar os valores para o Eclipse no eclipse.ini e, portanto, definir a quantidade de memória desejada.

Veja também FAQ Como aumentar o tamanho de heap disponível para o Eclipse? . Diminuir o tamanho do heap é o mesmo processo.

^ Mas devo mencionar que, em geral, os processos de 64 bits exigem mais memória por causa dos ponteiros de endereços maiores que eles usam. Portanto, você pode obter erros OutOfMemory ao tentar executar o Eclipse com um tamanho de heap máximo de apenas 200 MB.

O Eclipse foi e é um enorme monstro de memória. Quanto mais fica melhor, é executado ...

    
por 12.06.2012 / 13:27
0

Tente ver o seu arquivo eclipse.ini que especifica quanto de memória o eclipse pode analisar. Você deve conseguir diminuir a quantidade de memória usada. Mas desenvolver com java geralmente usa um pouco de RAM.

Bill

    
por 12.06.2012 / 15:07