Frage Was sind die Unterschiede zwischen 32-Bit und 64-Bit, und welche sollte ich wählen?


Was ist der Unterschied zwischen 32-Bit und 64-Bit Ubuntu? Ich habe gehört, dass die 64-Bit-Plattform besser funktioniert und mehr als 4 GB RAM erkennen kann. Auch wenn einige Apps noch nicht auf 64-Bit portiert wurden, ia32-libs lässt eine 64-Bit-Maschine sie ausführen.

Wenn ja, warum nicht 64-Bit über 32-Bit fördern?


136
2017-10-14 03:39


Ursprung


Verbunden: Wie überprüfe ich, ob ich ein 32-Bit- oder ein 64-Bit-Betriebssystem habe? - Lucio
Verbunden: Was ist mit dem Paket ia32-libs passiert? - LiveWireBT
Ubuntu 32-Bit-, 32-Bit-PAE-, 64-Bit-Kernel-Benchmarks - phuclv


Antworten:


Ich glaube die Hauptfrage bei der Auswahl zwischen 32 und 64 Bit ist nicht "Unterstützt mein Prozessor 64 Bit - wenn ja, dann sollte ich 64 verwenden, denn das ist doppelt so gut", aber "Wie viel Speicher habe ich?".

64-Bit-Programme verwenden ungefähr 50% mehr Speicher als ihre 32-Bit-Gegenstücke. Die Ergebnisse sind:

  • weniger Code / Daten können in Prozessor-Caches passen -> mehr Cache-Fehler -> Ihr superschneller Prozessor wartet mehr darauf, dass der Speicher-Controller Daten aus dem RAM holt. Prozessor muss auch lesen Mehr Daten, weil es mehr aufgebläht ist.

  • Linux verwendet nicht zugewiesenen RAM, um Festplatten zwischenzuspeichern. Weniger freier Speicher verfügbar -> weniger Speicherplatz für Festplatten-Caches -> langsamerer Festplattenzugriff

  • Sobald Sie nicht mehr im Arbeitsspeicher sind und das System mit dem Tauschen beginnt, ist der Festplattenzugriff tausendmal langsamer als der RAM-Speicher, sodass alle potenziellen Vorteile von 64-Bit-Code (siehe unten) aus dem Fenster fliegen.

Auf der anderen Seite, im 64-Bit-Modus Prozessor hat mehr Register, so dass es nicht auf Speicher zugreifen muss, dass oft auch einige Berechnungen (64-Bit-Nummern usw.) effizienter sind. Im Allgemeinen läuft Code, der nicht speicherbegrenzt ist, im 64-Bit-Modus etwas schneller.

Also, wenn Ihr System 2 GB RAM oder weniger hat, würde ich definitiv 32 Bits wählen. Mehr als 4GiB - die Vorteile von 64 Bit werden immer wichtiger. Um 4GiB ist eine "Grauzone" - Sie müssen selbst entscheiden.

Hier sind Screenshots von einem (eher alten) Vanilla-Ubuntu, das in einer VirtualBox mit 1GiB RAM läuft:

32 Bit: benutzt 388 MiB RAM direkt nach dem Booten, keine weiteren Anwendungen laufen (aus dem Screenshot, 397780KiB, was 388MiB ist)

32 bit Ubuntu

64 Bit: verwendet 491 MiB RAM (aus dem Screenshot, 503452KiB = 491MiB)

64 bit Ubuntu

Bei meinen Tests verwendete eine in Python geschriebene Webanwendung bis zu 60% mehr Speicher auf einer 64-Bit-Maschine, was dazu führte, dass eine Testsuite in 380 Sekunden auf einer 32-Bit-Maschine ausgeführt wurde, aber auf einer 64-Bit-Maschine 523 Sekunden benötigte. Bit eins (beide mit 1GiB RAM). Wenn die Maschinen nicht RAM-begrenzt wären, würden die Ergebnisse wahrscheinlich anders sein (wie Phoronix-Tests zeigen).

