System 64-bitowy z 750 MB pamięci RAM: warto?


13

Mam serwer VPS Debiana, a dostawca zainstalował 64-bitową wersję Debiana 5. Czy powinienem poprosić o instalację 32-bitową, biorąc pod uwagę, że mam tylko 750 MB pamięci RAM i słyszałem, że zmienne zajmują więcej pamięci RAM w systemach 64-bitowych?


2
Zależy to od tego, co zamierzasz uruchomić. Wypróbuj niektóre z ładunków i sprawdź, czy pamięć RAM wystarczy.
Renan

Zły bieg: Postgres, Apache i Tomcat.
Jhonnytunes

1
Uwaga: jeśli później zdecydujesz się na aktualizację do większej ilości pamięci RAM, 32-bitowy może być problematyczny (istnieje PAE do przechodzenia na tyczce powyżej limitu 4 GB, ale ma to swój własny narzut).
Piskvor opuścił budynek

Oba hosty VPS użyłem niestandardowych jąder dla swoich hiperwizorów, więc są szanse, że będziesz musiał trzymać się ich wersji systemu operacyjnego - jeśli nie oferują wersji 32-bitowej, wątpię, czy możesz po prostu zainstalować własną.
Rup

Odpowiedzi:


16

Krótka odpowiedź :

Zmienne nie zajmują dwukrotnie miejsca w oprogramowaniu 64-bitowym w porównaniu z oprogramowaniem 32-bitowym. Potencjalne zwiększenie pamięci po przejściu na 32-bitowy system operacyjny nie będzie warte wysiłku.

Długa odpowiedź :

Liczby mogą być większe tak, ale to nie znaczy, że będą. Dotyczy to również liczb, a nie ciągów, a ciągi są (ogólnie) tym, które zużywają najwięcej pamięci w aplikacji.

Ponadto wiele aplikacji wyraźnie określa rozmiar liczby, z którą chcą pracować, ponieważ w językach takich jak C intmoże mieć dowolny rozmiar, w tym mniejszy niż 32-bitowy. I jeszcze dalej, na moim 64-bitowym komputerze z systemem Linux, w C intjest 32-bitowy. Więc musisz jawnie poprosić long longo 64-bitowy numer.

Zasadniczo aplikacje nie będą zużywać więcej pamięci tylko dlatego, że zostały skompilowane dla wersji 64-bitowej.

EDYCJA :
W odpowiedzi na twierdzenie Gillesa, że ​​64-bitowy Firefox używa dwa razy więcej pamięci, poszedłem i porównałem 32-bitowego i 64-bitowego Firefoksa w moim systemie.
Przetestowałem, uruchamiając 5 kart otwartych na stronie http://acid3.acidtests.org/ i wykonałem test 3 razy (raz w wersji 32-bitowej, raz w wersji 64-bitowej, a następnie powtórz dwa razy). Wybrałem tę witrynę, ponieważ jest ona bardzo intensywna w JavaScript i wykorzystuje statyczną treść (każde renderowanie strony zapewni te same dane).

W ostatnim biegu:

  • Wersja 32-bitowa: 173,244kb rss / 918,348kb virt

  • 64-bit: 184,588 kb rss / 966,624kb virt

Mógłbym przeprowadzić bardziej rozbudowane testy tak, ale myślę, że to pokazuje wystarczająco dobrze, że różnica wielkości między nimi jest znikoma.


1
Jest to rażąco przesadzone. Niektóre programy zajmują prawie dwa razy więcej pamięci w trybie 64-bitowym, zależy to od rodzaju danych, którymi manipulują. Zauważyłem, że Firefox i Chrome zajmują nawet ponad dwa razy więcej pamięci (nigdy nie badałem, dlaczego: rozmiar kodu?). W przypadku Apache dodatkowe zużycie pamięci prawdopodobnie będzie niewielkie (ale nie mierzyłem).
Gilles 'SO - przestań być zły'

