Jakie są różnice między wersją 32-bitową a 64-bitową i którą wybrać?

142

Jaka jest różnica między 32-bitowym a 64-bitowym Ubuntu? Słyszałem, że platforma 64-bitowa działa lepiej i może wykryć ponad 4 GB pamięci RAM. Ponadto, chociaż niektóre aplikacje nie zostały jeszcze przeniesione do wersji 64-bitowej, ia32-libspozwala je uruchomić 64-bitowemu komputerowi.

Jeśli tak, to dlaczego nie promować wersji 64-bitowej zamiast 32-bitowej?

squallbayu
źródło

Odpowiedzi:

147

Uważam, że głównym pytaniem przy wyborze między 32 a 64 bitami nie jest „Czy mój procesor obsługuje 64 bity - jeśli tak, to powinienem użyć 64, ponieważ to dwa razy więcej”, ale „Ile mam pamięci?” .

Programy 64-bitowe zużywają około 50% więcej pamięci niż ich 32-bitowe odpowiedniki. Rezultaty tego są:

  • mniej kodu / danych może zmieścić się w pamięci podręcznej procesora -> więcej braków pamięci podręcznej -> twój superszybki procesor czeka więcej, aż kontroler pamięci pobierze dane z pamięci RAM. Procesor musi również odczytać więcej danych, ponieważ jest bardziej rozdęty.

  • Linux używa nieprzydzielonej pamięci RAM do buforowania dysków. Mniej dostępnej wolnej pamięci -> mniej miejsca na pamięci podręczne dysków -> wolniejszy dostęp do dysku

  • Gdy skończy Ci się pamięć RAM, a system zacznie się zamieniać - dostęp do dysku jest tysiące razy wolniejszy niż pamięć RAM, więc wszelkie potencjalne korzyści z 64-bitowego kodu (patrz poniżej) znikają z okna.

Z drugiej strony w trybie 64-bitowym procesor ma więcej rejestrów, więc nie musi uzyskiwać dostępu do pamięci, co również często powoduje, że niektóre obliczenia (liczby 64-bitowe itp.) Są bardziej wydajne. Ogólnie więc kod, który nie jest ograniczony pamięcią, działa nieco szybciej w trybie 64-bitowym.

Tak więc, jeśli twój system ma, powiedzmy, 2 GB pamięci RAM lub mniej, zdecydowanie wybrałbym 32 bity. Ponad 4GiB - zalety 64 bitów stają się coraz bardziej widoczne. Wokół 4GiB znajduje się „szara strefa” - musisz sam dokonać wyboru.

Oto zrzuty ekranu (raczej starego) waniliowego Ubuntu działającego w VirtualBox z 1GiB RAM:

32-bitowy: zużywa 388 MB pamięci RAM zaraz po uruchomieniu, nie działają żadne dodatkowe aplikacje (ze zrzutu ekranu 397780 kB, czyli 388 MB)

32-bitowy system Ubuntu

64-bitowy: wykorzystuje 491 MiB pamięci RAM (ze zrzutu ekranu 503452KiB = 491MiB)

64-bitowy system Ubuntu

Ponadto podczas moich testów aplikacja napisana w języku Python zużywała do 60% więcej pamięci na komputerze 64-bitowym, co spowodowało uruchomienie zestawu testów w 380 sekund na komputerze 32-bitowym, ale zajęło 523 sekundy na komputerze 64- bit pierwszy (oba z 1GiB pamięci RAM). Gdyby maszyny nie były ograniczone pamięcią RAM, wyniki byłyby prawdopodobnie inne (jak pokazują testy phoronix).

Oto kilka dokładniejszych i najnowszych testów: http://kernel.ubuntu.com/~cking/x32/Quantal-x32-power-memory-comparisons.ods

wolne od pamięci mem użyty zamiana używana

Zasadniczo przypomina to oddanie 30% pamięci RAM w zamian za ewentualne zwiększenie prędkości procesora o 10%.

