Jaka jest maksymalna ilość pamięci RAM, której mogę użyć na określonym sprzęcie

26

Mam notebooka Asus U31SD z procesorem i5-2430M . Witryna Asus twierdzi, że maksymalna pamięć RAM wynosi 8 GB, ale Intel twierdzi, że mój procesor obsługuje 16 GB. Jakiej maksymalnej pamięci RAM mogę użyć w tym systemie w systemie Ubuntu?

Crond
źródło
3
Podsumowując, co wszyscy mówią, Twój notebook może używać tylko 8 GB pamięci RAM z powodu ograniczeń płyty głównej. Można to sprawdzić, patrząc na to pytanie: askubuntu.com/questions/140322/...
reverendj1
wszystkim chciałbym zwrócić uwagę, że firma produkująca pamięć „corsair” ma lokalizator pamięci, który może ogólnie powiedzieć, jaka jest maksymalna ilość pamięci RAM, którą może użyć system. Możesz także przeczytać arkusze techniczne swojego modelu systemu, wyszukując je online, poda ci maksymalną pamięć RAM, której możesz użyć.
Thomas Ward
@The Lord of Time: dowolny link?
0xC0000022L,
Wyszukiwarka / konfigurator pamięci Corsair dla systemu wymienionego w pytaniu: www2.corsair.com/configurator/… || Wyszukiwarka pamięci Corsair (strona początkowa): corsair.com/us/learn_n_explore (Będą reklamować swoje produkty, ale mogę to wykorzystać jako ogólną bazę do wyszukiwania półdokładnych specyfikacji dla maksymalnej pamięci
Thomas Ward

Odpowiedzi:

29

Limit jest w rzeczywistości między twoim sprzętem (obsługa pamięci płyty głównej i ilością gniazd w nim) a wersją Ubuntu (32-bitowy, 32-bitowy + PAE, x32ABI, 64-bitowy)

Jeśli masz płytę główną, która obsługuje maksymalnie 4 GB, nie ma znaczenia, czy używasz 32-bitowego, 32-bitowego PAE czy 64-bitowego, ponieważ będziesz mieć limit sprzętowy 4 GB.

Ale jeśli kupisz płytę główną, która obsługuje większą ilość pamięci, możesz pobawić się wersjami Ubuntu, które mają następującą maksymalną obsługiwaną pamięć:

Ubuntu 32-bit - 4 GB pamięci RAM

Ubuntu 32-bitowy + PAE (rozszerzenie adresu fizycznego) - 64 GB pamięci RAM

Ubuntu x32ABI - 4 GB pamięci RAM (dotyczy architektury 32-bitowej zmodyfikowanej za pomocą rozszerzeń 64-bitowych działających na 64-bitowym sprzęcie. Nie jest jeszcze dostępny).

Ubuntu 64 Bit - DUŻO! (Właściwie 2 ^ 64), ale z powodu ograniczeń sprzętowych i komputerów w świecie rzeczywistym limit wynosi około 1 TB (1024 GB pamięci RAM)

Dlatego pytanie o limit pamięci powinno być używane, gdy używasz więcej niż 4 GB pamięci RAM. W takim przypadku potrzebujesz 32-bitowego PAE lub 64-bitowego, który obsługuje naprawdę duże rozmiary pamięci.

Pamiętaj również, że jeśli masz na przykład teraz 4 GB i kupujesz 16 GB pamięci RAM, nie musisz ponownie instalować Ubuntu ani dokonywać żadnych zmian. Po prostu zmień wspomnienia, a Ubuntu powinien je czytać i pracować po wyjęciu z pudełka. Nie wymaga konfiguracji. Jeśli masz 32 bity z 4 GB RAM i zainstalujesz 16 GB lub RAM, Ubuntu automatycznie zmieni 32-bitową na 32-bitową PAE. Mogę za to ręczyć, ponieważ na początku tego roku przeniosłem się z 4 GB do 16 GB.

Oto link do bardzo dobrego wyjaśnienia dla Ubuntu na temat pamięci w 32/64: https://help.ubuntu.com/community/32bit_and_64bit#Memory

AKTUALIZACJA - Zapomniałem dodać, że niektóre płyty główne mają aktualizacje BIOS, które umożliwiają, poprawiają lub zwiększają maksymalną obsługiwaną pamięć. Na przykład niektóre płyty główne Intela w przeszłości miały problemy z maksymalną obsługiwaną liczbą. Aktualizacja BIOS naprawiła to. Inne płyty główne miały wsparcie dla 4 GB z powodu problemu z BIOSem, po aktualizacji miały wsparcie dla ponad 4 GB.

Porównując również maksymalną obsługiwaną pamięć procesora i płyty głównej, maksimum, jakie możesz mieć, to minimum któregokolwiek z nich. Na przykład:

PRZYKŁAD 1
Maksymalna obsługiwana pamięć procesora - 16 GB
Płyta główna Maksymalna obsługiwana pamięć - 8 GB
Maksymalna obsługiwana pamięć - 8 GB (Ponieważ jest to najniższa wartość między CPU a płytą główną)

PRZYKŁAD 2
Maksymalna obsługiwana pamięć procesora - 16 GB
Płyta główna Maksymalna obsługiwana pamięć - 32 GB
Maksymalna obsługiwana pamięć - 16 GB (Ponieważ jest to najniższa wartość między procesorem a płytą główną)

PRZYKŁAD 3
Maksymalna obsługiwana pamięć procesora - 16 GB
Płyta główna Maksymalna obsługiwana pamięć - 64 GB
Maksymalna obsługiwana pamięć - 16 GB (Ponieważ jest to najniższa wartość między CPU a płytą główną)

Przyczyną tego ograniczenia limitu pamięci do procesora są techniczne modyfikacje dokonane przez Intel w najnowszych procesorach Core.

Więc w twoim przypadku masz płytę główną obsługującą 8 GB i procesor obsługujący 16 GB. Oznacza to, że maksymalnie możesz mieć 8 GB, z którego możesz korzystać w zależności od liczby gniazd na płycie głównej. W tym Asusie masz 2 gniazda, co oznacza, że ​​możesz mieć dwa 4 GB pamięci RAM, aby ukończyć maksymalnie 8 GB.

Więcej informacji o x32abi:

KernelNewbies - http://kernelnewbies.org/Linux_3.4#head-039c9d273884c9639937c10d68b4a3214869eb4b

LWN - https://lwn.net/Articles/456731/ (Polecaj lekturę komentarzy, aby dowiedzieć się więcej o limicie pamięci)

Google - http://sites.google.com/site/x32abi/

Wreszcie od wersji Ubuntu 12.04 wszystkie 32-bitowe wersje Ubuntu są domyślnie wyposażone w funkcję PAE, więc wszystkie wersje 32-bitowe obsługują maksymalnie 64 GB pamięci RAM. Jeśli korzystasz z wersji 12.04+ i chcesz wiedzieć, z której architektury skorzystać, teraz wiesz, że możesz użyć dowolnej z nich, pod warunkiem przestrzegania kilku zaleceń:

  • Jeśli masz 512 MB pamięci RAM lub mniej, zdecydowanie zalecamy użycie wersji 32-bitowej

  • Jeśli masz mniej niż 4 GB pamięci RAM, ale więcej niż 512 MB, zalecane jest użycie wersji 32-bitowej (ale nadal możesz używać wersji 64-bitowej)

  • Jeśli masz 4 GB pamięci RAM, zaleca się użycie wersji 32-bitowej (ale nadal możesz używać wersji 64-bitowej)

  • Jeśli masz od 4 GB lub RAM do 64 GB pamięci RAM, możesz użyć wersji 32-bitowej lub 64-bitowej, ale zalecane jest użycie wersji 64-bitowej.

  • Jeśli masz więcej niż 64 GB pamięci RAM, musisz użyć wersji 64-bitowej

Luis Alvarado
źródło
Luis, jesteś pewien limitu 4 GB w x32? To byłoby smutne. Przeczytałem w artykule (niemiecki magazyn), że x32 obsługuje ponad 4 GB. A co z PAE?
turbo
@turbo - To bardzo dobre pytanie, które zajęło mi trochę czasu. Odpowiadam z 4 GB z powodu tej części objaśnienia „Co to jest x32abi?”: X32 ABI pozwala na uruchamianie programów w trybie 64-bitowym z 32-bitowymi wskaźnikami. Ponieważ działa z 32-bitowymi wskaźnikami, oznacza to, że maksymalna pamięć, której może używać do pracy, wynosi 4 GB. Oczywiście nie wiem, czy istnieje tryb PAE x32abi, ale ponieważ jest to sposób wykonywania programów 32-bitowych, aby skorzystać z niektórych zalet 64-bitowych bez użycia podwójnego pamięci RAM do zadań, doszedłem do wniosku, że jest ograniczony przez 32-bitowy do 4 GB pamięci RAM.
Luis Alvarado
1
W rzeczywistości limit dla 64 bitów wynosi 2 ^ 48 bajtów, a x32 jest taki sam, tylko ograniczony do 4 GB na proces , dla procesów x32. x32 uruchamia 64-bitowe jądro, więc może uruchamiać niektóre pełne 64-bitowe programy, ale x32 buduje większość programów, aby używały tylko 32 bitów.
psusi
6

Dla wersji 32-bitowej teoretyczny limit wynosi 2 ^ 32 = 4096 MB, ale od Ubuntu 12.04 na PAE (rozszerzenie adresu fizycznego) jest domyślnie włączone z limitem 2 ^ 36 = 64 GB.

Dla wersji 64-bitowej powinno to być teoretycznie 2 ^ 64 = 16 777 216 TB (tak, to jest terabajt). W rzeczywistości ilość pamięci RAM jest ograniczona do 2 ^ 48, czyli 256 TB pamięci RAM.

Ponieważ teoretycznych limitów nie da się tak naprawdę osiągnąć w normalnym laptopie, faktycznym ograniczeniem jest ilość miejsc w pamięci (zwykle 1-2) w notebooku i wsparcie mikroukładu. 8-16 GB jest tutaj realistyczne, jeśli chcesz zapłacić poważne pieniądze za moduły 8 GB.

turbo
źródło
Czy mogę bezpiecznie kupić 2x moduły 8 GB i oczekiwać, że będą działać? (Używam 64-bitowego, obecnie z ramem 8 GB)
crond
Cóż, bezpiecznie ...; P Inne notebooki z procesorami Intel HM65 Express obsługują 16 GB (Asus G74SX-TZ293V), więc tak.
turbo
6

Właśnie kupiłem dodatkowe 8 GB, aby wstawić do mojego U31SD, w sumie 12 GB. Pomimo strony specyfikacji Asus, że 8 GB jest limitem, działa dobrze. Przeszedł memtest86 i jest widoczny dla 64-bitowego systemu Ubuntu.

Mam zainstalowaną najnowszą aktualizację systemu BIOS, nie jestem pewien, czy to coś zmienia.

FYI, wynik sudo dmidecode -t 16wskazuje Maximum Capacity: 16 GB.

użytkownik77303
źródło
1

Jest to ograniczenie na płycie głównej, a nie na procesorze. Procesor może obsługiwać do 16 GB, ale jeśli płyta główna może zająć tylko 8 GB, to Twój limit.

W Ubuntu, jeśli korzystasz z wersji 32-bitowej, twój limit wynosi 4 GB, a jeśli korzystasz z wersji 64-bitowej, jest znacznie wyższy (na pewno nie pamiętam, ale jest znacznie powyżej 16 GB.

Ale zawsze będziesz ograniczony przez swój sprzęt. Zawsze musisz porównać limit płyty głównej i limit procesora i przyjąć najniższą wartość jako limit komputera.

Jacob Tomlinson
źródło
0

W twoim konkretnym przypadku 8 GB jest spowodowane tym, że Twoja płyta główna nie obsługuje więcej niż tyle pamięci RAM.

Ale sam Ubuntu obsługuje maksymalnie 4 GB dla wersji 32-bitowej, 64 GB dla 32-bitowej wersji PAE i 128 GB dla wersji 64-bitowej (choć teoretycznie limit jest znacznie wyższy dla wersji 64-bitowej).

MuffinStateWide
źródło
0

było wiele pytań, które określają rozmiar wskaźnika. zasadniczo można powiedzieć, że jest to architektura procesora,

x86 -> 4 bytes pointer -> can address 4,294,967,296 locations = 4GB (it is the limit)

x64 -> 8 bytes pointer -> can address 1.84467440737e+19 locations (it is the limit, big, eh)

Aby zaadresować 8 GB pamięci RAM, potrzebujesz 8.589.934.592 odwzorowań, a wskaźnik wielkości 4 bajtów nie może adresować wszystkich możliwych wartości. dlatego nie mogę mieć więcej niż 4 GB pamięci RAM na architekturze x86.

Istnieją jednak inne możliwości:

Ilość pamięci RAM nie jest ograniczona architekturą (32- lub 64-bitową). Architektura decyduje tylko, ile pamięci może zająć się jednocześnie system operacyjny i działające na nim programy. Na maszynie 32-bitowej, to znaczy maszynie z 32-bitową magistralą pamięci, system operacyjny i programy mogą „zobaczyć” tylko 4 GB pamięci. Ale to nie znaczy, że są tylko 4 GB pamięci RAM. Jeśli producent to przewidział, możesz mieć 16 GB lub 4x4 GB pamięci RAM. W takim przypadku będą jeszcze 2 „ukryte” linie adresowe, a także ustalona na stałe logika do decydowania o poziomach tych 2 linii, w ten sposób wybierając jedną z dostępnych 4 GB pamięci RAM - 00 01 10 11. Te „ukryte” bity adresu nie są używane przez warstwy oprogramowania, więc dla tych warstw mogą używać tylko 4-bajtowego wskaźnika. Liczba tych „ukrytych”

To tylko przykład. To zależy od dostawcy, w jaki sposób zdecydują się zapewnić dodatkową pamięć RAM.

Zobacz też:

W zwykłym przypadku wskaźnik jest wystarczająco duży, aby pomieścić więcej adresów niż jednostek pamięci w systemie. To stwarza możliwość, że program może próbować uzyskać dostęp do adresu, który nie odpowiada żadnej jednostce pamięci, albo dlatego, że nie zainstalowano wystarczającej ilości pamięci (tj. Poza zasięgiem dostępnej pamięci) lub architektura nie obsługuje takich adresów. Pierwszy przypadek może, na niektórych platformach, takich jak architektura Intel x86, nazywać się błędem segmentacji (segfault). Drugi przypadek jest możliwy w obecnej implementacji AMD64, gdzie wskaźniki mają długość 64 bitów, a adresy rozciągają się tylko do 48 bitów. Wskaźniki muszą tam spełniać określone reguły (adresy kanoniczne), więc jeśli niekanoniczny wskaźnik zostanie zdereferencjonowany, procesor generuje ogólny błąd ochrony.

Z drugiej strony niektóre systemy mają więcej jednostek pamięci niż adresów. W tym przypadku stosuje się bardziej złożony schemat, taki jak segmentacja pamięci lub stronicowanie, aby użyć różnych części pamięci w różnych momentach. Ostatnie inkarnacje architektury x86 obsługują do 36 bitów adresów pamięci fizycznej, które zostały zmapowane do 32-bitowej liniowej przestrzeni adresowej za pośrednictwem mechanizmu stronicowania PAE. Zatem tylko 1/16 możliwej całkowitej pamięci może być dostępne jednocześnie. Innym przykładem w tej samej rodzinie komputerów był 16-bitowy tryb chroniony procesora 80286, który choć obsługuje tylko 16 MiB pamięci fizycznej, może uzyskać dostęp do 1 GiB pamięci wirtualnej, ale połączenie 16-bitowego adresu i segmentu rejestry utrudniały dostęp do ponad 64 KiB w jednej strukturze danych.

W celu zapewnienia spójnego interfejsu, niektóre architektury zapewniają mapowane we / wy pamięci, co pozwala niektórym adresom odnosić się do jednostek pamięci, podczas gdy inne odnoszą się do rejestrów urządzeń innych urządzeń w komputerze. Istnieją analogiczne pojęcia, takie jak przesunięcia plików, indeksy tablic i odwołania do obiektów zdalnych, które służą tym samym celom, co adresy innych typów obiektów.

(więcej tutaj )

4 szt. 0
źródło