stiamo sviluppando un'applicazione altalena scritto da Java, che richiede solo circa 128 MB di memoria, e nel breve futuro, non vedo che richiederà molto più memoria come 4GB. In precedenza forniamo sempre 3 versioni diverse, una per Windows a 32 bit, una per Linux a 32 bit e un'altra per Linux a 64 bit, con un programma di installazione che include JRE. La versione a 64 bit non è stato utilizzato da nessuno fino paio di settimane fa, e di un OutOfMemoryException è stato segnalato perché l'applicazione consuma circa il 40-50% in più di memoria rispetto alla versione a 32 bit.Applicazione a 32 o 64 bit su sistema operativo a 64 bit?
La mia domanda è, è necessario a tutti per noi di fornire la versione a 64-bit per Linux a 64 bit se l'applicazione non avrà mai bisogno di utilizzare più di 4GB di memoria? Abbiamo fatto un rapido test che ha rivelato che la versione a 32 bit funziona anche su Linux a 64 bit. Ma non sono sicuro di quali potrebbero essere gli svantaggi che avremmo, ad es. problema di prestazioni e/o compatibilità?
Vorrei chiarire un po ': la versione a 32 bit è utilizzare 128 MB come memoria massima, per la versione a 64 bit, può richiedere 192MB, in modo che non solo abbiamo per creare installer a 64 bit supplementari, ma dobbiamo anche creare configurazioni diverse, il che rende il tutto più complicato. E se usiamo 192 MB per tutte le versioni, allora potrebbe rendere le perdite di memoria non così visibili per noi perché la versione a 32 bit è più frequentemente usata ormai. Un'altra cosa è che molte applicazioni potrebbero essere eseguite su quel server, quindi vorremmo ridurre il consumo di memoria il più basso possibile. –
Non richiederà più memoria se si utilizzano riferimenti a 32 bit in una JVM a 64 bit. –