Siergiej
źródło
1
A więc 32-bitowy, 388M; 64-bit, 498 mln lub około 110 mln więcej, a to 30% 2G?
irracjonalny John
22
Zgodziłbym się z liczbami, ale nie zgadzam się z wnioskiem. 30% mniej pamięci RAM dla poprawy wydajności o 10% sprawia, że ​​jest to sprawa stulecia! Co więcej, znacznie taniej jest wrzucić dodatkową pamięć RAM niż wymienić procesor.
Oli
1
Tak, nie zgadzam się z tym, ale chciałbym go wzmocnić i pójść nieco dalej, sugerując tylko 32bit, gdy nie jest on obsługiwany przez procesor lub nie jest możliwe uaktualnienie pamięci RAM (jest starożytne lub masz zamiar go wyrzucić) . Osoby z nowoczesnym komputerem o pojemności <= 2 GB powinny wydać 20-30 USD na eBay i mieć 4 GB. Warto zwiększyć o 10%.
Oli
1
Ciekawe, jak wyglądają tutaj nowoczesne przeglądarki z dużą ilością otwartych kart i javascript. Często wpadam na swap (nawet z 8 GB pamięci RAM), otwierając wiele kart, a nowoczesne strony internetowe używają wielu bibliotek javascript itp. Jak porównuje się pamięć i szybkość procesora w przypadku dużego użycia chrome lub Firefoxa?
nealmcb
2
Czy to nadal prawda w 2015 roku? Chcę zainstalować Ubuntu 14.04 na tablecie Atom, który ma 1 GB pamięci i wolny procesor (zdolny do wersji 64-bitowej), dlatego po przeczytaniu tego zdecydowanie zmierzam do wersji 32-bitowej. Czy od opublikowania tej odpowiedzi zmieniło się coś, co warto rozważyć? Zwłaszcza pod względem podstawowego zużycia pamięci 64-bitowej w porównaniu do 32-bitowego, ponieważ pamięć byłaby największym wąskim gardłem w tym systemie.
Andreas Hartmann
22

Jeśli nie chcesz poznać szczegółów technicznych, wybierz zalecaną wersję 32-bitową.

Wersja 64-bitowa jest generalnie szybsza, nawet jeśli obiektywnie trudno ją zauważyć. Ma to mniej wspólnego z 64-bitową szerokością danych, ale z dostępnością 16 ponad 8 wspólnych rejestrów CPU w całym zestawie instrukcji. Wada polegająca na marnowaniu większej ilości pamięci na zarządzanie i większe wskaźniki jest zatem w większości wyrównana.

Praktyczny problem: nie każdy ma procesor zgodny z AMD64. Promowanie wersji 64-bitowej w stosunku do standardowej wersji i686 doprowadziłoby do większej frustracji użytkowników. Dlatego przez kilka następnych lat prezentowanie wersji 32-bitowej przeciętnemu użytkownikowi będzie mniej mylące. Nie jest to problem dla każdego, kto wie, ponieważ wersja 64-bitowa jest łatwo dostępna. A my amd64 użytkownicy nie mają żadnych wad w tej sytuacji, z wyjątkiem pierwszego pobrania. Wszystkie pakiety są dostępne w obu architekturach.

W tych okolicznościach strona pobierania Ubuntu wygląda dla mnie dobrze. Mówi „32-bitowy (zalecany)”, ale ten „zalecany” przekłada się na „mniej problemów, jeśli nie znasz wszystkich szczegółów technicznych komputera”. W przypadku strony pobierania wersji netbook nie ma nawet wyboru, ponieważ niektóre procesory Intel Atom są 32-bitowe tylko w 2010 roku!
Podsumowując, myślę, że unikanie problemów ze zgodnością jest nadal konieczne. Zgadzam się jednak, że powinien być przynajmniej błyszczący przypis wzdłuż linii, że -64 jest szybszy niż -32, i zalecam JEŻELI (ALE TYLKO JEŚLI) system docelowy go obsługuje.

