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


Qual è la differenza tra Ubuntu 32-bit e 64-bit? Ho sentito che la piattaforma a 64 bit ha prestazioni migliori e può rilevare oltre 4 GB di RAM. Inoltre, mentre alcune app non sono ancora state trasferite a 64 bit, ia32-libs consente a una macchina a 64 bit di eseguirli.

Se è così, perché non promuovere 64-bit su 32-bit?


136
2017-10-14 03:39


origine


Relazionato: Come posso verificare se ho un sistema operativo a 32 bit o a 64 bit? - Lucio
Relazionato: Cosa è successo al pacchetto ia32-libs? - LiveWireBT
Ubuntu 32-bit, 32-bit PAE, benchmark del kernel a 64-bit - phuclv


risposte:


Credo che la questione principale nella scelta tra 32 e 64 bit non sia "Il mio processore supporta 64 bit - se è così allora dovrei usare 64 perché è due volte più buono", ma "Quanta memoria ho?".

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

  • meno codice / dati possono adattarsi alle cache del processore -> più errori di cache -> il tuo processore super-veloce attende di più per il controller di memoria per recuperare i dati dalla RAM. Anche il processore deve essere letto Di Più dati perché è più gonfio.

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

  • Una volta esaurita la RAM e il sistema inizia lo scambio - 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à a 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 generale, il codice che non è limitato alla memoria viene eseguito leggermente più veloce nella modalità a 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 più importanti. Intorno al 4GiB c'è una "zona grigia": devi fare una scelta da solo.

Ecco gli screenshot di una (piuttosto vecchia) Ubuntu in esecuzione in un VirtualBox con RAM da 1GiB:

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

32 bit Ubuntu

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

64 bit Ubuntu

Inoltre, nei miei test, un'applicazione web scritta in Python utilizzava fino al 60% di memoria in più su una macchina a 64 bit, risultando in una suite di test in esecuzione a 380 secondi su una macchina a 32 bit ma prendendo 523 secondi su una 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 free mem used swap used

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


143
2017-10-22 07:59



