Esecuzione di Linux a 64 bit con 750 MB di RAM: ne vale la pena?


13

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?


2
Dipende da cosa stai per correre, in realtà. Prova alcuni dei tuoi carichi e controlla se la tua RAM sarà sufficiente.
Renan,

In cattive condizioni: Postgres, Apache e Tomcat.
Jhonnytunes,

1
Nota: se dovessi decidere di eseguire l'aggiornamento a più RAM in un secondo momento, i 32 bit possono diventare problematici (c'è PAE per il salto con l'asta oltre il limite di 4 GB, ma questo ha un overhead proprio).
Piskvor lasciò l'edificio

Entrambi gli host VPS ho usato kernel personalizzati installati per i loro hypervisor, quindi è probabile che dovrai attenersi alle loro versioni del sistema operativo - se non offrono 32 bit, dubito che tu possa semplicemente installare il tuo.
Rup,

Risposte:


16

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, intpuò 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 longdi 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.


1
Questo è gravemente esagerato. Alcuni programmi occupano quasi il doppio della memoria in modalità 64 bit, dipende dal tipo di dati che manipolano. Ho notato che Firefox e Chrome occupano anche più del doppio della memoria (non ho mai studiato perché: dimensioni del codice?). Per Apache, è probabile che il consumo di memoria extra sia ridotto (ma non l'ho misurato).
Gilles 'SO- smetti di essere malvagio'

@giles difficilmente. Ho appena lanciato un firefox a 32 e 64 bit. 32 bit utilizza 133.340kb dopo l'avvio. 64 bit utilizza 133.412kb dopo l'avvio.
Patrick,

Potrebbe essere migliorato di recente, penso di aver verificato l'ultima volta con Firefox 4. Ho misurato prendendo un sistema altrimenti inattivo (eseguendo quasi solo programmi a 64 bit, che dovrebbero favorire l'eseguibile a 64 bit poiché alcune delle sue librerie condivise erano già caricate) e confrontando la quantità di memoria libera dopo aver caricato alcune schede (alcuni JS, senza Flash): ho scoperto che (free_memory_with_ff_64 - free_memory_without_ff)> 2 * (free_memory_with_ff_32 - free_memory_without_ff).
Gilles 'SO- smetti di essere malvagio'

4
@Gilles Penso che ci sia stato qualche difetto nel test. Anche se firefox memorizzava tutti gli ultimi bit di dati come numeri interi (nessuna stringa, che non cambierebbe dimensione) e ogni singolo numero intero cambiava da 32-bit a 64-bit, la dimensione sarebbe al massimo doppia. Non vi è alcuna spiegazione per più del doppio.
Patrick,

2
"I numeri possono essere più grandi sì, ma ciò non significa che lo saranno." - ma tutti i puntatori ora saranno sicuramente a 64 bit dove erano 32.
Rup

5

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.


3

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.


2

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.

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.