Mario
źródło
1
Ii będzie interesujące, gdy obsługiwane będą nowe pliki binarne x32 i ABI, ile 64-bitowych aplikacji przełączy się na ten ABI en.wikipedia.org/wiki/X32_ABI, aby zużywać mniej zasobów i pamięci oraz w pełni wykorzystywać procesor.
Emanuele
Jeśli zalecana jest wersja 32-bitowa, to dlaczego Wubi woli wersję 64-bitową ?
Dan Dascalescu,
1
nb 64bit może być teraz zalecany ...
Wilf
5
Uwaga dla czytelników: Ta odpowiedź została napisana ponad 4 lata temu. Nie polecałbym teraz instalowania wersji 32-bitowej i nie sądzę, aby Ubuntu już ją polecał.
thomasrutter
To teraz pytanie, które zamierza rozwiązać się w nieco mniej niż w ciągu roku, z 64bit buduje prawdopodobne staje się domyślnym po Ubuntu 16.04 ..
Mario
18

Terminy 32-bitowy i 64-bitowy odnoszą się do sposobu, w jaki procesor komputera obsługuje informacje. Wersja 64-bitowa obsługuje większe ilości pamięci RAM bardziej skutecznie niż system 32-bitowy. 1

  • Aby uruchomić 64-bitowy system operacyjny, potrzebujesz wsparcia z 64-bitowego procesora.
    • Aby uruchomić 64-bitową aplikację, potrzebujesz wsparcia zarówno z 64-bitowego systemu operacyjnego, jak i 64-bitowego procesora.

Ogólna zasada jest taka, że ​​wersja 32-bitowa (system operacyjny i aplikacja) działa w wersji 64-bitowej, ale wersja 64-bitowa (system operacyjny i aplikacja) nie działa w wersji 32-bitowej:

  • 32-bitowy system operacyjny będzie działał bez problemu na 32-bitowym lub 64-bitowym procesorze.
  • Aplikacja 32-bitowa będzie działać bez problemu w 32-bitowym lub 64-bitowym systemie operacyjnym.
  • Ale aplikacja 64-bitowa będzie działać tylko w 64-bitowym systemie operacyjnym, a 64-bitowy system operacyjny będzie działał tylko w 64-bitowym procesorze.

64-bitowy kompatybilny procesor jest potrzebny do zainstalowania 64-bitowego systemu operacyjnego. Skontaktuj się z producentem komputera, aby dowiedzieć się, czy Twój system jest zgodny z wersją 64-bitową.

Systemy 32-bitowe mają limit pamięci RAM wynoszący 4 gigabajty, co oznacza, że ​​nie mogą zająć więcej niż 4 GB pamięci RAM, nawet jeśli w systemie zainstalowanych jest więcej pamięci (nie wszystkie zostaną wykorzystane). Obejścia są dostępne, ale trudne do zrobienia dla przeciętnego użytkownika.

Uwaga: Ubuntu 12.10 i nowsze będą automatycznie obsługiwać PAE. Przed 12.10 masz możliwość wyboru obsługi PAE w zależności od procesora. PAE rozszerza maksymalną pamięć RAM w wersji 32-bitowej do 64 GB, więcej informacji można znaleźć tutaj.

Wersje 64-bitowe mają dodatkowe zalety, w tym zwiększoną przepustowość, sprzętową funkcję DEP (zapobieganie wykonywaniu danych) i lepszą ochronę jądra.

Większość aplikacji 32-bitowych będzie nadal działać w systemach 64-bitowych, ale niektóre aplikacje w ogóle nie działają lub działają wolniej.

Aby uzyskać więcej informacji, możesz przejrzeć wersje 32-bitowe i 64-bitowe

1 Źródło: Microsoft

Mitch
źródło
@Alvar Procesor musi obsługiwać PAE. Zasadniczo zalecany jest odpowiedni system 64-bitowy, jeśli masz pamięć 4 Gb lub więcej i / lub chcesz w pełni skorzystać z architektury 64-bitowej.
Mitch
Rozumiem, ale jak powiedziałem, procesor musi obsługiwać PAE, aby działał . Na przykład Atom nie obsługuje PAE.
Mitch
Właśnie dodałem to jako notatkę w odpowiedzi.
Mitch
dodano wyjaśnienie czym jest PAE ze źródłem. Mam nadzieję, że jesteś z tego zadowolony.
Alvar
10

