Materiał do optymalizacji skrzętnie się chowa
W wolnej chwili zrobiłem dzisiaj reboot i narysowałem przebieg uruchamiania systemu:
I co widać? Od załadowania jądra do chwili kiedy mogę się zalogować mija aż 45 sekund.
Pierwsze piętnaście nie dzieje się nic sensownego - uruchamia się jądro i programy
zawarte w initrd. Czyli lvm vgscan
i
vgchange
. Przed uruchomieniem init
a następuje zamountowanie
/
. I na to mija najwięcej czasu - na oko coś koło 10 sekund (!!) trwa
zamountowanie 177 GB ReiserFS'a. Wg. mnie coś jest nie tak, sprawdzanie journala
nie powinno tyle trwać. Ale nie wiem co z tym zrobić.
W szesnastej sekundzie zaczynają działać skrypty startowe. Hotplug ładuje moduły
co powoduje podniesienie sieciówki. W oczy rzucają się sleep
y około 2 sekundowe,
jeden nawet dłuższy - trzeba je wziąść pod lupę.
Po trzydziestej sekundzie wszystko wisi na I/O - dysk pracuje intensywnie,
chociaż z bardzo małą przepustowością - najwyraźniej ma miejsce bardzo wiele
wyszukiwań i małych odczytów. Tutaj może pomóc zaimplementowanie jakiegoś readahead
,
chociaż czytałem, że wbrew pozorom nie daje to zysku większego niż dwie-trzy sekundy.
W końcu po 45 sekundach okno logowania GDM czeka na mój login i hasło, a bootchart kończy działanie. Po zalogowaniu muszę czekać jeszcze jakieś 5-8 sekund na załadowanie GNOME - ale optymalizacją tego już się zajmować nie będę. Ekipa od dużego G cały czas się zajmuje różnymi małymi ulepszeniami.
Widoczne na wykresie skrypty delay.sh
odpowiadają za uruchomienie usług
niekrytycznych na workstacji (acpid, samba, cron, apache, cups, smartd, qmail) w czasie
2 do 4 minut po ich wywołaniu.
Podsumowując - nie widać zbyt wielu oczywistych kandydatów do optymalizacji i skrócenia
czasu bootowania. A szkoda, bo 45 sekund to kupa czasu, kiedyś było zdecydowanie mniej.
Dobrze, że tak rzadko komputer uruchamia się od zera.
Archived comments:
cosmoz 2005-08-12 16:05:07
Poszukaj czegos takiego jak zrownoleglenie uruchamiania skryptow startowych - niedawno (tzn w ciagu ost 2 miesiecy bodajze) bylo kilka artykulow na ten temat. ZTCP to udawalo sie zejsc ludziom ponizej 20 sekund.
zdzichuBG 2005-08-12 16:06:40
A potem przy każdym upgradzie skryptów w dystrybucji siedzieć dwa dni i synchronizować zmiany? Nie dzięki, postoję :)
Zresztą najbardziej mnie wkurza pierwsze piętnaście sekund uruchamiania, kiedy jeszcze skrypty startowe nie działają.
DoomHammer 2005-08-12 16:44:36
to jest ten problem: initNG dziala mi tylko z jadrem, na ktorym je instalowalem. Na moich kustomowych - niezbyt.
Comments
Comments powered by Disqus