Quali sono le differenze tra 32 e 64 bit e quale dovrei scegliere?


142

Qual è la differenza tra Ubuntu a 32 e 64 bit? Ho sentito che la piattaforma a 64 bit funziona meglio e può rilevare più di 4 GB di RAM. Inoltre, sebbene alcune app non siano ancora state trasferite a 64 bit, ia32-libsconsente a un computer a 64 bit di eseguirle.

In tal caso, perché non promuovere 64 bit su 32 bit?




Risposte:


147

Credo che la domanda principale quando si sceglie tra 32 e 64 bit non sia "Il mio processore supporta 64 bit - in tal caso, dovrei usare 64 perché è due volte più buono", ma "Quanta memoria ho?" .

I programmi a 64 bit utilizzano circa il 50% di memoria in più rispetto alle loro controparti a 32 bit. I risultati di questo sono:

  • meno codice / dati possono essere inseriti nella cache del processore -> più errori cache -> il tuo processore superveloce attende di più che il controller di memoria recuperi i dati dalla RAM. Il processore deve anche leggere più dati perché è più gonfio.

  • Linux utilizza RAM non allocata per memorizzare nella cache i dischi. Meno memoria libera disponibile -> meno spazio per le cache del disco -> accesso al disco più lento

  • Una volta esaurita la RAM e il sistema inizia a scambiare, l'accesso al disco è migliaia di volte più lento della RAM, quindi tutti i potenziali vantaggi del codice a 64 bit (vedi sotto) stanno volando fuori dalla finestra.

D'altra parte, in modalità 64-bit il processore ha più registri, quindi non ha bisogno di accedere alla memoria che spesso anche alcuni calcoli (numeri a 64 bit ecc.) Sono più efficienti. Quindi, in genere, il codice che non è limitato dalla memoria viene eseguito leggermente più velocemente in modalità 64 bit.

Quindi, se il tuo sistema ha, diciamo, 2GiB di RAM o meno, sceglierei sicuramente 32 bit. Più di 4GiB: i vantaggi di 64 bit stanno diventando sempre più importanti. Intorno a 4GiB è una "zona grigia" - devi fare una scelta da solo.

Ecco gli screenshot di un (piuttosto vecchio) Ubuntu vanilla in esecuzione in un VirtualBox con 1GiB RAM:

32 bit: utilizza 388 MiB di RAM subito dopo l'avvio, nessuna applicazione aggiuntiva in esecuzione (dallo screenshot, 397780 KiB, che è 388 MiB)

Ubuntu a 32 bit

64 bit: utilizza 491 MiB di RAM (dallo screenshot, 503452 KiB = 491 MiB)

Ubuntu a 64 bit

Inoltre, nei miei test, un'applicazione Web scritta in Python ha utilizzato fino al 60% di memoria in più su un computer a 64 bit, il che ha portato a una suite di test in esecuzione in 380 secondi su un computer a 32 bit ma impiegando 523 secondi su un 64- bit uno (entrambi con 1GiB di RAM). Se le macchine non fossero limitate alla RAM, i risultati sarebbero probabilmente diversi (come mostrano i test di phoronix).

Ecco alcuni test più approfonditi e recenti: http://kernel.ubuntu.com/~cking/x32/Quantal-x32-power-memory-comparisons.ods

mem libero mem usato swap usato

Fondamentalmente, è come rinunciare al 30% della RAM in cambio di un possibile guadagno del 10% della velocità della CPU.


1
Quindi a 32 bit, 388 M; 64 bit, 498 M o circa 110 M in più e questo è il 30% di 2G ??
irrazionale John,

22
Concordo con i numeri ma non sono d'accordo con la conclusione. 30% di RAM in meno per prestazioni migliorate del 10% lo rende un affare del secolo! Inoltre, è molto più economico inserire RAM aggiuntiva rispetto alla sostituzione della CPU.
Oli

1
Sì, non sono d'accordo con questo, ma lo metterei più forte e andrei leggermente oltre, suggerendo solo 32 bit quando non è supportato dalla CPU o non è fattibile aggiornare la RAM (è antico o stai per buttarlo via) . Le persone con un computer modernista con <= 2 GB dovrebbero spendere $ 20-30 su ebay e avere 4 GB. Ne vale la pena un aumento del 10%.
Oli

