Dlaczego Ubuntu pokazuje tylko 3 GB pamięci RAM?

27

Mam laptopa Asus G50vt-x5 z zainstalowanym 4 GB pamięci RAM. Ale Ubuntu 10.10 pokazuje tylko 3 GB pamięci RAM. Dlaczego pokazuje tylko 3 GB pamięci RAM zamiast pełnego 4 GB? wyjście freepolecenia to:

neal@ubuntu:~$ free
             total       used       free     shared    buffers     cached
Mem:       3095668    2972784     122884          0     747996    1590044
-/+ buffers/cache:     634744    2460924
Swap:            0          0          0
mgławica
źródło
Tylko dla ciekawskich możesz opublikować wynik freepolecenia?
umów się
zobacz także tę odpowiedź
Takkat

Odpowiedzi:

30

Jeśli zainstalowano 32-bitową wersję Ubuntu, nie rozpozna ponad 4 GB pamięci. Musisz zainstalować 64-bitową wersję Ubuntu, aby system rozpoznał więcej niż 4 GB pamięci.

Zobacz też:


Zauważ, że teraz standardem jest tworzenie obrazów Ubuntu i dostarczanie ich z jądrem obsługującym PAE, co pozwala na użycie ponad 4 GB pamięci RAM w systemach 32-bitowych. Wymaga to jednak użycia procesora obsługującego PAE w systemie. Jeśli twój system jest wystarczająco stary, jądra PAE nie będą działać, a powyższe ograniczenie limitu pamięci 4 GB nadal będzie obowiązywać.

Thomas Ward
źródło
30
Lub 32-bitowa wersja jądra PAE.
umów się
2
@aneal: W tej sytuacji Ubuntu nie zużyje żadnej ilości pamięci powyżej 3 GB. Dodałem powód do mojej odpowiedzi, więc musisz zainstalować wersję 64-bitową lub PAE.
Pedram
2
@EvilPhoenix: Nie jest to do końca prawdą, jeśli uruchomią 64-bitową wersję na żywo i ręcznie zainstalują ubuntu (aka debootstrap/cdebootstrap), ich ustawienia / pliki pozostaną nienaruszone, z wyjątkiem oczywiście /etc.
OneOfOne
2
Limit 32-bitowego jądra non pae wynosi 4 GB, a nie 3.
psusi
2
@psusi maksimum to 3,6 GB pamięci jąder innych niż PAE, także Thomas, weź pod uwagę, że Ubuntu buduje teraz jądra pae na wszystko, w ostatnich wydaniach nie ma jądra non-pae.
Braiam
40

Możesz zainstalować wersję 64-bitową, ale jeśli nie chcesz tego robić, możesz zainstalować jądro obsługujące PAE (rozszerzenie adresu fizycznego) w wersji 32-bitowej.

Po 10.04 Ubuntu automatycznie instaluje jądro obsługujące PAE, jeśli wykryje więcej niż 3 Gb pamięci. Ale ubuntu wiki mówi:

W przypadku LiveCD wymagane jest działające połączenie sieciowe, ponieważ pakiety jądra obsługujące PAE nie są obecne na płycie CD.

Sądzę więc, że zainstalowałeś Ubuntu na CD bez połączenia z Internetem.

Spróbuj tego:

sudo apt-get install linux-generic-pae linux-headers-generic-pae


Co to jest PAE?

Rozszerzenie adresu fizycznego to technologia, która pozwala 32-bitowym systemom operacyjnym na wykorzystanie do 64 Gb pamięci (RAM), co zwykle osiąga się przez przejście na system 64-bitowy. PAE jest obecnie obsługiwany na większości komputerów i jest to łatwa procedura, aby włączyć go w Ubuntu, jeśli jeszcze nie jest. Aby sprawdzić, czy twój procesor obsługuje PAE, spróbuj

grep --color=always -i PAE /proc/cpuinfo

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 (patrz 32-bit i 64-bit), ale w niektórych przypadkach całkowite przejście na 64-bitowe pożądane, a stosowanie PAE może być realnym kompromisem.

