problémy s readahead_early při použití PAE kernelu v SL 5.4
Tomas Macek
macek na fortech.cz
Úterý Prosinec 22 14:09:57 CET 2009
Mám tu Scientific Linux 5.4 s kernelem 2.6.18-164, 8 GB paměti,
deska Intel SE7501WV2.
Dříve měl systém 3 GB RAM bez PAE kernelu, nebyl problém. Teď má 8 GB
paměti a používám
PAE kernel a je problém v tom, že když se spouští proces
/etc/init.d/readahead_early, počítač vytuhne. On stačí ještě vypsat
hlášení o spouštění kudzu, ale vytuhne/zavěsí, nevím jak to nazvat.
Na obrazovku se dá psát, enter vesele posunuje výpis, ale počítač ani po
dlouhých minutách čekání nepokračuje v bootu.
Ověřil jsem, že je to tím readahead procesem. Podíval jsem se, co přesně
spouští a když to samé udělám na příkazové řádce, systém stejně tak
zavěsí:
FILES=$( ls /etc/readahead.d/*.early )
/usr/sbin/readahead $FILES
Když na ten proces pustim strace, je vidět, že zavěsí na nějakém souboru
...
open("/lib/libgobject-2.0.so.0", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0755, st_size=259128, ...}) = 0
readahead(3, 0, 259128
a dál už pak nepokračuje neznámo proč.
Zkoušel jsem šílenosti s kombinací jednotlivých paměťových modulů
(starých i těch nových), nepomohlo. Zkoušel jsem vyhodit soubor, na kterém
se readahead při čtení zasekne a to bylo samozřejmě taky k ničemu.
Instalace Fedory 12 a její spuštění je bez problémů, ale už nevím, jestli
je tam ten readahead spouštěný po startu (že to dělá readahead jsem
zjistil až po přeinstalování). V manu k readahead() se píše, že tahle
funkce "blocks until the specified data has been read.", ale že by takhle
zavěšoval na každém souboru od určitého místa se mi moc věřit nechce.
Zkoušel jsem v systému vytvářet 0.5 GB ramdisky tak dlouho, dokud systém
nemusel zapisovat do RAM někde za hranici 4 GB, ale to systému nečinilo
problémy (vytvořil jsem ramdrive, vytvořil filesystém a na něm vytvořil
soubor přes celý disk programem 'dd', snad jsem to udělal dobře).
Možné vysvětlení je, že nové paměti jsou nekompatibilní s deskou a PAE
kernel si na nich vyláme zuby, stejně jako že je chyba v PAE a systém při
čtení hromady (asi 800) souborů zapisuje někde do oblasti PAE a pak se to
sesype.
Vynechání readahead_early při startu pomáhá zdá se zatím na 100%, systém
se nesekne. Dá se ale takovýmu počítači věřit? Má někdo nápad co s tím?
Děkuji, T. Macek
Další informace o konferenci Linux