Hier sind einige gründlichere und aktuellere Tests: http://kernel.ubuntu.com/~cking/x32/Quantal-x32-power-memory-comparisons.ods

mem free mem used swap used

Im Grunde ist es so, als würde man 30% seines Arbeitsspeichers aufgeben möglicher Gewinn von 10% CPU-Geschwindigkeit.


143
2017-10-22 07:59



Also 32-Bit, 388M; 64-bit, 498M oder etwa 110M mehr und das sind 30% von 2G ?? - irrational John
Ich stimme den Zahlen zu, widerspreche aber der Schlussfolgerung. 30% weniger RAM für 10% verbesserte Leistung macht es zum Deal des Jahrhunderts! Außerdem ist es viel billiger, zusätzlichen Arbeitsspeicher einzubauen, als die CPU zu ersetzen. - Oli♦
Ja, ich stimme dem nicht zu, aber ich würde es stärker machen und etwas weiter gehen, nur 32bit vorschlägt, wenn es nicht von der CPU unterstützt wird oder es ist nicht praktikabel, den RAM zu aktualisieren (es ist uralt oder du willst es wegwerfen) . Leute mit einem modernen Computer mit <= 2GB sollten die $ 20-30 für Ebay ausgeben und 4GB haben. Ein 10% iger Boost ist das wert. - Oli♦
@nealmcb: Sie sind auf ~ 3 GB RAM pro Prozess im 32-Bit-Modus beschränkt, sogar mit PAE und allem. Es hilft also nicht mit Firefox (obwohl es mit Chrome helfen könnte, da es für jede Registerkarte einen separaten Prozess verwendet). - Sergey
Ist das 2015 noch so? Ich möchte Ubuntu 14.04 auf einem Atom-Tablet installieren, das 1 GB Arbeitsspeicher und eine langsame CPU (64-Bit-fähig) hat. Daher tendiere ich nach dem Lesen stark zu 32-Bit. Hat sich seit dem Verfassen dieser Antwort etwas geändert, das in Betracht gezogen werden sollte? Vor allem in Bezug auf 64-Bit-Basis Speicherverbrauch verglichen 32-Bit, da Speicher wäre der größte Engpass auf diesem System. - Andreas Hartmann


Wenn Sie die technischen Details nicht kennen, wählen Sie die empfohlene 32-Bit-Version.

64-Bit ist im Allgemeinen schneller, auch wenn es objektiv schwer zu bemerken ist. Dies hat weniger mit der 64-Bit-Datenbreite zu tun, sondern mit der Verfügbarkeit von 16 über 8 gemeinsamen CPU-Registern für den gesamten Befehlssatz. Der Nachteil, mehr Speicher für das Management und größere Zeiger zu verschwenden, wird dadurch weitgehend ausgeglichen.

Das praktische Problem: Nicht jeder hat eine AMD64-kompatible CPU. Die Förderung von 64-Bit über die Standard-i686-Version würde zu mehr Frustration führen. Daher ist es für die nächsten Jahre weniger verwirrend, dem durchschnittlichen Benutzer die 32-Bit-Version zu präsentieren. Für Kenner ist das kein Problem, da die 64-Bit-Version problemlos verfügbar ist. Und wir amd64 Benutzer haben keinen Nachteil aus dieser Situation, außer für den ersten Download. Alle Pakete sind in beiden Architekturen verfügbar.

Unter diesen Umständen sieht die Ubuntu-Download-Seite für mich okay aus. Es heißt "32 Bit (empfohlen)", aber "empfohlen" bedeutet "weniger Probleme, wenn Sie nicht alle technischen Details Ihres Computers kennen". Für die Netbook-Edition-Download-Seite gibt es nicht einmal die Wahl, denn einige Intel-Atom-CPUs sind nur noch im Jahr 2010 32-Bit!
Zusammenfassend denke ich, dass es immer noch notwendig ist, Kompatibilitätsprobleme zu vermeiden. Ich stimme jedoch zu, dass es mindestens eine glänzende Fußnote entlang der Zeilen geben sollte, die -64 schneller als -32 ist und IF (ABER NUR WENN) empfiehlt, dass das Zielsystem dies unterstützt.


