Ho un server Debian VPS e il provider ha installato Debian a 64 bit. Dovrei chiedere un'installazione a 32 bit, dato che ho solo 750 MB di RAM e ho sentito che le variabili richiedono più RAM su sistemi a 64 bit?
Ho un server Debian VPS e il provider ha installato Debian a 64 bit. Dovrei chiedere un'installazione a 32 bit, dato che ho solo 750 MB di RAM e ho sentito che le variabili richiedono più RAM su sistemi a 64 bit?
Risposte:
La breve risposta :
Le variabili non occupano il doppio dello spazio nel software a 64 bit vs 32 bit. Il potenziale guadagno di memoria derivante dal passaggio a un sistema operativo a 32 bit non vale la pena.
La lunga risposta :
I numeri possono essere più grandi sì, ma ciò non significa che lo saranno. Questo vale anche per i numeri, non per le stringhe, e le stringhe sono (generalmente) ciò che consuma la maggior quantità di memoria in un'applicazione.
Inoltre, molte applicazioni specificano esplicitamente la dimensione del numero con cui desiderano lavorare, come in linguaggi come C, int
può avere qualsiasi dimensione, anche inferiore a 32 bit. E andando ancora oltre, sulla mia macchina Linux a 64 bit, in C int
è a 32 bit. Quindi dovresti richiedere esplicitamente long long
di ottenere un numero a 64 bit.
Quindi, in sostanza, le applicazioni non useranno più memoria solo perché sono state compilate per 64 bit.
EDIT :
in risposta all'affermazione di Gilles che Firefox a 64 bit utilizza il doppio della memoria, sono andato a fare un confronto tra Firefox a 32 e 64 bit sul mio sistema.
Ho testato avviando 5 schede aperte su http://acid3.acidtests.org/ ed ho eseguito il test 3 volte (una volta a 32 bit, una volta a 64 bit e poi ripeto due volte). Ho scelto questo sito perché è ad alta intensità di JavaScript e utilizza contenuti statici (ogni rendering della pagina fornirà gli stessi dati).
Nella corsa finale:
32 bit: 173.244kb rss / 918.348kb virt
64 bit: 184.588 kb rss / 966.624 kb virt
Potrei fare test più approfonditi sì, ma penso che ciò dimostri abbastanza bene che la differenza di dimensioni tra i due è marginale.
Scelgo installazioni a 32 bit su 64 bit per sistemi con meno di 4 gig di RAM.
A 64 bit utilizza più memoria, a causa della natura dei suoi puntatori, questo varia tra circa 10 e 50 megabyte in più per un'installazione LAMP vaniglia.
Su un sistema con ram limitato, ad esempio 256meg, questo può essere un grosso pezzo.
Tecnicamente, con PAE lo stesso vale fino a 64 gig, tuttavia lo spazio indirizzabile per le applicazioni è comunque limitato a 4gig. Pertanto, con qualsiasi valore superiore a 4gig, si consiglia di utilizzare i miglioramenti delle prestazioni a 64 bit, non ultimo quelli associati al sovraccarico di PAE.
In breve: <4gig = 32bit | > 4gig = 64 bit.
Se il provider ha installato Debian 5 a 64 bit, ti consiglio di rimanere con questa versione.
Le differenze tra 64 bit e 32 bit non sono solo nel gestore della memoria.
Fatta eccezione per alcune applicazioni che riducono il numero in esecuzione più veloce, l'unico vantaggio di un sistema a 64 bit è che è possibile indirizzare più di 4 GB di memoria. Poiché parte dello spazio degli indirizzi è riservato al kernel, un processo ottiene solo circa 2 GB o 3 GB di spazio degli indirizzi (o più o meno, a seconda della configurazione del kernel). Per un caso d'uso di un database e di un server Web, non hai intenzione di scambiare molto e non hai intenzione di fare molto scricchiolio dei numeri. Quindi, con solo 750 MB di RAM, non vedrai alcun vantaggio nell'uso di un sistema a 64 bit.
La dimensione del codice è approssimativamente la stessa tra il codice i386 (32 bit) e amd64 (64 bit). La memoria dati utilizzata dal programma a 64 bit è leggermente più grande; quanto più grande dipende dall'applicazione. Mi aspetterei di vedere una differenza notevole, ma non grande per il tuo caso d'uso.
Dato che c'è un piccolo costo e nessun vantaggio nell'uso di 64 bit, ti consiglio di usare un sistema a 32 bit, se non è troppo difficile ottenere.