1
Sono curioso di sapere come funzionano i browser moderni con molte schede aperte e javascript qui. Mi imbatto spesso in swap (anche con 8 GB di RAM) aprendo molte schede e i siti Web moderni usano molte librerie javascript, ecc. Come si confrontano la memoria e la velocità della CPU per un utilizzo intenso di Chrome o Firefox?
nealmcb,

2
È ancora vero nel 2015? Voglio installare Ubuntu 14.04 su un tablet Atom che ha 1 GB di memoria e una CPU lenta (con capacità a 64 bit), quindi dopo aver letto questo tendo fortemente verso i 32 bit. Qualcosa che vale la pena considerare è cambiato da quando ho pubblicato questa risposta? Soprattutto in termini di consumo di memoria di base a 64 bit rispetto a 32 bit, poiché la memoria sarebbe il maggiore collo di bottiglia su questo sistema.
Andreas Hartmann,

22

Se non ti interessa conoscere i dettagli tecnici, seleziona la versione a 32 bit consigliata.

64-bit è generalmente più veloce, anche se oggettivamente difficile da notare. Ciò ha meno a che fare con la larghezza dei dati a 64 bit, ma con la disponibilità di 16 su 8 registri CPU comuni sull'intero set di istruzioni. Lo svantaggio di sprecare più memoria per la gestione e indicatori più grandi è quindi per lo più livellato.

Il problema pratico: non tutti hanno una CPU compatibile AMD64. La promozione a 64 bit rispetto alla versione i686 standard porterebbe a una maggiore frustrazione dell'utente. Pertanto, per i prossimi anni, è meno confuso presentare la versione a 32 bit all'utente medio. Non è esattamente un problema per chiunque sia al corrente, poiché la versione a 64 bit è prontamente disponibile. E noi utenti amd64 non abbiamo alcun svantaggio da quella situazione, ad eccezione del download iniziale. Tutti i pacchetti sono disponibili in entrambe le architetture.

Date le circostanze, la pagina di download di Ubuntu mi sembra a posto. Dice "32 bit (consigliato)", ma "consigliato" si traduce in "meno problemi, se non si conoscono tutti i dettagli tecnici del computer". Per la pagina di download dell'edizione netbook, non c'è nemmeno la scelta, perché alcune CPU atom Intel sono a 32 bit solo nel 2010!
Quindi, in conclusione, penso che sia ancora necessario evitare i problemi di compatibilità. Tuttavia, concordo sul fatto che dovrebbe esserci almeno una nota a piè di pagina lungo le righe secondo cui -64 è più veloce di -32 e ho raccomandato IF (MA SOLO SE) che il sistema di destinazione lo supporta.


1
Ii sarà interessante quando saranno supportati i nuovi binari x32 e ABI, quante applicazioni a 64 bit passeranno a questo ABI en.wikipedia.org/wiki/X32_ABI per utilizzare meno risorse e memoria e utilizzare completamente la CPU.
Emanuele,

Se si consiglia 32 bit, allora perché Wubi preferisce 64 bit ?
Dan Dascalescu il

1
nb 64 bit ora può essere consigliato ...
Wilf

5
Nota per i lettori: questa risposta è stata scritta oltre 4 anni fa. Oggi non consiglierei l'installazione a 32 bit e non credo che Ubuntu lo consiglierebbe più.
thomasrutter,

Ora è una domanda che si risolverà da sé in poco meno di oltre un anno, con build a 64 bit che probabilmente diventeranno l'impostazione predefinita dopo Ubuntu 16.04 ..
mario

18

I termini a 32 e 64 bit si riferiscono al modo in cui la CPU di un computer gestisce le informazioni. La versione a 64 bit gestisce grandi quantità di RAM in modo più efficace rispetto a un sistema a 32 bit. 1

  • Per eseguire un sistema operativo a 64 bit è necessario il supporto della CPU a 64 bit.
    • Per eseguire un'applicazione a 64 bit è necessario il supporto sia del sistema operativo a 64 bit sia della CPU a 64 bit.

La regola generale è che 32 bit (sistema operativo e applicazione) verranno eseguiti su 64 bit, ma 64 bit (sistema operativo e applicazione) non verranno eseguiti su 32 bit:

  • Un sistema operativo a 32 bit verrà eseguito su un processore a 32 o 64 bit senza alcun problema.
  • Un'applicazione a 32 bit verrà eseguita su un sistema operativo a 32 o 64 bit senza alcun problema.
  • Ma un'applicazione a 64 bit verrà eseguita solo su un sistema operativo a 64 bit e un sistema operativo a 64 bit verrà eseguito solo su un processore a 64 bit.