22
2017-10-14 08:30



Ii wird interessant sein, wenn die neuen x32-Binärdateien und ABI unterstützt werden, wie viele 64-Bit-Anwendungen auf diese ABI umschalten werden en.wikipedia.org/wiki/X32_ABI um weniger Ressourcen und Speicher zu verbrauchen und die CPU voll zu nutzen. - Emanuele
Wenn 32-Bit empfohlen wird, warum? Wubi bevorzugen 64-Bit? - Dan Dascalescu
n.b 64bit kann jetzt empfohlen werden ... - Wilf
Hinweis für die Leser: Diese Antwort wurde vor mehr als 4 Jahren geschrieben. Ich würde nicht empfehlen, 32-Bit heutzutage zu installieren, und ich denke nicht, dass Ubuntu es weiter empfehlen würde. - thomasrutter
Es ist jetzt eine Frage, die sich in etwas weniger als einem Jahr mit lösen wird 64bit-Builds werden wahrscheinlich nach Ubuntu 16.04 zum Standard werden.. - mario


Die Begriffe 32-Bit und 64-Bit beziehen sich auf die Art und Weise, wie die CPU eines Computers handhabt   Information. Die 64-Bit-Version verarbeitet große Mengen an RAM mehr   effektiver als ein 32-Bit-System. 1

  • Um ein 64-Bit-Betriebssystem auszuführen, benötigen Sie Unterstützung von der 64-Bit-CPU.
    • Um eine 64-Bit-Anwendung auszuführen, benötigen Sie Unterstützung vom 64-Bit-Betriebssystem und die 64-Bit-CPU.

Die allgemeine Regel lautet, dass 32-Bit (Betriebssystem und Anwendung) auf 64-Bit ausgeführt wird, aber 64-Bit (Betriebssystem und Anwendung) nicht auf 32-Bit ausgeführt wird:

  • Ein 32-Bit-Betriebssystem wird auf einem 32-Bit- oder 64-Bit-Prozessor ausgeführt Problem.
  • Eine 32-Bit-Anwendung läuft auf einem 32-Bit- oder 64-Bit-Betriebssystem ohne Problem.
  • Eine 64-Bit-Anwendung wird jedoch nur auf einem 64-Bit-Betriebssystem und einem 64-Bit-Betriebssystem ausgeführt läuft nur auf einem 64-Bit-Prozessor.

Eine 64-Bit-kompatible CPU wird benötigt, um ein 64-Bit-Betriebssystem zu installieren. Erkundigen Sie sich beim Hersteller Ihres PCs, ob Ihr System 64-Bit-kompatibel ist.

32-Bit-Systeme haben ein 4-Gigabyte-RAM-Speicherlimit, was bedeutet, dass sie nicht mehr als 4 GB RAM adressieren können, selbst wenn mehr auf dem System installiert ist (nicht alle davon werden verwendet). Problemumgehungen sind verfügbar, aber für einen durchschnittlichen Benutzer schwierig.

Hinweis: Ubuntu 12.10 und neuer wird PAE automatisch unterstützen. Vor 12.10 haben Sie die Möglichkeit, abhängig von Ihrer CPU die PAE-Unterstützung zu wählen. PAE erweitert den maximalen Arbeitsspeicher auf 32-Bit auf 64 GB, weitere Informationen können gefunden werden Hier.

64-Bit-Editionen bieten zusätzliche Vorteile, darunter eine höhere Bandbreite, Hardware-aktivierte DEP (Data Execution Prevention) und einen besseren Kernel-Schutz.

Die Mehrzahl der 32-Bit-Anwendungen wird weiterhin auf 64-Bit-Systemen funktionieren, einige Anwendungen funktionieren jedoch überhaupt nicht oder werden langsamer ausgeführt.