Quindi 32-bit, 388M; 64-bit, 498M o circa 110M in più e questo è il 30% di 2G ?? - irrational John
Sono d'accordo con i numeri ma non sono d'accordo con la conclusione. Il 30% in meno di RAM per il 10% di prestazioni migliorate ne fanno l'affare del secolo! Inoltre, è molto più economico mandare in memoria RAM extra che sostituire la CPU. - Oli♦
Sì, non sono d'accordo, ma lo metterei più forte e andare leggermente oltre, suggerendo solo 32 bit quando non è supportato dalla CPU o non è fattibile per aggiornare la RAM (è antica o stai per buttarla via) . Le persone con un computer moderno con <= 2 GB dovrebbero spendere $ 20-30 su eBay e avere 4 GB. Una spinta del 10% vale la pena. - Oli♦
@nealmcb: Sei limitato a ~ 3 GB di RAM per processo in modalità a 32 bit, anche con PAE e tutto il resto. Quindi non ti aiuterà con Firefox (anche se potrebbe essere d'aiuto con Chrome perché sta usando un processo separato per ogni scheda). - Sergey
È ancora vero nel 2015? Voglio installare Ubuntu 14.04 su un tablet Atom che abbia 1 GB di memoria e una CPU lenta (con capacità 64 bit), quindi dopo averlo letto, tendo fortemente a 32-bit. Qualcosa che valga la pena considerare dopo aver postato questa risposta? Soprattutto in termini di consumo di memoria di base 64 bit rispetto a 32 bit, dal momento che la memoria sarebbe il collo di bottiglia più grande su questo sistema. - Andreas Hartmann


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

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

Il problema pratico: non tutti hanno una CPU AMD64 compatibile. La promozione di 64 bit rispetto alla versione standard i686 porterebbe a una maggiore frustrazione da parte dell'utente. Pertanto, per i prossimi anni, è meno complicato presentare la versione a 32 bit all'utente medio. Non è esattamente un problema per chiunque lo sappia, dal momento che la versione a 64 bit è prontamente disponibile. E noi utenti di 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 "un numero minore di 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 Intel atom sono solo 32 bit anche nel 2010!
Quindi, in conclusione, penso che sia ancora necessario evitare i problemi di compatibilità. Tuttavia, sono d'accordo sul fatto che ci dovrebbe essere almeno una nota lucida lungo le linee che -64 è più veloce di -32, e raccomandato IF (SOLO SE SE) il sistema di destinazione lo supporta.


22
2017-10-14 08:30



Ii sarà interessante quando verranno supportati i nuovi binari x32 e ABI, quante applicazioni a 64 bit passeranno a questo ABI en.wikipedia.org/wiki/X32_ABI utilizzare meno risorse e memoria e utilizzare pienamente la CPU. - Emanuele
Se si consiglia 32 bit, allora perché? Wubi preferisce 64-bit? - Dan Dascalescu
n.b 64bit ora può essere raccomandato ... - Wilf
Nota per i lettori: questa risposta è stata scritta oltre 4 anni fa. Non raccomanderei l'installazione di 32-bit al giorno d'oggi, e non credo che Ubuntu lo raccomanderebbe più. - thomasrutter
Ora è una domanda che si risolverà in poco meno di un anno, con Le build a 64 bit probabilmente diventeranno il valore predefinito dopo Ubuntu 16.04.. - mario


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

  • Per eseguire un sistema operativo a 64 bit è necessario il supporto dalla CPU a 64 bit.
    • Per eseguire un'applicazione a 64 bit è necessario il supporto sia dal sistema operativo a 64 bit e la CPU a 64 bit.

La regola generale è che a 32 bit (sistema operativo e applicazione) verrà eseguito a 64 bit, ma a 64 bit (sistema operativo e applicazione) non viene eseguito su 32 bit:

  • Un sistema operativo a 32 bit verrà eseguito su un processore a 32 o 64 bit senza problema.
  • Un'applicazione a 32 bit verrà eseguita su un sistema operativo a 32 bit o 64 bit senza alcuna 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.

È necessaria una CPU compatibile a 64 bit per installare un sistema operativo a 64 bit. Rivolgersi al produttore del PC per verificare se il sistema è compatibile a 64 bit.

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

Nota: Ubuntu 12.10 e versioni successive supporteranno automaticamente PAE. Prima delle 12.10, hai la possibilità di scegliere il supporto PAE in base alla tua CPU. PAE estende la RAM massima su 32-bit a 64 GB, è possibile trovare ulteriori informazioni Qui.

Le edizioni a 64 bit presentano ulteriori vantaggi, tra cui una maggiore larghezza di banda, DEP (prevenzione dell'esecuzione dei dati) abilitata all'hardware 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 verranno eseguite più lentamente.

Ud B B Bud B B Bud B B Bud B B Bud B Bud B B B B B B B B B B B B B B B B Ududud B B B B Bud Budud B Bud B B B B B Budud B B B B B B B B B B B B B 

1Fonte: Microsoft


18
2018-06-28 05:45



@Alvar La CPU deve supportare PAE. In generale, si consiglia un sistema a 64 bit appropriato se si dispone di una memoria da 4 Gb o superiore e / o si desidera ottenere il massimo vantaggio dall'architettura a 64 bit. - Mitch♦
Capisco, ma come ho detto il La CPU deve supportare PAE perché funzioni. Ad esempio, Atom non supporta la PAE. - Mitch♦
L'ho appena aggiunto come nota nella risposta. - Mitch♦
aggiunta una spiegazione di cosa è il PAE con la fonte. Spero tu ne sia felice. - Alvar


Come indicato Quiin Phoronix: "Con la situazione di multi-arch di Ubuntu in corso di rimozione, la maggior parte delle applicazioni e plug-in ora funzionano bene su 64 bit (come Adobe Flash e Java), e 64 bit essendo di solito molto più veloci di 32-bit, c'è davvero non è un grande motivo per non passare alla versione x86_64. "

Sebbene sia discusso se 64 bit sarà indicato come predefinito invece di 32 bit, penso che tu abbia un guadagno di prestazioni con il primo. Vedere questi parametri di riferimento.

E una parola della tua memoria RAM "bassa" da Phoronix: "[S] alcuni sviluppatori di Ubuntu sono stati eccessivamente preoccupati per i netbook a 32 bit che sono ancora là fuori e per i sistemi che hanno solo 2 GB di RAM dove usare il software x86_64 può portare a esaurire la memoria e quindi aumentare l'utilizzo di SWAP. una grande maggioranza di utenti, stanno molto meglio in un mondo a 64 bit. "

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


10
2018-04-23 00:03





Ho esaminato questo per Ubuntu Precise LTS un po 'di 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

In sostanza, se hai 4 GB o meno è OK, per più di 4 GB prendi in considerazione l'utilizzo di i386-pae o amd64. I sistemi a 64 bit consumano più memoria (ad esempio, i puntatori hanno una dimensione di 64 bit) ma è possibile che si verifichi un miglioramento delle prestazioni su sistemi a 64 bit a causa di ottimizzazioni che utilizzano copie a 64 bit o utilizzano i registri CPU aggiuntivi disponibili in modalità 64 bit.


3
2017-07-27 17:55





Per me il più importante è stato il fatto che non si può usare il filesystem ZFS su 32bit os, perché è semplicemente instabile a causa dei limiti vmalloc di 32 bit os (indipendentemente dal PAE o nonPAE). Questo è stato un motivo per me per reinstallare 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 indirizzamento di 1 GB in modalità 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 è davvero un numero piccolo, oggigiorno .. Prova #free -l


3
2018-05-04 05:37





Come affermato dai precedenti poster, 64-bit vs 32-bit si riferisce alla dimensione dei dati che possono essere spostati in un'unica operazione dal computer. Questo si riferisce alla dimensione dei registri sulla CPU e alla larghezza dei bus (un registro contiene solo i dati per la CPU su cui operare, erano piccoli nell'hardware di consumo e sono cresciuti sin dall'inizio del settore dell'informatica domestica. 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 ha avuto alcuni problemi reali quando si passa a operazioni a 64 bit, con scarso supporto per driver e applicazioni. Spesso le applicazioni avevano effettivamente peggio prestazioni nelle prime versioni. Dato che non c'è una vera ragione per la maggior parte delle persone a saltare in profondità, le potenze di Linux sembrano prendere la mossa un po 'più lentamente di tosse _ altri sistemi operativi, lenti ma costanti.


2
2017-10-14 03:54





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

Esistono molti punti per nessuno pro e contro. Il mio punto di vista è una grande prestazione del sistema operativo a 64 bit su processore Intel Architecture 64-bit direttamente correlato 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 del software a 32 bit su sistemi operativi a 64 bit a volte può causare prestazioni errate e addirittura un surriscaldamento in casi molto diversi.

Tuttavia, dai componenti firmati e da questo riferimento:
Tecnologia Intel Extended Memory 64: 64-bit Desktop Computing
... migliore esperienza possibile con 4Gb + di memoria.

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

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


2
2018-04-23 00:37





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

Se stai principalmente navigando in Internet, guardi su YouTube, vai in giro su Facebook, guarda film ecc. 32 bit è meglio perché non hai bisogno di hardware valido per fare queste 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 casuale quindi sistema operativo a 32 bit, uso avanzato quindi versione a 64 bit.


2
2018-01-29 14:44





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


1
2017-10-14 03:43