Per installare un sistema operativo a 64 bit è necessaria una CPU compatibile a 64 bit. Verificare con il produttore del PC per scoprire se il sistema è compatibile a 64 bit.

I sistemi a 32 bit hanno un limite di memoria RAM di 4 Gigabyte, il che significa che non possono indirizzare più di 4 GB di RAM anche se ne sono installati di più sul sistema (non verrà utilizzato tutto). Sono disponibili soluzioni alternative, ma difficili da fare per un utente medio.

Nota: Ubuntu 12.10 e versioni successive supporteranno PAE automaticamente. Prima del 12.10, hai la possibilità di scegliere il supporto PAE a seconda della tua CPU. PAE estende la RAM massima da 32 bit a 64 GB, maggiori informazioni sono disponibili qui.

Le edizioni a 64 bit offrono ulteriori vantaggi, tra cui una maggiore larghezza di banda, DEP abilitato all'hardware (prevenzione dell'esecuzione dei dati) e una migliore protezione del kernel.

La maggior parte delle applicazioni a 32 bit continuerà a funzionare su sistemi a 64 bit, ma alcune applicazioni non funzionano affatto o funzioneranno più lentamente.

Per ulteriori informazioni puoi consultare 32-bit e 64-bit

1 fonte: Microsoft


@Alvar La CPU deve supportare PAE. In generale, si consiglia un sistema a 64 bit adeguato se si dispone di almeno 4 Gb di memoria e / o si desidera ottenere il massimo beneficio dall'architettura a 64 bit.
Mitch

Capisco, ma come ho detto, la CPU deve supportare PAE affinché funzioni . Ad esempio Atom non supporta PAE.
Mitch

L'ho appena aggiunto come nota nella risposta.
Mitch

aggiunta una spiegazione di cosa sia PAE con la fonte. Spero che tu ne sia felice.
Alvar,

10

Come sottolineato qui in Phoronix : "Con la situazione multi-arch di Ubuntu chiarita, la maggior parte delle applicazioni e dei plug-in ora funzionano bene su 64-bit (come Adobe Flash e Java) e 64-bit di solito molto più veloce di 32 -bit, non c'è davvero alcun motivo per non passare alla versione x86_64. "

Sebbene sia stato discusso se 64 bit verrà indicato come predefinito anziché 32 bit, penso che tu abbia un certo miglioramento delle prestazioni con il primo. Vedi questi parametri di riferimento .

E una parola della tua "scarsa" memoria RAM di Phoronix : "[S] alcuni sviluppatori Ubuntu sono stati eccessivamente preoccupati per i netbook a 32 bit ancora in circolazione e per i sistemi che hanno solo 2 GB di RAM in cui l'utilizzo del software x86_64 può portare a funzionare memoria insufficiente e quindi maggiore utilizzo di SWAP. Tuttavia, per la stragrande maggioranza degli utenti, stanno molto meglio in un mondo a 64 bit ".

Forse puoi installarlo e vedere se il sistema usa spesso lo swap.


3

Ho esaminato questo aspetto per Ubuntu Precise LTS qualche tempo fa. Ecco alcuni risultati di alcune analisi che ho eseguito:

http://kernel.ubuntu.com/~cking/power-benchmarking/blueprint-foundations-p-64bit-by-default/low-memory-systems/readme.txt

http://kernel.ubuntu.com/~cking/power-benchmarking/blueprint-foundations-p-64bit-by-default/hpmini-and-x220-tests/results-3/results.txt

Fondamentalmente, se hai 4 GB o meno va bene, per più di 4 GB considera l'utilizzo di i386-pae o amd64. I sistemi a 64 bit consumano più memoria (ad esempio, i puntatori hanno dimensioni di 64 bit) ma è possibile che si verifichi una vittoria delle prestazioni sui sistemi a 64 bit a causa delle ottimizzazioni che utilizzano copie a 64 bit o utilizzano i registri CPU aggiuntivi disponibili nella modalità a 64 bit.


3

Per me il più importante è stato il fatto che non è possibile utilizzare il filesystem ZFS su un sistema operativo a 32 bit, perché è semplicemente instabile lì a causa dei limiti vmalloc del sistema operativo a 32 bit (indipendentemente da PAE o nonPAE). Questo è stato un motivo per cui ho reinstallato a 64 bit, e non ho mai guardato indietro. Anche NVIDIA ha poche righe su cosa vmalloc nelle pagine di "risoluzione dei problemi", terminando incoraggiando gli utenti a passare a kernel a 64 bit.

