Moje zdjęcie

imię: Piotr Sowiński
pseudo: Sadi
wiek: 25
zainteresowania: programowanie, tworzenie stron, linux, elektronika, książki


Creative Commons LicenseJeżeli nie zaznaczono inaczej, wszystkie materiały na tej stronie są objęte licencją Creative Commons by-nc 3.0
Skiny
grey-tea green (standardowy)
light sky blue
carrot orange
Polecam

Bykom STOP! browsehappy.pl - masz kIEpską przeglądarkę? Spam Poison - zatrujmy życie spammerom! Debian GNU/Linux Przeglądarka Opera
Przyspieszamy start Debiana - część 2 sadi | 14:55 | 11.06.2009
Już dość dawno temu opisałem, w jaki sposób przyspieszyłem start Debiana o ok. 7 sekund. W ramach ostatnich dni pojawiło się jądro 2.6.30, które wprowadza kolejne zmiany mające na celu przyspieszenie bootowania. Pomyślałem, że to dobra okazja do kompilacji.
Zanim przejdę dalej, powinienem opisać, jak mierzę czas startu - zwłaszcza, że zmieniło się to od poprzedniego wpisu. Czas bootowania mierzyłem stoperem. Pomiar rozpoczynałem w momencie wciskania enter w GRUB'ie, a kończyłem w momencie pojawienia się linijki zachęcającej do zalogowania (wyłączyłem kdm). Czasy, które podaję w dalszej części tego wpisu, to średnie z trzech pomiarów.
Korzystając z okazji postanowiłem pozbyć się initrd, który podobno wydłuża bootowanie o ok. 1-1,5 sekundy. Wiele dystrybucji Linuksa używa initrd przy rozruchu systemu. Dzięki temu, mogą skompilować uniwersalne jądro, które jednocześnie będzie zajmowało mało miejsca. Nas uniwersalność nie obchodzi - z założenia kompilujemy jądro tylko dla siebie. Aby rezygnacja z initrd nie skończyła się na Kernel Panic, musimy wkompilować w jądro parę rzeczy. Przede wszystkim będzie to obsługa naszego dysku twardego, używany na partycji linuksowej system plików, oraz obsługa dysków SCSI (o ile Linux rozpoznaje nasz dysk np. jako sda, a nie hda). U siebie musiałem ustawić takie opcje:

General Setup > Initial RAM filesystem and RAM disk support [N]
Device Drivers > SCSI device support > SCSI disk support [Y]
Device Drivers > Serial ATA and Parallel ATA drivers > ATA SFF support [Y]
Device Drivers > Serial ATA and Parallel ATA drivers > Intel ESB, ICH, PIIX3, PIIX4, PATA/SATA support [Y]
File Systems > Ext3 journalling file system support [Y]

Tradycyjnie na początku wykonałem pomiar kontrolny, żeby mieć odniesienie. Na moim poprzednim jądrze - 2.6.28.6 (również skompilowanym przeze mnie), czas startu wyniósł 20,76 sek. Natomiast świeżo skompilowane jądro 2.6.30 wystartowało w 18,07 sekund, czyli niemal o 3 sekundy szybciej. Zauważyłem jednak, że trzeba powtórzyć jedną z operacji z poprzedniego wpisu ( touch /etc/readahead/profile-once ). Po jej wykonaniu kolejny start trwał dłużej, bo readahead zbierał informacje. Kolejne starty systemu były już dużo szybsze, czas wyniósł 15,49 sekund. Widzimy, że ostatecznie udało się przyspieszyć bootowanie Debiana o ponad 5 sekund. Z pewnością większa to zasługa poprawek w jądrze, niż pozbycia się initrd.

<< Powrót

Komentarze:

Wszystkie przedstawione tutaj opinie należą do ich autorów i twórca strony nie ponosi żadnej odpowiedzialności za ich treść.


Imię/Ksywka (wymagane):

Strona WWW:

Wpisz tekst z obrazka (wymagane):

kod

Treść (wymagane):


W polu "Strona WWW" wpisywanie członu "http://" nie jest konieczne. Tagi (X)HTML wpisane w treści nie będą działać jako element strony, zamiast tego pojawią się w samym komentarzu. Komentarze obraźliwe, nie na temat lub niezgodne z prawem będą w miarę możliwości usuwane.

skiny: grey-tea green | light sky blue | carrot orange
some rights reserved | kanał informacyjny | admin | valid XHTML 1.0 | valid CSS | valid Atom 1.0