Vraag Wat zijn de verschillen tussen 32-bits en 64-bits en welke moet ik kiezen?


Wat is het verschil tussen 32-bits en 64-bits Ubuntu? Ik heb gehoord dat het 64-bit-platform beter presteert en meer dan 4 GB RAM kan detecteren. Hoewel sommige apps nog niet zijn geport naar 64-bit, ia32-libs laat een 64-bit machine ze uitvoeren.

Als dat zo is, waarom dan niet 64 bit over 32 bit promoten?


136
2017-10-14 03:39


oorsprong


Verwant: Hoe controleer ik of ik een 32-bits of een 64-bits besturingssysteem heb? - Lucio
Verwant: Wat gebeurde er met het pakket ia32-libs? - LiveWireBT
Ubuntu 32-bits, 32-bits PAE, 64-bits kernelbenchmarks - phuclv


antwoorden:


Ik geloof dat de belangrijkste vraag bij het kiezen tussen 32 en 64 bits niet is "ondersteunt mijn processor 64 bits - zo ja, dan zou ik 64 moeten gebruiken omdat dat tweemaal zo goed is", maar "Hoeveel geheugen heb ik?".

64-bits programma's gebruiken ongeveer 50% meer geheugen dan hun 32-bits-tegenhangers. De resultaten hiervan zijn:

  • minder code / gegevens kunnen in processorcaches passen -> meer cachemissies -> je supersnelle processor wacht meer totdat de geheugencontroller gegevens uit het RAM haalt. Processor moet ook lezen meer gegevens omdat het meer opgeblazen is.

  • Linux gebruikt niet-toegewezen RAM om schijven te cachen. Minder vrij geheugen beschikbaar -> minder ruimte voor schijfcaches -> langzamere schijftoegang

  • Zodra je geen RAM meer hebt en het systeem begint te swappen - de schijftoegang is duizenden malen langzamer dan RAM, dus alle mogelijke voordelen van 64-bits code (zie hieronder) vliegen uit het raam.

Aan de andere kant, in de 64-bits modus heeft de processor meer registers, dus het heeft geen toegang tot het geheugen nodig, vaak zijn ook sommige berekeningen (64-bits nummers enz.) Efficiënter. In het algemeen verloopt de code die niet door het geheugen is beperkt iets sneller in de 64-bits modus.

Dus als je systeem bijvoorbeeld 2GiB aan RAM of minder heeft, zou ik zeker 32 bits kiezen. Meer dan 4GiB - de voordelen van 64 bits worden steeds prominenter. Rond 4GiB is een "grijze zone" - je moet zelf een keuze maken.

Hier zijn screenshots van een (vrij oude) vanilla Ubuntu die in een VirtualBox draait met 1GiB RAM:

32 bit: gebruikt direct 388 MiB RAM na het opstarten, er worden geen extra toepassingen uitgevoerd (van de schermafbeelding, 397780KiB, dat is 388MiB)

32 bit Ubuntu

64 bit: gebruikt 491 MiB RAM (uit de screenshot, 503452KiB = 491MiB)

64 bit Ubuntu

Bovendien, tijdens mijn testen, gebruikte een web-applicatie geschreven in Python tot 60% meer geheugen op een 64-bit machine, wat resulteerde in een testsuite draaiend in 380 sec op een 32-bit machine maar 523 seconden op een 64-bit machine bit één (beide met 1GiB RAM). Als de machines niet RAM-begrensd waren, zouden de resultaten waarschijnlijk anders zijn (zoals de phoronix-tests laten zien).

Hier zijn enkele meer grondige en recente tests: http://kernel.ubuntu.com/~cking/x32/Quantal-x32-power-memory-comparisons.ods

mem free mem used swap used

Kortom, het is alsof je 30% van je RAM opgeeft in ruil voor mogelijke winst van 10% CPU-snelheid.


143
2017-10-22 07:59