Esiste un limite di indirizzo di 1 GB in modalità a 32 bit, quindi anche se può utilizzare fino a 4 GB, solo 1 GB viene chiamato "basso" e il resto è "memoria alta" che non è così generale. E 1 GB è un numero davvero piccolo, al giorno d'oggi .. Prova #free -l


2

Come affermato dai precedenti poster, 64 bit contro 32 bit si riferisce alla dimensione dei dati che possono essere spostati in un'unica operazione dal computer. Ciò si riferisce alla dimensione dei registri sulla CPU e alla larghezza dei bus (un registro contiene solo i dati su cui la CPU può operare, erano piccoli nell'hardware di consumo e sono cresciuti dall'inizio dell'home computing. Gli autobus collegano insieme diverse parti di una scheda madre, sono l'autostrada su cui circolano i dati).

Il problema è che la maggior parte dei sistemi operativi presentava alcuni problemi reali quando si passava a operazioni a 64 bit, con uno scarso supporto per driver e applicazioni. Spesso le applicazioni avevano prestazioni peggiori nelle prime versioni. Dato che non vi è alcun motivo reale per cui la maggior parte delle persone salti nel profondo, i poteri di Linux sembrano prendere la mossa un po 'più lentamente rispetto agli altri SO di tosse , lenti ma costanti.


2

Per una semplice esperienza utente, il sito ufficiale di Ubuntu suggerisce versioni a 32 bit a causa di una regolazione più flessibile.
Conto qui significa anche la coerenza dei dati.

Esistono molti punti per ogni pro e contro . La mia visione è una grande prestazione del sistema operativo a 64 bit sul processore Intel Architecture a 64 bit direttamente correlata all'utilizzo di software e driver a 64 bit, che può darti la possibilità di battere le normali prestazioni a 32 bit.

Si noti che l'utilizzo di software a 32 bit su sistemi operativi a 64 bit a volte può causare prestazioni scadenti e persino surriscaldamento in casi molto diversi.

Tuttavia, con i componenti firmati e questo riferimento:
Tecnologia Intel® Extended Memory 64: elaborazione desktop a 64 bit
... migliore esperienza possibile con 4 GB + di memoria.

Conto che questa sarà una soluzione buona e non molto costosa per te.

E sì, usando entrambi i sistemi in parallelo in grado di offrirti una comprensione più chiara della configurazione e della versatilità dei significati.


2

Fondamentalmente direi che usa la versione a 64 bit se ne hai bisogno.

Se stai principalmente navigando sul web, guardando YouTube, bighellonando su Facebook, guardando film, ecc. 32 bit è meglio perché non hai bisogno di alcun buon hardware per fare quelle cose.

Se giochi su Steam, WINE ecc., Esegui un sacco di programmi, fai un po 'di editing multimediale e quindi 64 bit è la scelta migliore.

uso così casuale quindi sistema operativo a 32 bit, uso avanzato quindi versione a 64 bit.


1

32-bit e 64-bit si riferiscono alla dimensione (o larghezza) di un pezzo di memoria o più precisamente, la memoria registra nella CPU di un computer - questo definisce quanti dati può gestire il processore in una singola operazione. 32-bit e 64-bit si riferiscono alla dimensione (o larghezza) di un pezzo di memoria o più precisamente, la memoria registra nella CPU di un computer - questo definisce quanti dati può gestire il processore in una singola operazione. Sì, ciò significa che la versione a 64 bit funzionerà più velocemente poiché può gestire più dati contemporaneamente.


1

Ad essere sincero, non ho percepito alcuna differenza se non per il tempo leggermente ridotto richiesto per compilare programmi e codificare video. A parte questo, mi sembra lo stesso. Ho notato, tuttavia, che ciò che fa davvero la differenza in termini di prestazioni è il driver video. Suppongo che i driver video a 32 bit siano supportati meglio. Di recente ho installato l'ultimo driver nVidia 260 su un sistema a 32 bit e ha fatto molta differenza. Attualmente sto usando 32 bit.


1

Uso Ub64 in un chip AMD64, sento la differenza di velocità. Non è un grande impulso, ma puoi sentire. Perché non provi per 10 secondi a ciascuno, e confronti da solo, sul tuo sistema (qual è il punto della domanda)? Sono sicuro che non perderai tempo, poiché l'installazione è così veloce in questi giorni. (grazie Ubuntu! -)

