W przypadku jądra 32-bitowego, jakie są zalety / wady PAE w porównaniu z innymi niż PAE?

8

Używam 32-bitowego systemu Ubuntu 12.04. Moje jądra to jądra PAE. Wiem, że są to jądra, których możemy użyć w 32-bitowym systemie operacyjnym, który ma 4 GB pamięci RAM, aby wykorzystać wszystkie 4 GB pamięci RAM.

Mój system to system 32-bitowy. Więc pomyślałem, że ich nie potrzebuję. Jakie będą zalety i wady, jeśli będę nadal uruchamiał jądra PAE?

raja@badfox:~$ uname -a
Linux badfox 3.2.0-24-generic-pae #39-Ubuntu SMP Mon May 21 18:54:21 UTC 2012 i686 i686 i386 GNU/Linux
rɑːdʒɑ
źródło
3
PAE pozwala systemowi 32-bitowemu na wykorzystanie ponad 3,2 GB pamięci RAM. Jeśli masz mniej pamięci RAM lub masz system 64-bitowy, nie potrzebujesz go. Nie znam z tym żadnych problemów.
Marty Fried
@EliahKagan Mój system 32-bitowy i mój system operacyjny 32-bitowy, ale moje jądra PAE. Jakie są zalety i wady jąder PAE, jeśli będę z nimi biegał.
rɑːdʒɑ
1
Główny problem jest następujący: ile pamięci RAM ma twój system? Zaletą PAE jest to, że pozwala on, w 32-bitowym systemie operacyjnym, uzyskać dostęp do ponad 3,2 GB pamięci RAM. To jest powód istnienia. 64-bitowy system operacyjny może już uzyskać dostęp do znacznie większej ilości pamięci, więc nie potrzebuje żadnej pomocy.
Marty Fried
@EliahKagan: Dzięki, ale myślę, że być może odpowiedź Izx przyćmiewa wszystko, co mogłabym napisać. :) Nie udzieliłem odpowiedzi, ponieważ nie wiedziałem na pewno, jakie są wady, jeśli w ogóle, tylko to, że nie były duże i nigdy mi nie przeszkadzały. Ale możesz mieć rację, że prosta odpowiedź w tym przypadku może być najlepsza.
Marty Fried

Odpowiedzi:

21

Krótka odpowiedź: wybierz 64-bit, jeśli możesz, co jest szybsze niż 32-bitowe PAE / inne niż PAE; jeśli nie możesz, PAE może być 1-2% szybszy niż PAE.


Teoretycznie PAE ma niewielki narzut w stosunku do innych niż PAE ...

  • Dużą zaletą PAE jest to, że 32-bitowy procesor / system może zużywać ponad 4 GB pamięci RAM
  • Wymaga to jednak nieco więcej kosztów ogólnych w porównaniu z innymi niż PAE, co może prowadzić do nieznacznie obniżonej wydajności.
    • Oto bardzo proste wyjaśnienie: w trybie innym niż PAE 32-bitowy procesor musi wyszukać (uzyskać dostęp) do dwóch tabel, aby uzyskać dostęp do adresu pamięci fizycznej; w trybie PAE musi wyszukać trzy tabele. Jedno dodatkowe wyszukiwanie wymaga trochę (bardzo małego) dodatkowego czasu, co powoduje dodatkowe obciążenie.
    • Na końcu tej odpowiedzi znajdują się dwa obrazy z artykułu na temat Wikipedii PAE , ilustrujące powyższy punkt.
    • Bit NX / XD : Jądro PAE obsługuje także bit No-eXecute / eXecute-Disable w procesorach 64-bitowych; może to pomóc w zapobieganiu niektórym rodzajom wirusów / złośliwych ataków (przepełnienie bufora), ale IMO nie ma większego znaczenia przy wyborze 32-bitowych jąder dla Ubuntu.

... ale w praktyce ten narzut jest znikomy (prawie nic) ...

  • Phoronix przeprowadził wiele testów na przestrzeni lat, które pokazują, że w systemach o pojemności 4 GB lub mniejszej jądro PAE może być co najwyżej o około 5% wolniejsze niż jądro inne niż PAE. Dotyczy to tylko określonej aplikacji testowej; zwykle różnica wynosi mniej niż 1%.