Dus 32-bits, 388M; 64-bit, 498M of ongeveer 110M meer en dat is 30% van 2G ?? - irrational John
Ik ben het eens met de cijfers, maar ben het niet eens met de conclusie. 30% minder RAM voor 10% verbeterde prestaties maakt het de deal van de eeuw! Bovendien is het een stuk goedkoper om extra RAM-geheugen te gebruiken dan om de CPU te vervangen. - Oli♦
Ja, daar ben ik het niet mee oneens, maar ik zou het sterker maken en iets verder gaan, alleen 32bit suggererend wanneer het niet door de CPU wordt ondersteund of het niet haalbaar is om de RAM te upgraden (het is oud of je staat op het punt het weg te gooien) . Mensen met een moderne computer met <= 2 GB zouden de $ 20-30 op eBay moeten uitgeven en 4 GB hebben. Een verhoging van 10% is dat waard. - Oli♦
@nealmcb: u bent beperkt tot ~ 3 Gb RAM per proces in de 32-bits modus, zelfs met PAE en dergelijke. Dus het zal je niet helpen met Firefox (hoewel het kan helpen met Chrome omdat het voor elk tabblad een afzonderlijk proces gebruikt). - Sergey
Is dit nog steeds waar in 2015? Ik wil Ubuntu 14.04 installeren op een Atom-tablet die 1 GB geheugen en een langzame CPU (64-bits geschikt) heeft, dus na het lezen heb ik een sterke neiging naar 32-bits. Is er iets dat het overwegen waard is veranderd sinds het plaatsen van dit antwoord? Vooral in termen van 64-bits basisgeheugenconsumptie vergeleken met 32-bits, omdat geheugen het grootste knelpunt op dit systeem zou zijn. - Andreas Hartmann


Als u de technische details niet wilt leren, selecteert u de aanbevolen 32-bits versie.

64-bit is over het algemeen sneller, zelfs als objectief moeilijk op te merken. Dit heeft minder te maken met de 64-bits gegevensbreedte, maar met de beschikbaarheid van 16 meer dan 8 algemene CPU-registers voor de hele instructieset. Het nadeel van het verspillen van meer geheugen voor beheer en grotere wijzers wordt daardoor grotendeels genivelleerd.

Het praktische probleem: niet iedereen heeft een AMD64-compatibele CPU. 64-bit promoten via de standaard i686-versie zou leiden tot meer gebruikersfrustratie. Daarom is het voor de komende jaren minder verwarrend om de 32-bits versie aan de gemiddelde gebruiker te presenteren. Het is niet bepaald een probleem voor iedereen die het weet, aangezien de 64-bit-versie direct beschikbaar is. En wij amd64-gebruikers hebben geen nadeel van die situatie, behalve de eerste download. Alle pakketten zijn beschikbaar in beide architecturen.

Onder deze omstandigheden ziet de Ubuntu-downloadpagina er goed uit. Er staat "32 bit (aanbevolen)", maar dat "aanbevolen" vertaalt zich naar "minder problemen, als u niet alle technische details van uw computer kent". Voor de downloadpagina van de netbook-editie is er niet eens de keuze, want sommige Intel-atoom-CPU's zijn slechts 32-bits zelfs in 2010!
Dus tot slot denk ik dat het vermijden van de compatibiliteitsproblemen nog steeds noodzakelijk is. Ik ben het er echter mee eens dat er ten minste een glanzende voetnoot moet zijn langs de lijnen dat -64 sneller is dan -32 en aanbevolen is ALS (MAAR ALLEEN ALS) het doelsysteem dit ondersteunt.


22
2017-10-14 08:30