@ Giles prawie nie. Właśnie uruchomiłem 32-bitowego i 64-bitowego Firefoxa. Wersja 32-bitowa używa 133,340 kb po uruchomieniu. Wersja 64-bitowa używa 133 412 KB po uruchomieniu.
Patrick

Być może ostatnio się poprawił, myślę, że ostatnio sprawdziłem w Firefoksie 4. Zmierzyłem, biorąc pod uwagę bezczynny system (działający prawie tylko 64-bitowe programy, które powinny faworyzować 64-bitowy plik wykonywalny, ponieważ niektóre z jego bibliotek współdzielonych zostały już załadowane) i porównanie ilości wolnej pamięci po załadowaniu kilku kart (trochę JS, bez Flasha): Odkryłem, że (free_memory_with_ff_64 - free_memory_without_ff)> 2 * (free_memory_with_ff_32 - free_memory_with_ff).
Gilles 'SO - przestań być zły'

4
@Gilles Myślę, że w teście była jakaś wada. Nawet jeśli Firefox przechowałby każdy ostatni kawałek danych jako liczbę całkowitą (bez ciągów, co nie zmieniłoby rozmiaru), a każda pojedyncza liczba całkowita zmieniła się z 32-bitowej na 64-bitową, rozmiar co najwyżej podwoiłby się. Nie ma wytłumaczenia, że ​​może się podwoić.
Patrick

2
„Liczby mogą być większe tak, ale to nie znaczy, że będą”. - ale wszystkie wskaźniki będą teraz na pewno 64-bitowe, gdzie kiedyś były 32.
Rup

5

Wybieram 32-bitowe niż 64-bitowe instalacje dla systemów z mniej niż 4 gramami pamięci RAM.

64-bitowy Zużywa więcej pamięci, ze względu na charakter jego wskaźników, waha się między około 10 a 50 megabajtami dodatkowymi dla instalacji waniliowej LAMPY.

W systemie z ograniczonym ram, na przykład 256 meg, może to być spory kawałek.

Technicznie rzecz biorąc, w przypadku PAE to samo dotyczy 64 gig, jednak przestrzeń adresowalna dla aplikacji jest nadal ograniczona do 4 gig. Dlatego w przypadku elementów większych niż 4 gig zaleca się użycie 64-bitów, aby wykorzystać wzrost wydajności, zwłaszcza te związane z narzutem PAE.

W skrócie: <4gig = 32bit | > 4 gig = 64 bity.


3

Jeśli dostawca zainstalował 64-bitowy Debian 5, polecam pozostać przy tej wersji.

Różnice między 64-bitowymi a 32-bitowymi dotyczą nie tylko menedżera pamięci.


2

Z wyjątkiem kilku aplikacji, które działają szybko, jedyną zaletą 64-bitowego systemu jest to, że można obsłużyć ponad 4 GB pamięci. Ponieważ część przestrzeni adresowej jest zarezerwowana dla jądra, proces otrzymuje jedynie około 2 GB lub 3 GB przestrzeni adresowej (lub więcej, lub mniej, w zależności od konfiguracji jądra). W przypadku użycia bazy danych i serwera WWW nie planujesz zamiany za dużo i nie zamierzasz robić zbyt wielu operacji na liczbach. Tak więc, mając zaledwie 750 MB pamięci RAM, nie zobaczysz żadnych korzyści z używania systemu 64-bitowego.

Rozmiar kodu jest mniej więcej taki sam między kodem i386 (32-bit) a amd64 (64-bit). Pamięć danych wykorzystywana przez program 64-bitowy jest nieco większa; o ile większy zależy od zastosowania. Spodziewam się zauważalnej, ale niezbyt dużej różnicy dla twojego przypadku użycia.

Biorąc pod uwagę, że korzystanie z 64 bitów jest trochę kosztowne i nie ma żadnych korzyści, zalecamy używanie systemu 32-bitowego, jeśli nie jest to zbyt trudne.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.