i 64-bitowe prawie zawsze bije ZARÓWNO 32-bitowe jądra - idź!

  • Jedyną rzeczą, o której mówią powyższe testy porównawcze Phoronix, jest to, że 64-bit jest królem - nawet jeśli masz mniej niż 4 GB pamięci RAM (chociaż zalecam co najmniej 1 GB pamięci RAM)
  • Jeśli masz procesor 64-bitowy - generalnie coś po 2006 roku oprócz Intel Atoms - prawdopodobnie tracisz wydajność , używając 32-bitowego jądra!

Porównanie dostępu do tabeli stron innych niż PAE vs. PAE:

  1. Bez PAE

    wprowadź opis zdjęcia tutaj

  2. PAE

    wprowadź opis zdjęcia tutaj

ish
źródło
2
Więc jeśli masz mniej niż 4 GB pamięci RAM, czy mówisz, że 64-bit jest szybszy niż 32-bit? Dlaczego? Nie wspominasz również o problemach ze zgodnością z oprogramowaniem 32-bitowym, które albo nie zostało jeszcze przekonwertowane, albo zawiera błędy w konwersji - czy uważasz, że to zawsze stanowi problem? Wygląda na to, że tak było, ale być może to już przeszłość.
Marty Fried
Oczywiście powyższy komentarz ma sens do przemyślenia.
rɑːdʒɑ
@MartyFried Czasami wersja 64-bitowa jest szybsza niż wersja 32-bitowa, ponieważ kompilatory działają lepiej w wersji 64-bitowej. Nie pamiętam szczegółów, więc może ktoś, kto to robi, może to rozwinąć, ale myślę, że dotyczy to największej części ciągłej pamięci (nawet znacznie mniejszej niż 2GiB / 4Gib), jaką program może przydzielić.
Eliah Kagan,
2
Inne rzeczy, o których należy pamiętać to: (1) 64-bitowy może być szybszy ze względu na użycie instrukcji dodanych w zestawie instrukcji AMD64 / EM64T (podczas gdy w przypadku 32-bitowej większość programów jest kompilowana do najniższego wspólnego mianownika dla co najwyżej , i686) i (2) 64-bit może być szybszy na komputerach ze znacznie mniejszą niż 4 GiB pamięci RAM, ponieważ zarówno pamięć RAM, jak i pamięć zamieniona na dysk stanowią część przestrzeni pamięci wirtualnej każdego programu, a przestrzeń pamięci wirtualnej jest adresowana z 32-bitowymi wskaźnikami w systemie 32-bitowym i 64-bitowymi wskaźnikami w systemie 64-bitowym. Pehraps izx może mówić o niektórych z tych problemów.
Eliah Kagan
2
@EliahKagan: czy uważasz, że to Q może być dobrym kandydatem na kanoniczne pytanie: „Mam 64-bitowy procesor, ale mniej niż 4 GB pamięci RAM. Które jądro z tych trzech powinienem wybrać?”
ish
0

Miałem poważne problemy z używaniem 32-bitowego 12.04 z pewnym oprogramowaniem (systemem plików ZFS), odsłaniając ograniczenia vmalloc systemów 32-bitowych (próbowałem tuningu parametrów pae i non-pae oraz vmalloc i depmod, na śmierć ... ale nie sukces). Jest to prawdopodobnie szczególny przypadek, ale można go podać jako przykład. Ograniczenie gdzieś głęboko w jądrach 32-bitowych wynosi 1 GB, nawet jeśli można użyć do 3,2 GB.

Wybierz 64-bit, jeśli możesz. Jestem całkiem pewien, że Tou vcan ... Myślę, że do tej pory (= 64-bitowy rdzeń procesora) powinien być obsługiwany przez prawie każdy działający system. Późniejsze „uaktualnienie” jest w jakiś sposób niespokojne (oznacza to w rzeczywistości ponowną instalację, nawet jeśli dpkg i kopiowanie / etc / i / home / może pomóc w uruchomieniu nowej instalacji…), ale nadal powinno być dopuszczalne. Myślę, że z 64-bitowymi problemami nie należy się bać, nawet jeśli z jakiegoś powodu jesteś zmuszony używać starej / zamkniętej 32-bitowej aplikacji źródłowej lub niektórych bibliotek.

coro
źródło