Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2009-09-02 22:29:34

  harlequin - Użytkownik

harlequin
Użytkownik
Skąd: dolnośląskie
Zarejestrowany: 2006-03-06

Dlaczeg linux nie pokazuje całego RAM-u?

Mam 4 giga RAM-u. Vista pokazuje całość. Nie mam zintegrowanej karty grafiki, jednak monitor systemu w kubuntu pokazuje 3 899 MB. Gdzie jest reszta? ;>

edit:
oczywiście mam systemy 64 bitowe.

Ostatnio edytowany przez harlequin (2009-09-02 22:30:01)


[/url]

Offline

 

#2  2009-09-02 22:45:15

  milyges - inż.

milyges
inż.
Skąd: Gorlice/Kraków
Zarejestrowany: 2006-04-09
Serwis

Re: Dlaczeg linux nie pokazuje całego RAM-u?

APIC, Pamięć biosu, pamięć karty graficznej i inne zarezerwowane obszary pamięci...

Offline

 

#3  2009-09-02 23:32:37

  rychu - elektryk dyżurny

rychu
elektryk dyżurny
Skąd: gdańsk/kalmar
Zarejestrowany: 2004-12-28

Re: Dlaczeg linux nie pokazuje całego RAM-u?

obszar ramu zajmowany przez jądro również nie jest wliczany do "dostępnej" pamięci


linux regd. user #248790

Offline

 

#4  2009-09-02 23:38:16

  NIC - Członek DUG

NIC
Członek DUG
Skąd: Wrocław
Zarejestrowany: 2006-12-25
Serwis

Re: Dlaczeg linux nie pokazuje całego RAM-u?

Z mojego dmesga:

Kod:

Warning only 895MB will be used.

Kod:

895MB LOWMEM available.

A mam 1 GiB RAM. Swego czasu też mnie to zainteresowało i oczywisty fakt grafiki mającej pamięć z RAMu mnie przekonał...

Tak czy inaczej w dmesgu powinno być wszystko napisane. Skoro zżarło Ci tyle samo co mi to pewnie grafika. I wcale nie musi być zintegrowana... Był było niegdyś o utajnieniu przez producentów grafiki takiego spytnego mechanizmu, że karta grafiki tańsza to i czerpała sobie ileś tam dodatkowo ramu.

Kod:

AMI BIOS detected: BIOS may corrupt low RAM, working around it.

Co najwyżej 1 MiB :) Komuś żal? (swoją drogą powinni w płyty główne wmontowywać na stałe ten 1 MiB...)

PS. I ile dobrze czytałem logi to jąderko obija także 64 KiB RAMu.


Stronka-dom: http://titek.victorygames.pl
Jabber: nic@jabster.pl
Hobby: kompilowanie Linuksa, Bluetooth
Dystrybucja: żadna, bliski krewny LFS, składak

Offline

 

#5  2009-09-03 00:14:16

  milyges - inż.

milyges
inż.
Skąd: Gorlice/Kraków
Zarejestrowany: 2006-04-09
Serwis

Re: Dlaczeg linux nie pokazuje całego RAM-u?

Ogólnie sprawa się ma tak że pierwszy 1MB jest podzielony dość specyficznie. Na początku jest tablica wektorów przerwań używana w trybie rzeczywistym, dalej jest 640kB wolnego miejsca, potem od adresu 0xA000 jest pamięć wideo i dalej dane biosu. Co do zabierania pamięci przez grafikę, wcale nie musi ona jej zabierać, tylko przykrywa. Np. producent wymyślił sobie że grafika będzie miała swój bufor pod adresem 0xE0000000 i będzie zajmować x bajtów. I teraz te x bajtów fizycznej pamięci są niewidoczne dla oprogoramowania gdyż w tym miejscu zamapowany jest bufor grafiki. Do tego INTEL wymyślił sobie że APIC również będzie w pamięci RAM i tak adresy od 0xFFFC0000 są domyślnie zaklepane na I/O oraz Local APIC procesora.
Co do alokacji pamięci polecam też zobaczyć na mapę którą podaje bios, u mnie wygląda tak:

Kod:

[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
[    0.000000]  BIOS-e820: 000000000009f000 - 00000000000a0000 (reserved)
[    0.000000]  BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
[    0.000000]  BIOS-e820: 0000000000100000 - 000000007fee0000 (usable)
[    0.000000]  BIOS-e820: 000000007fee0000 - 000000007fee3000 (ACPI NVS)
[    0.000000]  BIOS-e820: 000000007fee3000 - 000000007fef0000 (ACPI data)
[    0.000000]  BIOS-e820: 000000007fef0000 - 000000007ff00000 (reserved)
[    0.000000]  BIOS-e820: 00000000f0000000 - 00000000f4000000 (reserved)
[    0.000000]  BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)

Vista musi podawać ilość zainstalowanej pamięci a nie dostępnej ;)

Pozdrawiam.

//EDIT: Gdzie jest pamięć karty graficznej i innych urządzeń można wyciągnąć z PCI ;)

Offline

 

#6  2009-09-03 00:44:17

  winnetou - złodziej wirków ]:->

winnetou
złodziej wirków ]:->
Skąd: Jasło/Rzeszów kiedyś Gdańs
Zarejestrowany: 2008-03-31
Serwis

Re: Dlaczeg linux nie pokazuje całego RAM-u?

Hmm ja mam 512MB RAMu, do tego zintegrowaną grafikę i conky pokazuje mi dostępne 470MB, to samo free i reszta załogi. Może się mylę ale jest spora szansa na to, że w kernel nie obsługuje pamięci ponad 4GB. Sprobój zainstalować linux-image-NUMEREK-bigmem i wtedy sprawdź dostępność RAMu albo przekompiluj jajco z obsługą +4GB RAM


LRU: #472938
napisz do mnie: ola@mojmail.eu
Hołmpejdż | Galerie | "Twórczość" || Free Image Hosting

Offline

 

#7  2009-12-08 19:04:09

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Dlaczeg linux nie pokazuje całego RAM-u?

Bufory kernela , itp.

Na 32 bitowym Ubuntu z włączonym PAE pokazuje tak:

Kod:

:~$ free
             total       used       free     shared    buffers     cached
Mem:       4055556    1915536    2140020          0     219432     823940
-/+ buffers/cache:     872164    3183392

Pozdrawiam
;-)

Ostatnio edytowany przez Jacekalex (2009-12-30 18:16:02)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)