Speedboot Mandrivy daje wrażenie szybszego startu systemu
- Dodano: 21 February 2009
- Wprowadził: Emdek
- Komentarze: 38
Nowe wydanie dystrybucji Mandriva (2009.1) przyniesie nowy mechanizm poprawy szybkości (a raczej jej wrażenia) startu systemu dzięki odpowiedniemu ułożeniu startu usług systemowych.
Działanie Speedboot polega na uruchomieniu najpierw niezbędnych usług (ACPI, D-Bus, HAL oraz Syslog), a pozostałych dopiero podczas logowania się użytkownika (lub wcale). Dodatkowo w tym trybie wyłączony zostaje readahead, a użycie initscripts zostaje ograniczone.
Po włączeniu tego mechanizmu sesja GNOME wystartowała w mniej niż osiem sekund (w porównaniu do 17 sekund przy normalnym starcie), a sam serwer X zaczął działać już po pięciu sekundach.
W rzeczywistości cały proces startu systemu wydłużył się z 27 do 37 sekund (co można zaobserwować na wykresach Bootchart), jednak szybsze pojawienie się ekranu logowania sprawia wrażenie jego skrócenia. Dodatkowo liczba uruchomionych usług została obniżona oraz spadło użycie dysku.
Niestety nie można użyć go w przypadku zaszyfrowanych systemów plików ani autoryzacji przez sieć.
Efekty działania Speedboot możemy obejrzeć w wersji beta Mandrivy (po dodaniu opcji speedboot w konfiguracji GRUB) wydanej kilka dni temu lub obejrzeć filmy ze startu dystrybucji w przypadku jego użycia lub nie.
Także już wcześniej inżynierowie Mandrivy zajmowali się przyspieszaniem startu tej dystrybucji, czego efekty można było zobaczyć w wydaniu 2009.0.
Więcej informacji: http://www.phoronix.com/scan.php?page=ar...boot&num=1
Znalazłeś literówkę? Zgłoś ją używając formularza!
Jeśli uważasz, że ten nius jest nieobiektywny, przedstawia nieprawdziwe wydarzenie, jest spamem lub nie spełnia standardów serwisu, napisz raport.
Niusy na podobny temat:
Komentarze są prywatnymi opiniami dodających je osób. Prosimy o zachowanie kultury wypowiedzi. Komentarze obraźliwe oraz obniżające poziom serwisu będą usuwane. Więcej w regulaminie komentowania.
38 komentarzy
Wszystkie autorskie niusy w serwisie publikowane są na licencji Creative Commons Uznanie autorstwa 2.5 Polska.
Coś podobnego już jakiś czas temu zostało użyte w dystrybucjach Openmoko (patch "fastboot").
Taki sam oraz inne podobne mechanizmy są wykorzystywane w Windowsach: np. odpalasz za pierwszym razem IE, odpala się puste okienko z dekoracjami i zanim zdążysz wpisać sensownego url'a całe bebechy (engine) zdążą się załadować i zainicjalizować.
IMHO w zasadzie nie ma w tym nic zdrożnego, jeżeli proces przebiega wieloetapowo i można go przyspieszyć zamieniając kolejność etapów to jest ok: okienko logowania czy wprowadzenia danych jak najszybciej, w tle równocześnie doładowywanie/inicjalizacja programu, wiadomo, że człowiekowi zajmie kilka sekund zauważenie, wprowadzenie, zatwierdzenie tych danych. Mimo wszystko należy pracować nad optymalizacją programów a nie czekaniem na nowy szybszy procesor…
Nie podoba Mi się to. Panowie z Mandrivy prezentują podobne podejście, co faceci z Redmount. Wszyscy wiemy, ilu ludzi lub przynajmniej myślących ludzi jest z tego zadowolonych. Bez przerwy słyszy się narzekanie, że po pojawieniu się pulpitu trzeba czekać nie wiadomo ile na załadowanie się menu start.
Zawsze możesz wyłączyć ten mechanizm.
Poza tym, to jest dopiero wczesna wersja, więc wiele może się jeszcze zmienić (no chyba poza samą filozofią sposobu działania akurat).
Wszystko zależy od tego, jakie usługi będą uruchamiane po Xsach. Pozatym – w szanowanym i lubianym systemie z Redmond system mieli po ukazaniu się ekranu "gotowości do pracy" – tutaj mielenie następuje po pojawieniu się ekranu logowania, czyli w czasie, kiedy system z Redmond jest bezczynny, a w którym to czasie mógłby trochę odciążyć mielenie po zalogowaniu ;]
Mylisz się, Windows też ładuje usługi w tle na ekranie logowania. Co jak co, ale akurat ten mechanizm (opóźnione ładowanie) Windows ma od dawna i raczej jest tam to dobrze dopracowane. Cieszy natomiast, że w Linuksach ma to występować jako opcja, bo (jak już ktoś wyżej wspomniał) nie każdemu takie podejście pasuje.
@Sławek
wg mnie ten mechanizm pomimo ze z pozoru podobny jak zastowosawny w windowsie, nieco sie jednak rozni.
zauzwaz ze czesc uslug jest ladowana w momencie, gdy logujesz się do systemu. czyli juz od momentu pojawienia sie ekranu logowania. gdy ty wpisujesz haslo system, juz od pewnego czasu laduje kolejne uslugi.
w windowsie natomiast uslugi (nie wszystkie, ale na pewno czesc znich) ladowane sa dopiero po logowaniu.
@Sławek
Zgadzam się. Zła droga. Lubię Linuksa mi. za to, że nie "ściemnia" jak np. Windows. Dla mnie to będzie jeszcze minus Linuksa.
Tego typu praktyki może wydają się łatwą drogą do osiągnięcia wrażenia przyśpieszenia. Lecz mszczą się później , np. bo zapomina się o optymalizacji oprogramowania.
Jacek
To jest bardzo dobre rozwiązanie. Jeśli używasz przywracania sesji, to w Linuksach też nie możesz od razu rozpocząć pracy i po pojawieniu się pulpitu musisz czekać. Mi się podoba i czekam na wprowadzenie we wszystkich dystrybucjach.
Ktoś poda namiar do tej tapety ze screenu?
http://www.mandriva.pl
Wypadaloby wspomniec, ze to samo rozwiazanie lata temu zastosowano w Windows.
W nowinie raczej nie, a w komentarzach już godziny temu wspomniano.
Nie widzę sensu takich wspominek (poza wyjątkami), czasem mogłaby urosnąć długa lista poprzedników.
i jest to jedna z rzeczy, która jak nic irytuje mnie w windows, bo co z tego, że widzę pulpit, widzę panel, widzę wszystko, a nic nie mogę uruchomić? Poczekam jakiś czas 30s-60s i dopiero programy się uruchamiają tak jak powinny. Szczerze wolę poczekać przy włączaniu dłużej, a w chwili w której zobaczę pulpit przystąpić do wykonywania czynności.
Mnie się wydaje, że główną informacją zawartą w newsie było pojawienie się ekranu logowania po 5 sekundach (czego w Windows chyba nie ma;P) a nie zmiana kolejności uruchamianych usług. Wszak Xy od dawna nie czekają na uruchomienie niektórych usług (apacze, sql-e etc). Nowością jest raczej tak *agresywna* optymalizacja.
Optymalizacja jest tak agresywna, że przy mniejszej ilości usług czas startu systemu wydłużył się o prawie 40%
IMO nie tędy droga, ale może coś pożytecznego z tego wyniknie, więc się więcej nie będę wyzłośliwiał.
Oho! Jeśli to prawda co pisze trash, mandriva wpadnie wkłopoty! Przecież to rozwiązanie jako najwiekszy wkład mikrosoftu w rozwój informatyki światowej jest opatentowane!
Ogolnie panowie z zespolu Mandrivy mogliby sie skoncentrowac na minimalizacji liczby i szybkosci startu usług, a niekoniecznie na ich opoznianiu. To jest dobre tylko jesli ekran logowania czeka na wprowadzenie nazwy uzytkownika i/lub hasla. Znaczne przyspieszenie daloby np.
1. Ladowanie malego jadra (wszystko reszte w moduly)
2. Ladowanie tylko dedykowanych do sprzetu modulow.
3. najpotrzebniejsze progamy do startu odpowiednio ulozone, aby sie nie gryzly
(niekotre moga byc wystartowane w tle).
Ogolnie mozna zalaczyn niewielkie narzedzie konfiguracji co jest co (w arch'u rc.conf zalatwia wszysto) i start od razu skrocony.
Projekt sam w sobie nie jest calkowicie bez zastosowania, ale skad ja to widze, to tylko w przypadku braku automatycznego logowania do X'ow.
"Ladowanie malego jadra (wszystko reszte w moduly)" – nie wiem czy wiesz, ale ładowanie dużego jądra już z modułami jest szybsze niż ładowanie małego i potem doładowywanie modułów.
Nie wiem czy wiesz – ale krowa to piękny zwierz…
Najlepiej, jakby się skoncetrowali na wyłapaniu i optymalizacji elementów wydłużających start. W innych dystrybucjach zmierzyli i ponaprawiali. Wykrywanie sprzętu przez jądro trwa długo? Napisano asynchroniczne initcalle. Wywołania modprobe trwają długo? Wprowadzono binarny cache. X Window System startuje parę sekund? Usunięto niepotrzebne zmiany trybów graficznych, wykrywanie sprzętu. I tak dalej. Ktoś znalazł wąskie gardła i naprawił. Czas poświęcony na żonglowanie usługami w celu uzyskania ,,wrażenia'' szybszego startu lepiej było przeznaczyć na faktyczne przyspieszenie.
Warto rzucić okiem na:
http://lwn.net/Articles/299483/ http://fedoraproject.org/wiki/Features/30SecondSt… http://fedoraproject.org/wiki/Features/20SecondSt…
Ale "normalne" przyspieszenie też robią.
Od 2009.0 jest wyraźnie zauważalne przyśpieszenie, chyba tłumaczyłem kiedyś news o tym.
Wpis odnaleziony i dodany link na końcu obecnego.
Czyli mam rozumieć że o ile kde zacznie działać (w 2009 nie działa mi poprawnie ani 3.5 ani 4) i przeniosę się na tą dystrybucję z 2008.1 powinienem to wyłączyć? bo mam autologowanie, więc ekranu logowania brak.
Najlepiej samemu sprawdzić jak ten mechanizm zachowa się na Twoim sprzęcie.
Nihil novi, panowie, w openSUSE czy Ubuntu (tutaj głowy nie daję) od lat tak się to robi
.
A Upstart może to jeszcze ułatwić, uruchamiając usługi bez zależności równolegle.
Ot tak sympatyczna zmiana. Zawsze to krótszy czas oczekiwania na X-y
.
Co nie zmienia faktu, że suse uruchamia się potwornie długo.
Skrypty startowe, optymalizacje kompilatora… Masa czynników. Okrutnie ciężko je prześledzić.
Użycie kabla do głośników za 1000zł też daje wrażenie lepszej jakości dźwięku.
akurat te kable dają lepszy dźwięk, a nie samo wrażenie, bo słuchacz zna cenę i stara się to lepsze brzmienie usłyszeć
polecam przejście sie na kilka wykładów z elektroniki czy CPS…
Nie wiem, czy dokładnie to chciałeś napisać, ale trafiłeś w sedno. Gdyby nie znał ceny, to by w życiu nie usłyszał tego lepszego brzmienia, ale jeśli coś tyle kosztuje to głębia basów jest co najmniej dwa razy głębsza
.
@mario
trafna uwaga
Fajnie by było, gdyby panowie z Mandrivy wzięli się naprawę tego, co powinno być najmocniejszą stroną Linuksa: obsługa sieci. Jak dla mnie, niewybaczalny jest fakt częstego zawieszania się Mandrivy 2009 podczas pracy na plikach umieszczonych na dysku podłączonym do routera. Co ciekawe router udostępnia pliki przez Sambę, a więc linuksowy serwer. Korzystając z Mandrivy + Gnome system zawiesza się co jakiś czas, ale KDE4 już przy próbie połączenia wywala error (przynajmniej cały system się nie wiesza)…
Sprawdź czy błąd został już zgłoszony, może są nawet poprawione paczki, a jak nie, to możesz zgłosić.
http://wiki.mandriva.com/pl/Bugzilla https://qa.mandriva.com/
Regularnie aktualizuję system, więc gdyby paczki zostały poprawione, na pewno by się zainstalowały. Ale tu chodzi o coś innego. Ja rozumiem, że klient samby się zawiesi, otwarte okno Nautilusa przestanie odpowiadać, albo jakaś inna "pierdółka", ale żeby cały system zawieszał się? Takich jaj to nawet Windows mi nie robi…
To nie mam pomysłu. Trudno mi coś o tym powiedzieć, bo nie korzystam z tej funkcjonalności. Ale mam wrażenie, że gdyby to był powszechny problem, to by coś z tym zrobili (tak, Mandriva jest znana z tego, że czasem jakieś takie zonki się przecisną do wydania finalnego, za mało testerów i za wiele zmian na ostatnią chwilę). Może chociaż w Erracie coś o tym piszą?
Nie rozumiem dlaczego niektórzy tak alergicznie reagują na próby inżynierów Mandrivy. Osobiście jestem uprzedzony do tej dystrybucji i jej nie używam, ale nie zmienia to faktu, że ucieszył mnie ten news. Wreszcie coś się rusza na szeroką skalę jeżeli chodzi o profesjonalne, metodyczne przyspieszanie (startu) systemu. Fedora pracuje nad swoimi pomysłami, Suse i Ubuntu też, teraz dołączyła do nich Mandriva. Za jakiś czas okaże się kto miał najlepsze rozwiązania i takie się przyjmą "ogólnie" z korzyścią dla wszystkich. Już teraz podobno w Ubuntu chcą zastosować niektóre rozwiązania z Fedory, więc widać, że ten mechanizm działa. Jeżeli się okaże, że rozwiązanie zastosowane w Mandrivie nie przypadnie ludziom do gustu to po prostu wyląduje w koszu, albo ktoś inny to weźmie i zrobi lepiej. Na tym polega potęga Open Source
To rozwiązanie z Mandrivy może okazać się po prostu nieprzydatne jeśli już teraz są dystrybucje (Moblin od Intela) startujące w mniej niż 10 sekund (do środowiska graficznego, bootchart jest trochę dłuższy). ZTCW to 2.6.29 ma jakieś optymalizacje w tym względzie.