Jak wskazano tutaj w Phoronix : „Po usunięciu sytuacji wielu architektur Ubuntu większość aplikacji i wtyczek działa teraz dobrze w wersji 64-bitowej (takiej jak Adobe Flash i Java), a wersja 64-bitowa jest zwykle znacznie szybsza niż 32 -bit, naprawdę nie ma dużego powodu, aby nie przechodzić na wersję x86_64. ”

Chociaż dyskutowane jest, czy 64-bitowy zostanie wskazany jako domyślny zamiast 32-bitowego, myślę, że masz pewien wzrost wydajności z pierwszym. Zobacz te testy porównawcze .

I słowo o „niskiej” pamięci RAM od Phoronix : „Niektórzy deweloperzy Ubuntu byli bardzo zaniepokojeni faktem, że 32-bitowe netbooki wciąż tam są i dla systemów, które mają tylko 2 GB pamięci RAM, w których użycie oprogramowania x86_64 może prowadzić do uruchomienia mało pamięci, a co za tym idzie zwiększone użycie SWAP. Jednak dla zdecydowanej większości użytkowników jest znacznie lepiej w 64-bitowym świecie ”.

Może możesz go zainstalować i sprawdzić, czy system często korzysta z wymiany.

desgua
źródło
3

Przyglądałem się temu Ubuntu Precise LTS jakiś czas temu. Oto niektóre wyniki przeprowadzonej przeze mnie analizy:

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

Zasadniczo, jeśli masz 4 GB lub mniej, to w porządku, dla więcej niż 4 GB rozważ użycie i386-pae lub amd64. Systemy 64-bitowe zużywają więcej pamięci (na przykład wskaźniki mają rozmiar 64-bitowy), ale możesz zauważyć wzrost wydajności w systemach 64-bitowych z powodu optymalizacji korzystających z kopii 64-bitowych lub dodatkowych rejestrów procesora dostępnych w trybie 64-bitowym.

Colin Ian King
źródło
3

Dla mnie najważniejszy był fakt, że nie można używać systemu plików ZFS na 32-bitowym systemie operacyjnym, ponieważ jest on po prostu niestabilny z powodu limitów vmalloc na 32-bitowych systemach operacyjnych (niezależnie od PAE lub nonPAE). To był powód, dla którego przeszedłem do wersji 64-bitowej i nigdy nie oglądałem się za siebie. Nawet NVIDIA ma kilka linijek na temat vmalloc na stronach „rozwiązywania problemów”, kończąc na zachęcaniu użytkowników do przejścia na 64-bitowe jądra.

W trybie 32-bitowym obowiązuje limit adresowania 1 GB, więc nawet jeśli można użyć do 4 GB, tylko 1 GB jest tak zwany „niski”, a reszta to „duża pamięć”, co nie jest tak ogólne. A 1 GB to w dzisiejszych czasach naprawdę mała liczba. Wypróbuj #free -l

coro
źródło
2

Jak stwierdzono w poprzednich plakatach, wersja 64-bitowa a 32-bitowa odnosi się do rozmiaru danych, które komputer może przenieść w jednej operacji. Odnosi się to do wielkości rejestrów na procesorze i szerokości magistrali (rejestr zawiera tylko dane, na których procesor może działać, kiedyś były niewielkie w sprzęcie konsumenckim i rosną od początku istnienia komputerów domowych. Autobusy łączą ze sobą różne części płyty głównej, są autostradą, po której przepływają dane).

Problem polega na tym, że większość systemów operacyjnych miała pewne prawdziwe problemy podczas przechodzenia na operacje 64-bitowe, przy słabej obsłudze sterowników i aplikacji. Często aplikacje rzeczywiście miały gorszą wydajność we wczesnych wersjach. Biorąc pod uwagę, że większość ludzi nie ma prawdziwego powodu, aby skoczyć w głąb, Linuksowi wydaje się, że porusza się nieco wolniej niż kaszel innych systemów operacyjnych, powolny, ale stały.

Jeremy
źródło
2

Dla wygody użytkownika oficjalna strona Ubuntu sugeruje wersje 32-bitowe ze względu na bardziej elastyczne strojenie.
Liczę tutaj również oznacza spójność danych.