Należy zauważyć, że nie ma wirtualnego rozszerzenia adresu. tzn. aplikacje nadal mają taką samą ilość pamięci wirtualnej, ponieważ adresy wirtualne są nadal 32-bitowe, a adresy fizyczne mają 36 bitów. Dlatego PAE wcale nie jest odpowiednikiem systemu 64-bitowego.

Pedram
źródło
Jakieś koszty ogólne wydajności?
Ashfame
ale czy nie są to systemy 64-bitowe tylko dla procesorów AMD?
Starx
1
@Pedram wielkie dzięki! To powinna być poprawna odpowiedź, ponieważ wprowadza kolejną możliwość ominięcia limitu bez ponownej instalacji systemu. Zainstalowałem te pakiety jądra Linuksa i po ponownym uruchomieniu mam dostępne 4 GB pamięci RAM. Wielkie dzięki.
Alejandro García Iglesias
Zauważ, że w dzisiejszych czasach Ubuntu wyeliminowało jądro 32-bitowe inne niż PAE.
psusi
2

Otwórz / var / log / dmesg / dmesg i poszukaj sekcji na początku, która wygląda następująco:

[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 000000000009d800 (usable)
[    0.000000]  BIOS-e820: 000000000009d800 - 00000000000a0000 (reserved)
[    0.000000]  BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)

Opublikuj tę sekcję, aby uzyskać szczegółową analizę. Poszukaj także innej linii, trochę dalej:

[    0.000000] Memory: 4019820k/4972544k available (5694k kernel code, 798616k absent, 154108k reserved, 2514k data, 944k init)

Często zdarza się, że pamięć wideo zajmuje miejsce w obszarze 3-4 GB. W niektórych systemach pamięć ta jest po prostu tracona. Na innych można go odwzorować, często powyżej znaku 4 GB, do którego dostępu potrzebujesz jądra pae lub 64-bitowego.

psusi
źródło
2
Chciałem tylko skomentować, że mam płytę Asus, która straciła 1 GB pamięci, nawet po zainstalowaniu 64-bitowego. Musiałem umożliwić ponowne mapowanie w bios, jak wspomniano w tej odpowiedzi.
user1974
1

Masz trzy rozwiązania, z których dwa zostały już zasugerowane:

  • zainstaluj 64-bitowe jądro w instalacji i386; na Debianie to tylko kwestia instalacji kernel-image-2.6-amd64-k8iamd64-libs
  • zainstaluj 32-bitowe jądro z aktywowanym PAE
  • zainstaluj ponownie pełny system 64-bitowy
sam hocevar
źródło
ale czy nie są to systemy 64-bitowe tylko dla procesorów AMD?
Starx
Nie, Intel przyjął zestaw instrukcji amd64, gdy jego seria Itanium zawiodła i stał się de facto standardem.
sam hocevar
Mam Intel Core i 7 720 qm. Czy to będzie tam działać?
Starx
Tak. Zobacz listę kompatybilnych procesorów Intel tutaj: en.wikipedia.org/wiki/X86-64#Intel_64_implementations
sam hocevar
0

Rum memtest („Test memory”) z menu startowego (lub nośnika instalacyjnego), jeśli pierwszy ekran zgłasza mniej niż 4Gb, zaktualizuj (Flash * ROM) BIOS.

Uruchom sudo lshw, aby określić model swojej płyty głównej, a następnie przejdź do strony dostawcy i najnowszej wersji BIOS DL tje.

yPhil
źródło
0

Wiem, że jest to nieco zbyt zlokalizowane, ale dedykowane pytanie zostało oznaczone jako zduplikowane i teraz przekierowuje do tego pytania.

Dla użytkowników Dell XPS 13 L321X dostępna jest aktualizacja systemu BIOS, która wprowadziła ten problem / funkcję. Więc jeśli chcesz odzyskać 4G pamięci RAM, musisz zmienić system na BIOS A04 . Istnieją dwa tematy wspominające ten problem w społeczności Dell:

  1. Dell XPS 13 3,3 GB Dostępnej pamięci z 4 GB
  2. XPS 13 Ultrabook - 690 MB sprzętowej pamięci RAM
Andre Miras
źródło