
Neulich habe ich bemerkt, dass mein alter Laptop (Toshiba Satellite L500-1DT) mit der x64-basierten Ubuntu-Version besser läuft als mit der x32-Version. Also, mit schneller meinte ich – Adobe Flash-Videos und -Apps funktionieren viel besser. Software Center und APT-Apps laufen viel reibungsloser. Alles läuft einwandfrei auf x64. Der Kühlerlüfter läuft viel weniger (kühlt das System nicht die ganze Zeit, wie auf x32). Bei der x32-Bit-Version hatte ich das Gefühl, dass mein Computer überhitzen würde. Vor 2 Wochen ist meine Batterie leer geworden, als ich die x32-Version laufen ließ. Ich weiß nicht, ob es an der Überhitzung lag oder Zufall war. Er wurde WIRKLICH heiß und sehr, sehr langsam. Ich verwende einen Celeron(R) Dual-Core-CPU T3000 @ 1,80 GHz × 2 und einen Intel GMA45-Video-Chipsatz (mit 256 MB gemeinsam genutztem Speicher). 4 GB RAM. Ubuntu 11.10.
Dies ist nicht der einzige Fall und die einzige Maschine, bei der ich festgestellt habe, dass x64 VIEL besser funktioniert als die sogenannte „empfohlene 32-Bit-Version“. Das interessiert mich wirklich und ich würde gern ein für alle Mal eine Antwort darauf haben.
Bitte erklären Sie mir das oder geben Sie mir einen Link.
Danke !
Antwort1
Äh, "doppelt so schnell, wenn nicht sogar schneller, abhängig von der Hardware, auf der es läuft"?? Ach, wenn die Welt doch nur so funktionieren würde.
Schauen Sie sich zum Beispiel diesen Artikel an:Ubuntu 12.04 LTS: 32-Bit- vs. 64-Bit-Leistung. Während einige der synthetischen Benchmarks drastische Leistungssteigerungen zeigen, gibt es auch viele, die entweder nur geringe (10 % bis 30 %) Steigerungen, keine Steigerungen oder sogar eine Leistungsminderung zeigen. Und das sind nur synthetische Benchmarks, die normalerweise keine nützlichen Einblicke in die Systemleistung geben, wenn man etwas anderes als Benchmarks ausführt.
Die Systemleistung wird sehr stark durch „Systemengpässe“ beeinflusst und man kann keine pauschalen Verallgemeinerungen treffen, wie etwa, dass doppelte Bitanzahl auch doppelte Leistung bedeutet.
Trotzdem versuche ich immer noch, die 64-Bit-Varianten von Betriebssystemen zu verwenden, da ich davon ausgehe, dass die Leistung zumindest etwas besser ist. Während die Größe der CPU-Register verdoppelt wird, ist möglicherweise wichtiger, dass die Anzahl der Register von acht in x86 auf sechzehn im 64-Bit-Modus von x86_64 ansteigt. Dies ermöglicht es einem Compiler, möglicherweise schnelleren Code zu erstellen. Es gibt eine Reihe dieserAnweisungsoptimierungenDies ist zwar im Einzelfall wahrscheinlich unbedeutend, kann sich bei systemweiter Verwendung jedoch zu einer nützlichen Leistungssteigerung summieren.
Außerdem gibt es kaum oder gar keinen Leistungsverlust bei für 32-Bit x86 kompilierten Programmen, da diese im „Kompatibilitätsmodus“ ausgeführt werden können.
Oft wird verallgemeinert, dass es keinen Unterschied zwischen 32-Bit und 64-Bit gibt und man deshalb die 64-Bit-Version verwenden sollte, wenn man nur 4 GB oder weniger Arbeitsspeicher hat. Das ist einfach nicht wahr. Die Befehlsarchitektur der CPU ist im 64-Bit-Modus (meiner Meinung nach) ausreichend unterschiedlich, um das 64-Bit-Betriebssystem zu bevorzugen, wenn die Hardware dies unterstützt.
Schließlich möchten Sie Ihre 32-Bit-CPU nicht im 16-Bit-Modus betreiben, oder? :-)
Antwort2
Kurz gesagt: Im x86_64-Modus sind mehr operative Register verfügbar als im x86-Modus. Außerdem gibt es verwirrend benanntex32ABI, das nicht x86(_32) ist, sondern eine Mischung aus x86_64 und reinem x86. Und übrigens, der Artikel, zu dem ich Ihnen einen Link gegeben habe, enthält eine gute Erklärung, warum x86_64 tendenziell eine höhere Leistung hat.
Antwort3
Ein derart großer Unterschied ist untypisch und hat nichts mit irgendwelchen allgemeinen Vorteilen des 64-Bit-Modus zu tun.
Ich vermute, dass entweder ein Fehler im Zusammenhang mit Ihrer Hardware vorliegt oder ein Fehler in der Firmware Ihres Geräts vorliegt, der durch den 32-Bit-Kernel von Ubuntu ausgelöst wird.
Antwort4
64-Bit-Betriebssysteme arbeiten je nach Hardware doppelt so schnell, wenn nicht sogar schneller. Der Wechsel von 32-Bit auf 64-Bit erhöht die Fähigkeit des Betriebssystems, größere Datenmengen zu verarbeiten. Daher arbeitet es viel schneller. Außerdem benötigt ein 64-Bit-Betriebssystem mehr Speicher als ein 32-Bit-Betriebssystem. Ein 64-Bit-Register kann 2 64 = 18446744073709551616 verschiedene Werte speichern, eine Zahl von über 18 Trillionen. Derzeit verwenden x86-64-Prozessoren 48 physische Adressleitungen; daher kann ein Prozessor mit 64-Bit-Speicheradressen direkt auf 264 Terabyte byteadressierbaren Speicher zugreifen.