Istnieje bardzo wiele punktów dla każdego profesjonalisty i przeciwnika . Moim zdaniem jest to świetna wydajność 64-bitowego systemu operacyjnego na 64-bitowym procesorze Intel Architecture bezpośrednio związanym z używaniem 64-bitowego oprogramowania i sterowników, które mogą dać ci szansę na pokonanie normalnej 32-bitowej wydajności.

Należy pamiętać, że używanie 32-bitowego oprogramowania w 64-bitowym systemie operacyjnym może czasami powodować niską wydajność, a nawet przegrzanie w bardzo różnych przypadkach.

Jednak dzięki podpisanym komponentom i referencji:
Technologia Intel® Extended Memory 64: 64-bitowy komputer stacjonarny
... możliwe lepsze wrażenia dzięki pamięci 4 Gb + .

Liczę, że będzie to dla ciebie dobre i niezbyt drogie rozwiązanie.

I tak, używanie obu systemów równolegle pozwala lepiej zrozumieć konfigurację i wszechstronność znaczeń.

szybki
źródło
2

Zasadniczo powiedziałbym, że użyj wersji 64-bitowej, jeśli jej potrzebujesz.

Jeśli przeglądasz głównie Internet, oglądasz youtube, spędzasz czas na Facebooku, oglądasz filmy itp., To wersja 32-bitowa jest lepsza, ponieważ nie potrzebujesz do tego żadnego dobrego sprzętu.

Jeśli grasz w gry na platformie Steam, WINE itp., Uruchamiasz mnóstwo programów, edytujesz multimedia i taki 64-bit jest najlepszym wyborem.

więc swobodne korzystanie z 32-bitowego systemu operacyjnego, zaawansowane korzystanie z 64-bitowej wersji.

użytkownik241367
źródło
1

Wersje 32-bitowe i 64-bitowe odnoszą się do wielkości (lub szerokości) fragmentu pamięci, a dokładniej pamięć rejestruje się w procesorze komputera - określa to, ile danych procesor może obsłużyć w jednej operacji. Wersje 32-bitowe i 64-bitowe odnoszą się do wielkości (lub szerokości) fragmentu pamięci, a dokładniej pamięć rejestruje się w procesorze komputera - określa to, ile danych procesor może obsłużyć w jednej operacji. Tak, oznacza to, że wersja 64-bitowa będzie działać szybciej, ponieważ może obsłużyć więcej danych jednocześnie.

Martin Zeltin
źródło
1

Szczerze mówiąc, nie zauważyłem żadnej różnicy poza nieznacznie skróconym czasem wymaganym do kompilacji programów i kodowania wideo. Poza tym wydaje mi się to samo. Zauważyłem, że to, co naprawdę robi różnicę pod względem wydajności, to sterownik wideo. Wydaje mi się, że 32-bitowe sterowniki wideo są lepiej obsługiwane. Niedawno zainstalowałem najnowszy sterownik nVidia 260 w systemie 32-bitowym i zrobiło to dużą różnicę. Obecnie używam 32bit.

lovinglinux
źródło
1

Używam Ub64 w układzie AMD64, czuję różnicę prędkości. To nie jest duży impuls, ale możesz poczuć. Dlaczego nie spróbujesz przez 10 sekund dla każdego z nich i nie porównasz go samodzielnie we własnym systemie (o co chodzi w tym pytaniu)? Jestem pewien, że nie będziesz tracić czasu, ponieważ instalacja jest teraz tak szybka. (tks Ubuntu! -)

Problemy z Javą / Flash mają również „dobre” obejścia w sieci ...

H_7
źródło
1

Osobiście na moim komputerze pracuję w wersji 64-bitowej, ponieważ obsługuje on ponad 4 GB pamięci RAM. Dostajesz także przyspieszenie. Wiem, że możesz również zoptymalizować 32 bity, aby móc wykryć 4 GB pamięci RAM lub więcej. O twoim drugim pytaniu 32bit nazywa się i386, ponieważ Intel był tym, który opracował 32-bitową instrukcję / technologię, a następnie AMD. Następnie AMD opracowuje wersję 64-bitową, a następnie Intel nadrabia zaległości lub zastosował tę technologię. Dlatego 64bit to Amd64.

