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)


[color=darkred][/color][/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...


[url=http://mhroczny.net][b]strona domowa[/b][/url] || [url=http://dug.net.pl][b]polski portal debiana[/b][/url]

Offline

 

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

  rychu - elektryk dyżurny

rychu
elektryk dyżurny
Skąd: gdańsk
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: [url]http://titek.victorygames.pl[/url]
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 ;)


[url=http://mhroczny.net][b]strona domowa[/b][/url] || [url=http://dug.net.pl][b]polski portal debiana[/b][/url]

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
[b]napisz do mnie:[/b] ola@mojmail.eu
[url=http://valhalla.org.pl]Hołmpejdż[/url] | [url=http://valhalla.org.pl/foto]Galerie[/url] | [url=http://valhalla.org.pl/tech]"Twórczość"[/url] || [url=http://img.munn.in]Free Image Hosting[/url]

Offline

 

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

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
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 ;-)

[ Generated in 0.009 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00012 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00091 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.145.23.123' WHERE u.id=1
0.00082 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.145.23.123', 1714233133)
0.00043 SELECT * FROM punbb_online WHERE logged<1714232833
0.00085 SELECT topic_id FROM punbb_posts WHERE id=135979
0.00129 SELECT id FROM punbb_posts WHERE topic_id=14916 ORDER BY posted
0.00083 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=14916 AND t.moved_to IS NULL
0.00011 SELECT search_for, replace_with FROM punbb_censoring
0.00077 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=14916 ORDER BY p.id LIMIT 0,25
0.00095 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=14916
Total query time: 0.00712 s