Ii zal interessant zijn wanneer de nieuwe x32 binaries en ABI worden ondersteund, hoeveel 64 bit-applicaties zullen overschakelen naar deze ABI en.wikipedia.org/wiki/X32_ABI om minder bronnen en geheugen te gebruiken en de CPU volledig te gebruiken. - Emanuele
Hand hand4040 hand details details hand hand hand details 3 hand details 3 hand details 3 hand details 3 hand details details details details 3 3 hand 3 3 3 hand 3 3 details hand 3 3 3 hand 3 details hand40 hand details 3 Wubi geeft de voorkeur aan 64-bit? - Dan Dascalescu
hand40 details hand details details details40404040 details details hand details4040 hand hand40 hand details40404040 3 3 3 3 3 3 3 3 details details 3 3 hand 3 details hand 3 3 hand 3 details 3 - Wilf
Opmerking voor lezers: dit antwoord is meer dan 4 jaar geleden geschreven. Ik zou het installeren van 32-bits tegenwoordig niet aanbevelen, en ik denk niet dat Ubuntu het meer zou aanbevelen. - thomasrutter
Het is nu een vraag die zichzelf binnen iets meer dan een jaar zal oplossen 64bit builds worden waarschijnlijk de standaard na Ubuntu 16.04.. - mario


De termen 32-bit en 64-bit verwijzen naar de manier waarop de CPU van een computer omgaat   informatie. De 64-bits versie verwerkt grote hoeveelheden RAM meer   effectief dan een 32-bits systeem. 1

  • Om een ​​64-bits besturingssysteem uit te voeren, hebt u ondersteuning van de 64-bits CPU nodig.
    • Voor het uitvoeren van een 64-bits toepassing heeft u ondersteuning nodig van zowel het 64-bits besturingssysteem en de 64-bits CPU.

De algemene regel is dat 32-bits (besturingssysteem en toepassing) wordt uitgevoerd op 64-bits, maar 64-bits (besturingssysteem en toepassing) werkt niet op 32-bits:

  • Een 32-bits besturingssysteem zal zonder enige reden op een 32-bits of 64-bits-processor worden uitgevoerd probleem.
  • Een 32-bits toepassing wordt zonder enige versie uitgevoerd op een 32-bits of 64-bits besturingssysteem probleem.
  • Maar een 64-bits toepassing kan alleen worden uitgevoerd op een 64-bits besturingssysteem en een 64-bits besturingssysteem werkt alleen op een 64-bits processor.

Een 64-bits compatibele CPU is nodig om een ​​64-bits besturingssysteem te installeren. Raadpleeg de fabrikant van uw pc om na te gaan of uw systeem 64-bit compatibel is.

32-bits systemen hebben een geheugenlimiet van 4 Gigabyte RAM, wat betekent dat ze niet meer dan 4 GB RAM kunnen verwerken, zelfs als er meer op het systeem is geïnstalleerd (niet alles zal worden gebruikt). Tijdelijke oplossingen zijn beschikbaar, maar moeilijk voor een gemiddelde gebruiker.

Notitie: Ubuntu 12.10 en nieuwere ondersteunen PAE automatisch. Voor 12.10 heb je de mogelijkheid om PAE-ondersteuning te kiezen, afhankelijk van je CPU. PAE breidt maximale RAM uit op 32-bits naar 64 GB, meer informatie is te vinden hier.

64-bit-edities hebben extra voordelen, waaronder een grotere bandbreedte, DEP met hardware-functionaliteit (preventie van gegevensuitvoering) en betere Kernel-bescherming.

Het merendeel van de 32-bits toepassingen blijft werken op een 64-bits systeem, maar sommige toepassingen werken helemaal niet of worden langzamer uitgevoerd.

Voor meer informatie kunt u kijken 32-bits en 64-bits 

1Bron: Microsoft


18
2018-06-28 05:45



@Alvar De CPU moet PAE ondersteunen. Over het algemeen wordt een goed 64-bits systeem aanbevolen als u 4 Gb of meer geheugen hebt en / of het volledige voordeel van de 64-bits architectuur wilt hebben. - Mitch♦
Ik begrijp het, maar zoals ik al zei CPU moet PAE ondersteunen om te kunnen werken. Atom dosen ondersteunt bijvoorbeeld PAE niet. - Mitch♦
404040 details details40 3 details details hand4040 details hand 3 hand 3 hand4040 details 3 details4040 hand 3404040 hand hand 340 3 3 3 3 3 3 340 details 3 details details hand 3 - Mitch♦
een uitleg toegevoegd van wat PAE is met bron. Ik hoop dat je er blij mee bent. - Alvar


