Portál AbcLinuxu, 30. dubna 2025 17:15
Jak jste se mohli dočíst v odkazovaném článku, mám desku ASUS P5B-VM. Tato deska má ohromné limity, pokud jde o práci s větším množstvím paměti, jak jsem se dneska sám přesvědčil. Koupil jsem si 2x2GB RAM a nasadil do počítače. Jaké ale bylo moje překvapení, když jsem zjistil, že podle BIOSu 2048+2048=2800(+-50MB). Když jsem přidal ještě původní 1GB, dostal jsem se cca na 3800MB. Nutná otázka jistě zní: kde je sakra to jedno gigo?
Trochu jsem se pošťoural v BIOSu a povedlo se mi najít vlastnost Memory remapping a najednou byla všechna paměť k dispozici. Zaradoval jsem se a bootoval do systému. To by to ale nebyla realita, kdyby v tom nebyl háček. V tom BIOSu sice psali, že povolení Memory remappingu doporučují pouze na 64bit systémy, ale říkal jsem si, že většina výrobců zřejmě zná pouze systémy od MS, kde na 32 bit systému na 3GB paměti prostě končíte, a možnost jsem povolil. Ale najednou mi linux při bootu resetnul PC. To se opakovalo ještě několikrát. Sám nechápu, jak jsem dokázal nabootovat až do KDE. Log samozřejmě mlčel, není v něm ani tečka o nějakém problému. Ale to nebylo všechno, systém mi navíc přestal detekovat mou druhou síťovou kartu, připojenou na konektor sběrnice PCI. Nebyla vidět prostě ani ve výpisu lspci. Problém dočasně řeším přechodem zpět na vypnutou možnost Memory remappingu, ale rozhodně to neberu jako stálé řešení.
Chtěl bych se proto zeptat: jak byste řešili situaci? Evidentně mám následující možnosti:
UPDATE:
Tak jsem zkusil vypálit 64bit systém a instalovat. Nabootoval jsem LiveCD, spustil instalaci. Ale došlo k podobnému zatuhnutí jako u 32 bit systému (prostě se to restartovalo). Nicméně po restartu se mi podařilo bootnout starý systém s celými 5GB paměti. Začal jsem tedy pátrat, kde by mohl být problém. První, co mě napadlo, byl memtest.
S memtestem nemám moc zkušenosti, tak jsem ho pustil nejdříve na první 2GB modul - bez problému. Přešel jsem tedy na druhý modul - bez problému. Alespoň tedy doufám, odvodil jsem si, že memtest prostě ty testy pořád dělá dokola, proto mi tam běželo několikrát to samé. Přešel jsem tedy na test, kdy jsem zapojil paměti do dual-channelu a pustil memtest. Hned v prvním testu se vyskytlo cca 5 chyb (zajímavé bylo, že se jevily být mimo adresní prostor paměti). Při opakovaném provedení testu už se chyba nevyskytla, ale po rebootu stroje tam byla znova. Zkusil jsem tedy paměti zapojit do single-channelu - bohužel se stejným výsledkem.
Když jsem chtěl znovu nabootovat 32bit Kubuntu, opět došlo na padání systému, to skončilo opět až po nastartování 64bit systému a dalším restartu do staré 32bit verze. Teď momentálně jsem v té 32bit se 4GB RAM.
Vyvstaly tedy další nutné otázky: co to bylo za chybu v tom memtestu, že nešla replikovat? Myslíte, že je nějak možné, aby 64bit systém nějakým způsobem dočasně "opravil" chybné sektory v paměti, když 32bit šel nabootovat teprve po nabootování 64bit systému a následném restartu? Po Manipulaci s pozicí pamětí ve slotech bylo třeba opět rozjet 64bit systém, aby šel potom nabootovat 32bit.
Tiskni
Sdílej:
Někteří škarohlídové tvrdí, že PAE je pomalejší, ale podle mého testování, je někdy dokonce i rychlejší.Rychlejší než co? PAE má svoji režii, protože se musí vytvářet a rušit mapování fyzické paměti do okna ve virtuálním prostoru.
ale jestli je ten kód s PAE lépe napsaný nebo něco tu režii vyvažujeJak by mohl být lépe napsaný? Např.
kmap()
v jádře bez PAE pouze převede fyzickou adresu na virtuální (konkrétně logickou), kdežto tatáž funkce v jádře s PAE v první řadě rozhoduje, jaké adresy se to týká. Pak pro dolní paměť provede převod adresy, kdežto pro horní musí vytvořit mapování, což se navíc dělá pod uzamčením (čili na víceprocesorových strojích to může dále zdržovat).
Vice paměti = více problémůJo, mě to povídej - od té doby, co mám v počítači 1GB RAM a historicky jenom 1GB swap oddíl mi tuxonice každou chvíli řekne, že nemohl uspat, protože nemá dost místa. Přitom je to blbost, protože - polovina swapu je většinou volná a víc než polovinu paměti zabírají cache, které pro uspání nepotřebuje (může je zapsat na disk třeba) - mám vyzkoušené, že vypnutí swap oddílu způsobí, že 500MB zabraného swapu se změní na tak 50MB zabrané paměti navíc, takže zabraný swap se nechá uvolnit - komprese při suspendu funguje docela dobře, takže i kdyby neměl dělat nic jiného, do místa na swap oddíku se musí vejít. Samozřejmě tohle je ten lepší případ, který se nechá ručně vyřešit a opakovaný pokus už uspěje. Bohužel momentálně se mi častěji stává, že počítač zamrzne s
Seeking to free xxxMB of memory.
Flashovat by melo jit i bez disketovky, ikdyz je to prace navic.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.