Für weitere Informationen können Sie sich anschauen 32-Bit und 64-Bit 

1Quelle: Microsoft


18
2018-06-28 05:45



@Alvar Die CPU muss PAE unterstützen. Im Allgemeinen wird ein geeignetes 64-Bit-System empfohlen, wenn Sie 4 GB oder mehr Arbeitsspeicher haben und / oder die 64-Bit-Architektur voll ausnutzen möchten. - Mitch♦
Ich verstehe, aber wie ich schon sagte Die CPU muss PAE unterstützen, damit sie funktioniert. Zum Beispiel unterstützt Atom keine PAE. - Mitch♦
Habe das nur als Anmerkung in der Antwort hinzugefügt. - Mitch♦
fügte eine Erklärung hinzu, was PAE mit Quelle ist. Hoffe, du bist glücklich damit. - Alvar


Wie gezeigt Hierim Phoronix: "Nachdem die Ubuntu-Multi-Arch-Situation aufgeklärt ist, funktionieren die meisten Anwendungen und Plug-Ins jetzt auf 64-Bit-Systemen (wie Adobe Flash und Java), und 64-Bit ist normalerweise viel schneller als 32-Bit Es gibt keinen großen Grund, nicht zur x86_64-Version zu wechseln. "

Obwohl es ist besprochen Wenn 64bit als Standard anstelle von 32bit angezeigt wird, habe ich mit dem ersten einen Leistungsgewinn. Sehen diese Benchmarks.

Und ein Wort von deinem "niedrigen" RAM-Speicher ab Phoronix: "Die Entwickler von Ubuntu waren sehr besorgt, dass 32-Bit-Netbooks noch auf dem Markt sind, und für Systeme mit nur 2 GB RAM, bei denen die Verwendung von x86_64-Software zu wenig Speicher und damit zu einer höheren SWAP-Nutzung führt Eine große Mehrheit der Nutzer ist in einer 64-Bit-Welt viel besser dran. "

Vielleicht können Sie es installieren und sehen, ob das System den Swap oft verwendet.


10
2018-04-23 00:03





Ich habe vor einiger Zeit nach Ubuntu Precise LTS gefragt. Hier sind einige Ergebnisse einiger Analysen, die ich durchgeführt habe:

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

Grundsätzlich, wenn Sie 4 GB oder weniger haben, ist OK, für mehr als 4 GB mit i386-pae oder AMD64. 64-Bit-Systeme verbrauchen mehr Speicher (z. B. haben Zeiger eine Größe von 64 Bit), aber auf 64-Bit-Systemen können Sie aufgrund von Optimierungen, die 64-Bit-Kopien verwenden oder die im 64-Bit-Modus verfügbaren zusätzlichen CPU-Register verwenden, einen Leistungsgewinn erzielen.


3
2017-07-27 17:55





Für mich war die wichtigste Tatsache, dass Sie das ZFS-Dateisystem nicht auf 32-Bit-Betriebssystemen verwenden können, da es dort aufgrund der vmalloc-Beschränkungen von 32bit os (unabhängig von PAE oder nonPAE) einfach instabil ist. Das war ein Grund für mich, auf 64bit neu zu installieren, und ich habe nie zurückgeschaut. Selbst NVIDIA hat in Sachen "Fehlersuche" nur wenige Zeilen zum Thema vmalloc und fordert Benutzer dazu auf, zu 64-Bit-Kerneln zu wechseln.

Es gibt eine Adressierungsgrenze von 1 GB im 32-Bit-Modus, so dass, selbst wenn es bis zu 4 GB verwenden kann, nur 1 GB als "niedrig" und der Rest als "hoher Speicher" bezeichnet wird, was nicht allgemein ist. Und 1GB ist wirklich kleine Nummer, heutzutage .. Probieren Sie #free -l aus


3
2018-05-04 05:37