Jart
źródło
1

Podobnie jak squallbayu, miałem nadzieję, że wersja 64-bitowa będzie działać lepiej, ponieważ właśnie kupiłem 17-calowy MacBook Pro Intel i-7 8 Gig RAM 500 Gig najnowszy dysk twardy Lion OS wiosną 2011 roku. Niestety po zainstalowaniu zarówno 64, jak i 32 bit 32 w dół był bardziej stabilny i płynny. Nie wiązałem nic z szybkością (minimalna różnica) Ponieważ nie jestem ekspertem, ale naprawdę uważam, że korzyści z wersji 64-bitowej nie zostaną zauważone, dopóki programiści nie nauczą się jak wykorzystać jego moc ..

Pete
źródło
1

Oprócz różnic, które doskonale podkreślają inni członkowie społeczności, jeśli martwisz się pamięcią RAM, zawsze możesz zainstalować zRAM.

Informacje w Wikipedii o zRAM:

zRam jest eksperymentalnym (pomostowym) modułem jądra Linux. Wcześniej nazywano go „compcache”. zRam zwiększa wydajność, unikając stronicowania na dysku, i zamiast tego używa skompresowanego urządzenia blokowego w pamięci RAM, w którym odbywa się stronicowanie, dopóki nie będzie konieczne użycie przestrzeni wymiany na dysku twardym. Ponieważ używanie pamięci RAM jest szybsze niż używanie dysków, zRam pozwala Linuksowi na większe wykorzystanie pamięci RAM, gdy wymagana jest zamiana / stronicowanie, szczególnie na starszych komputerach z mniejszą ilością pamięci RAM.

Mimo że koszt sprzętu pamięci RAM jest stosunkowo niski, ta funkcja nadal zapewnia korzyści dla netbooków i innych laptopów o niższej mocy, wirtualizacji oraz w przypadku urządzeń wbudowanych, zwłaszcza tych, które używają pamięci flash o ograniczonej żywotności, w zależności od użycia zapisu i tym samym szybko się zużywają, gdy są używane jako urządzenie wymienne.

Halta
źródło
1

Różnica między 32-bitowym a 64-bitowym nie zmieniła się od momentu postawienia tego pytania.

Sugerowałbym użycie wersji 64-bitowej.
Nie znam oprogramowania, którego nie można używać w systemie 64-bitowym, a jeśli chcesz użyć 4 GB (lub więcej) pamięci RAM, musisz użyć 64-bitowej wersji Ubuntu.

proroctwo201
źródło
Mam tylko 4 GB pamięci RAM, czy nadal lepiej jest używać wersji 64-bitowej? Odpowiedzi na to pytanie były dla mnie zbyt techniczne, aby je zrozumieć. Dzięki
Cool_Coder
1
Użyj wersji 64-bitowej. Nie sądzę, żebyś miał z tym problemy. Używam 64-bitów na wszystkich moich komputerach i nie ma problemu.
przepowiednia 201
ok dzięki za informację. Zainstaluję wersję 64-bitową.
Cool_Coder
@Cool_Coder, jedynym powodem, dla którego powinieneś rozważyć wersję 32-bitową, jest praca dla firmy korzystającej z Juniper Networks Connect , opartego na sieci Web / Java systemu VPN, który działa tylko z 32-bitową Javą. Z pewnością 32-bitową Javę można zainstalować w 64-bitowym Ubuntu, ale uważam, że to trochę kłopotliwe. Poza tym nie znam żadnego innego powodu faworyzowania 32-bitowego Ubuntu na maszynie 4 GB.
user68186 11.04.13
0

Oprócz możliwości zajęcia się większą pamięcią i możliwymi ulepszeniami prędkości, należy pobrać i zainstalować wersję 64-bitową dla nowego komputera obsługującego UEFI , który jest dostarczany z systemem Windows 8 lub nowszą wersją systemu Windows.

Podczas pracy nad 32-bitową obsługą systemów UEFI obecnie nie ma dostępnych standardowych obrazów 32-bitowych, które można uruchomić w trybie UEFI.

LiveWireBT
źródło