Zoals gezegd hierin Phoronix: "Nu de multi-arch-situatie in Ubuntu is opgelost, werken de meeste toepassingen en plug-ins nu prima op 64-bits (zoals Adobe Flash en Java) en is 64-bits meestal veel sneller dan 32-bits, daar is echt is geen grote reden om niet naar de x86_64-versie te gaan. "

Hoewel het is besproken als 64bit als standaard in plaats van 32bit wordt aangegeven, denk ik dat je wat prestatiewinst hebt bij de eerste. Zien deze benchmarks.

En een woord van je "lage" RAM-geheugen van Phoronix: "[S] ome Ubuntu-ontwikkelaars maken zich grote zorgen over het feit dat 32-bit netbooks nog steeds beschikbaar zijn en voor systemen met slechts 2 GB RAM, waarbij het gebruik van x86_64-software kan leiden tot onvoldoende geheugen en dus tot meer SWAP-gebruik. verreweg de meeste gebruikers, ze zijn veel beter af in een 64-bits wereld. "

Misschien kun je het installeren en kijken of het systeem de swap vaak gebruikt.


10
2018-04-23 00:03





Ik heb dit een tijdje geleden onderzocht voor Ubuntu Precise LTS. Hier zijn enkele resultaten van een analyse die ik heb uitgevoerd:

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

Kortom, als je 4 GB of minder hebt is OK, overweeg dan voor meer dan 4 GB gebruik te maken van i386-pae of amd64. 64-bits systemen nemen meer geheugen in beslag (pointers hebben bijvoorbeeld een 64-bits lengte), maar u kunt een prestatiewinst zien op 64-bits systemen vanwege optimalisaties die 64-bits exemplaren gebruiken of de extra CPU-registers gebruiken die beschikbaar zijn in 64-bits modus.


3
2017-07-27 17:55





Voor mij was het belangrijkste het feit dat je ZFS-bestandssysteem niet kunt gebruiken op 32-bit-os, omdat het daar eenvoudig onstabiel is vanwege vmalloc-limieten van 32-bit-os (ongeacht PAE of nonPAE). Dat was een reden voor mij om opnieuw te installeren naar 64bit, en ik keek nooit terug. Zelfs NVIDIA heeft een paar regels over vmalloc-dingen in pagina's voor het oplossen van problemen en eindigt door gebruikers aan te moedigen om over te schakelen naar 64bit-kernels.

Er is een adressering limiet van 1 GB in 32-bits modus, dus zelfs als het kan gebruiken maximaal 4 GB, slechts 1GB is zogenaamde "low" en de rest is "high memory" die niet zo algemeen. En 1GB is echt een klein getal, tegenwoordig ... Probeer #free -l


3
2018-05-04 05:37





Zoals door eerdere posters is aangegeven, verwijst 64-bits versus 32-bits naar de grootte van gegevens die door de computer in één keer kunnen worden verplaatst. Dit heeft betrekking op de grootte van de registers op de CPU en de breedte van de bussen (een register bevat alleen gegevens voor de CPU om te bedienen, ze waren klein in consumentenapparatuur en zijn gegroeid sinds de start van thuiscomputing. Bussen verbinden verschillende delen van een moederbord met elkaar, ze zijn de snelweg waarop de gegevens rondvloeien).

Het probleem is dat de meeste besturingssystemen een aantal echte problemen hadden bij het overschakelen naar 64-bit-bewerkingen, met slechte ondersteuning voor stuurprogramma's en toepassingen. Vaak hadden applicaties eigenlijk erger prestaties in eerdere versies. Gegeven dat er voor de meeste mensen geen echte reden is om in het diepe te springen, lijken de Linux-powers-that-be de beweging een beetje langzamer te nemen dan hoesten _other_ OSes, langzaam maar stabiel.


2
2017-10-14 03:54