Portál AbcLinuxu, 10. května 2025 02:23

Dotaz: Organizace pameti

22.10.2009 17:44 ext3fs
Organizace pameti
Přečteno: 218×
Odpovědět | Admin
Ahoj, zajimalo by mne podrobneji jak je v Linuxu organizovana pamet. Vim, ze kernel na ia32 bez dalsi podpory umi adresovat cca 1GB pameti. S podporou HighMem (4GB) rozdeli pamet na LowMem, ktera je dostupna primo a na HighMem, ktera je neprimo dostupna. U ia64 je vse LowMem.

Zajimal by mne ale pripad na ia32 s podporou Highmem, jak a podle ceho se urcuje velikost HighMem a LowMem. Vsiml jsem si totiz, ze dle /proc/meminfo je na ruznych systemech ruzny pomer mezi LowTotal a HighTotal. Nekdy je vice LowTotal a nekdy obracene. Ma to nejakou pricinu?Diky.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

22.10.2009 18:20 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Organizace pameti
Odpovědět | | Sbalit | Link | Blokovat | Admin
Teoreticky je to runtime-závislá věc, která se plní do proměnné high_memory ve funkci initmem_init (arch/x86/mm/init_32.c).

Možná by pomohlo z těch různých systémů vidět uname -a a odpovídající meminfo.
In Ada the typical infinite loop would normally be terminated by detonation.
22.10.2009 18:31 ext3fs
Rozbalit Rozbalit vše Re: Organizace pameti
Napr:
Linux-2.6.31.4, Pentium-M
MemTotal:        1539388 kB
...
HighTotal:        655236 kB
HighFree:          33672 kB
LowTotal:         884152 kB
LowFree:          658156 kB


Linux-2.4.20.4, Pentium4 Xeon
MemTotal:      2064380 kB
...
HighTotal:     1179584 kB
HighFree:        92028 kB
LowTotal:       884796 kB
LowFree:        332036 kB


Linux-2.6.31.4, Pentium4
MemTotal:        1026704 kB
...
HighTotal:        130312 kB
HighFree:          96040 kB
LowTotal:         896392 kB
LowFree:          874708 kB

Linux-2.6.9, 2x Pentium4 Xeon
MemTotal:      2074796 kB
...
HighTotal:     1179440 kB
HighFree:         1216 kB
LowTotal:       895356 kB
LowFree:        651000 kB
23.10.2009 06:45 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Organizace pameti
Vypadá to na dost malé rozdíly, což bych přičetl té funkci. Její algoritmus jsem nestudoval, ale předpokládám, že se tam započítají nějaké kusy I/O paměti nebo něčeho, kvůli čemu se musí ta hodnota spočítat místo univerzální konstanty™.
In Ada the typical infinite loop would normally be terminated by detonation.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.