Wie bereits in früheren Postern erwähnt, bezieht sich 64-Bit gegenüber 32-Bit auf die Größe von Daten, die vom Computer in einer Operation bewegt werden können. Dies bezieht sich auf die Größe der Register auf der CPU und die Breite der Busse (ein Register hält nur Daten für die CPU, um zu arbeiten, sie waren in der Verbraucherhardware winzig und sind seit dem Beginn des Heimcomputers gewachsen. Busse verbinden verschiedene Teile eines Motherboards miteinander, sie sind die Autobahn, auf der die Daten fließen.

Das Problem ist, dass die meisten Betriebssysteme einige Probleme hatten, wenn sie zu 64-Bit-Operationen übergehen, mit schlechter Unterstützung für Treiber und Anwendungen. Oft hatten Anwendungen tatsächlich schlechter Leistung in frühen Versionen. Angesichts der Tatsache, dass es keinen wirklichen Grund für die meisten Leute gibt, in das tiefe Ende zu springen, scheinen die Linux-Mächte den Zug etwas langsamer zu machen Husten _other_ Betriebssysteme, langsam aber stetig.


2
2017-10-14 03:54





Für eine einfache Benutzererfahrung schlägt die offizielle Ubuntu-Seite 32-Bit-Versionen aufgrund der flexibleren Abstimmung vor.
Ich zähle hier auch die Datenkonsistenz.

Es gibt sehr viele Punkte für jeden Pro und Kontra. Meine Ansicht ist eine großartige Leistung von 64-Bit-Betriebssystem auf Intel-Architektur 64-Bit-Prozessor direkt in Bezug auf die Verwendung von 64-Bit-Software und Treibern, die Ihnen die Chance geben können, die normale 32-Bit-Leistung zu schlagen.

Beachten Sie, dass die Verwendung von 32-Bit-Software auf einem 64-Bit-Betriebssystem manchmal in sehr unterschiedlichen Fällen eine schlechte Leistung und sogar eine Überhitzung verursachen kann.

Jedoch, durch Ihre unterzeichneten Komponenten und diese Referenz:
Intel Extended Memory 64-Technologie: 64-Bit-Desktop-Computing
... bessere Erfahrung möglich mit 4 Gb + der Erinnerung.

Ich zähle das wird gut und nicht sehr teure Lösung für Sie.

Und ja, beide Systeme parallel nutzen, um Ihnen ein besseres Verständnis Ihrer Konfiguration und Vielseitigkeit in den Bedeutungen zu vermitteln.


2
2018-04-23 00:37





Grundsätzlich würde ich sagen, 64-Bit-Version verwenden, wenn Sie es brauchen.

Wenn Sie hauptsächlich im Internet surfen, youtube schauen, auf Facebook rumhängen, Filme anschauen usw., dann ist 32 Bit besser, weil Sie keine gute Hardware brauchen, um diese Dinge zu tun.

Wenn Sie Spiele auf Steam, WINE usw. spielen, führen Sie viele Programme aus, bearbeiten Sie einige Medien und dann ist 64 Bit die beste Wahl.

so casual verwenden Sie dann 32-Bit-Betriebssystem, Advanced verwenden Sie dann 64-Bit-Version.


2
2018-01-29 14:44





32-Bit und 64-Bit beziehen sich auf die Größe (oder Breite) eines Chunks Speicher oder genauer, der Speicher registriert in der CPU eines Computers - das definiert, wie viel Daten der Prozessor in einem einzigen Vorgang verarbeiten kann. 32-Bit und 64-Bit beziehen sich auf die Größe (oder Breite) eines Chunks Speicher oder genauer, der Speicher registriert in der CPU eines Computers - das definiert, wie viel Daten der Prozessor in einem einzigen Vorgang verarbeiten kann. Ja, das bedeutet, dass die 64-Bit-Version schneller arbeiten wird, da sie mehr Daten gleichzeitig verarbeiten kann.


1
2017-10-14 03:43