Perché Java a 64 bit utilizza più memoria di 32 bit?


2

Quando si utilizza Eclipse ho notato una differenza significativa nel suo utilizzo della memoria quando eseguito su piattaforme Java diverse. Quando si utilizza una piattaforma Java a 32 bit, è stato utilizzato ~ 200 MB di RAM, tuttavia quando è in esecuzione a 64 bit, questo è aumentato significativamente a ~ 700 MB.

È previsto questo comportamento e perché si verifica?

Risposte:


1

La quantità massima di memoria utilizzata da Java è specificata sulla riga di comando (parametro dimensione massima heap -Xmx). Se non viene specificato nulla, viene utilizzato un valore predefinito. Questo valore predefinito è aumentato nell'ultimo anno. Prima era di circa 200 MB e al giorno d'oggi è molto più alto.

Pertanto presumo che tu stia utilizzando una versione di Java a 32 bit molto vecchia che utilizzava quindi il vecchio valore predefinito.

È possibile specificare i valori per Eclipse in eclipse.ini e quindi impostare la quantità di memoria desiderata.

Guarda anche FAQ Come posso aumentare la dimensione heap disponibile per Eclipse? . Abbassare le dimensioni dell'heap è lo stesso processo.

^ Ma devo menzionare che in generale i processi a 64 bit richiedono più memoria a causa dei puntatori di indirizzi più grandi che usano. Pertanto è possibile ottenere errori OutOfMemory quando si tenta di eseguire Eclipse con una dimensione heap massima di soli 200 MB.

Eclipse era ed è un enorme mostro di memoria. Più diventa meglio funziona ...


0

Prova a guardare il tuo eclipse.ini file questo specifica la quantità di eclissi di memoria che può essere masticata. Dovresti essere in grado di ridurre la quantità di memoria che utilizza. Ma lo sviluppo con java generalmente richiede un bel po 'di RAM.

Conto

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.