I problemi Java / Flash hanno soluzioni "buone" anche in rete ...


1

Personalmente sul mio desktop sto funzionando a 64 bit perché supporta più di 4 GB di RAM. Ottieni anche un aumento di velocità. So che puoi anche ottimizzare 32 bit per essere in grado di rilevare 4 GB di RAM o più. Circa la tua seconda domanda a 32 bit è il nome i386 perché Intel era quelli che devono sviluppare l'istruzione / tecnologia a 32 bit e AMD segue. AMD sviluppa quindi il 64 bit e quindi Intel raggiunge o adotta tale tecnologia. Ecco perché 64 bit è Amd64.


1

Come squallbayu, speravo che il 64 bit avrebbe funzionato meglio da quando avevo appena acquistato un Macbook Pro intel i-7 da 8 "RAM i-7 8 Gig RAM 500 Gig ultimo disco rigido Lion nella primavera del 2011. Sfortunatamente dopo aver installato sia prima 64 che poi 32 bit a mani basse il 32 bit era più stabile e regolare .. Non avevo nulla a che fare con la velocità (differenza minima) Dato che non sono un esperto, ma penso davvero che il vantaggio del 64 bit non sarà notato fino a quando gli sviluppatori di software non impareranno come sfruttare il suo potere ..


1

A parte le differenze ottimamente dichiarate dagli altri membri della comunità, se sei preoccupato per la RAM, puoi sempre installare zRAM.

Informazioni di Wikipedia su zRAM:

zRam è un modulo sperimentale (di gestione temporanea) del kernel Linux. In precedenza era chiamato "compcache". zRam aumenta le prestazioni evitando il paging sul disco e utilizza invece un dispositivo a blocchi compressi nella RAM in cui avviene il paging fino a quando non è necessario utilizzare lo spazio di swap sul disco rigido. Poiché l'utilizzo della RAM è più veloce rispetto all'utilizzo dei dischi, zRam consente a Linux di sfruttare maggiormente la RAM quando è richiesto lo scambio / paging, in particolare sui computer meno recenti con meno RAM installata.

Anche se il costo dell'hardware RAM è relativamente basso, questa funzione offre ancora vantaggi per netbook e altri laptop a basso consumo, virtualizzazione e nel caso di dispositivi embedded, in particolare quelli che utilizzano memorie flash che hanno una durata limitata, a seconda dell'uso della scrittura e quindi si consumano rapidamente se usato come dispositivo di scambio.


1

La differenza tra 32 bit e 64 bit non è cambiata da quando è stata posta questa domanda.

Vorrei suggerire di utilizzare la versione a 64 bit.
Non conosco un software che non può essere utilizzato su un sistema a 64 bit e se si desidera utilizzare 4 GB (o più) di RAM, è necessario utilizzare la versione a 64 bit di Ubuntu.


Ho solo 4 GB di RAM, è ancora meglio andare con la versione a 64 bit? Le risposte a questa domanda erano troppo tecniche per me da capire. Grazie
Cool_Coder l'

1
Utilizzare l'edizione a 64 bit. Non credo che avrai problemi con quello. Sto usando 64 bit con tutte le mie macchine e non ci sono problemi.
prophecy201

ok grazie per quelle informazioni. Installerò la versione a 64 bit.
Cool_Coder l'

@Cool_Coder, l'unico motivo per cui dovresti prendere in considerazione la versione a 32 bit è se lavori per un'azienda che utilizza Juniper Networks Connect , un sistema VPN basato su Web / Java che funziona solo con Java a 32 bit. A dire il vero, Java a 32 bit può essere installato in Ubuntu a 64 bit, ma trovo che farlo sia un po 'una seccatura. Oltre a questo, non conosco nessun altro motivo per favorire Ubuntu a 32 bit su una macchina da 4 GB.
user68186,

0

Oltre a essere in grado di indirizzare più memoria e possibili miglioramenti della velocità, è necessario scaricare e installare la versione a 64 bit per la nuova macchina compatibile con UEFI fornita con Windows 8 o una versione più recente di Windows.

Mentre si sta lavorando sul supporto a 32 bit per i sistemi UEFI, al momento non sono disponibili immagini standard a 32 bit che si avviano in modalità UEFI.

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.