Articles : Pour un démarrage plus rapide de Linux
Posté par Johann Ollivier-Lapeyre (page perso, ). Modéré le 23 septembre 2003.
Les vieilles critiques envers l'univers Linux pour le desktop trouvent petit à petit leurs réponses.
- Il n'y avait pas de suite office correcte ? Il y a maintenant OpenOffice et KOffice.
- Pas de navigateur web correct ? Mozilla, Konqueror et les dérivés sont désormais là....
- Pas de lecteur multimédia non préhistorique ? Xine et MPlayer sont venus nous sauver...
Mais, bizarrement, reste entre autres LE fameux problème du démarrage qui prend 3 h, et qui inciterait même presque à laisser le PC allumé 24h/24h juste pour lire ses courriels 1 fois par jour.
James Hunt d'IBM propose un article décrivant comment ce processus peut être accéléré en parallélisant ce qui est aujourd'hui fait en série.
Il apporte aussi des réponses aux problèmes posés : nécessité pour les admins d'un démarrage série, dépendances des services entre eux, compatibilité LSB...
Qu'en est-il maintenant au niveau des distributions ?
- Il n'y avait pas de suite office correcte ? Il y a maintenant OpenOffice et KOffice.
- Pas de navigateur web correct ? Mozilla, Konqueror et les dérivés sont désormais là....
- Pas de lecteur multimédia non préhistorique ? Xine et MPlayer sont venus nous sauver...
Mais, bizarrement, reste entre autres LE fameux problème du démarrage qui prend 3 h, et qui inciterait même presque à laisser le PC allumé 24h/24h juste pour lire ses courriels 1 fois par jour.
James Hunt d'IBM propose un article décrivant comment ce processus peut être accéléré en parallélisant ce qui est aujourd'hui fait en série.
Il apporte aussi des réponses aux problèmes posés : nécessité pour les admins d'un démarrage série, dépendances des services entre eux, compatibilité LSB...
Qu'en est-il maintenant au niveau des distributions ?
L'article d'IBM avec une implémentation (3384 hits)
> Lire la dépêche (140 commentaires, moyenne: 2).
Vous avez demandé le commentaire #273464.




Re: Pour un boot plus rapide de Linux
Il me semble que c'est plutôt un faux problème. Les machines servant de poste de travail n'ont pas besoin de 128 services à lancer démarrage et les serveurs qui peuvent avoir un nombre important de démons n'ont pas vocation à être rédémarrés tous les quarts d'heure.
Mais si l'on peut gagner quelques secondes supplémentaire, pourquoi pas.
[^]Re: Pour un boot plus rapide de Linux
En effet. Après nettoyage, lorsque seuls les démons nécessaires (sshd, lpd) sont laissés, ça démarre plus vite que quoi que ce soit d'autre (MacOS X est beaucoup plus long, en particulier).
Claws Mail - it bites!
[^]Re: Pour un boot plus rapide de Linux
Sans plus d'informations, ca sent le troll.
Il serait bon de preciser a service rendu égal (ce qui est très certainement le cas, sinon...).
[^]Re: Pour un boot plus rapide de Linux
perso je ense que si on est un peu débrouillard on peu diminuer drastiquement la durée du boot.
Par exemple pour la coupe de robotique de l'an dernier, j'avais fait ma propre distrib (enfin pas tout à fait, j'étais parti d'une rootfs uclibc voir http://galileo.ma.cx(...) ) et le robot etait pret et booté en 12-13 secondes (j'avais chronométré mais il est vrai que le seul vrai démon lancé était sshd).
J'avais aussi un peut tout optimisé dans ce but, mais on pouvait encore gagner 2 à 3 secondes à mon avis.
Archetype Javascript Framework : Faites le côté client!
[^]Re: Pour un boot plus rapide de Linux
C'est vrai que la durée de boot de Linux n'est pas si dramatique que ça par rapport à d'autre. Moi par exemple, le matin, il me faut bien 3/4 d'heure pour booter et cela sans même être sorti du lit !
[^]Re: Pour un boot plus rapide de Linux
Tout à fait d'accord, pour faire un parallèle, c'est pareil pour l'OS de Microsoft (par exemple Windows 2000), si on installe Active Directory, serveur DNS, DHCP...J'ai fait le test, la machine mettait une 1mn environ de plus à démarrer...Inversement, en ayant installé une Slack avec le minimum de services et avec un noyau configuré aux petits oignons, ça va assez vite...Tout est question de point de vue comme toujours :-))
Debian ... gentoo moi ça et vite :)
[^]Re: Pour un boot plus rapide de Linux
Moi ce que je trouve vraiment long c'est le : "calculating module dependencies". Ma solution est de compiler mon noyau seulement avec les modules dont j'ai besion.
On peut toujours compiler son noyau en statique aussi mais je sais pas trop pourquoi on recommande souvent de ne pas le faire
[^]Re: Pour un boot plus rapide de Linux
"The present kernel configuration has modules disabled"
Je suis très bien sans.
[^]Re: Pour un boot plus rapide de Linux
D'ailleurs le calculating module dependancies (un depmod -ae ... a priori) il pourrait se débrouiller pour ne pas le faire... en assumant qu'on l'a déjà fait auparavant non ?
Si chaque fois que je rajoute un module, ou compile un kernel, je "depmod -ae", pas besoin de rajouter cette étape à chaque boot...
[^]Re: Pour un boot plus rapide de Linux
Les modules
+ Ca permet de ne charger que le code nécessaire au moment ou on en a besoin. (moins de mémoire)
+ Ca permet d'installer de nouveaux drivers sans rebooter et sans tout recompiler.
- Si un intrus parvient a être root, il peut charger un module et executer du code en kernel mode, et il peut vraiment foutre la m.... tout en restant quasi-invisible. (rien dans la liste des processus, ...)
Donc, des + et des - ...
[^]Re: Pour un boot plus rapide de Linux
Oui, mais c'est vrai qu'il y a des trucs pénibles: par exemple si tu as un speedtouch (modem adsl usb), tu es obligé d'attendre toute la procédure de chargement du noyau, puis de la synchronisation et enfin de la connexion, avant que le boot puisse continuer.
[^]Re: Pour un boot plus rapide de Linux
Fallait prendre un speedtouch home (ethernet), je le fais se connecter en tâche de fond, même s'il n'arrive pas à se connecter ça ne me ralentis pas mon démarrage (j'ai pas le net, mais c'est tout).
[^]Re: Pour un boot plus rapide de Linux
Oui, moi de toute façon maintenant j'ai une freebox :)
[^]Re: Pour un boot plus rapide de Linux
kool, mais ça coute combien de changer son speedtouch contre in ethernet ??
[^]Re: Pour un boot plus rapide de Linux
Je n'ai pas 128 services mais il est clair que je rale à chaque fois que je redémarre, surtout quand je sais que le Windows XP d'à coté fait ça super rapidement.
Ce n'est pas un problème bloquant (attendre meme 5 minutes au démarage c'est pas dramatique), mais c'est une gêne réelle .
Pas besoin de sortir des arguments "objectifs" comme le nombre de services et la fréquence de redémarage, une gêne c'est tout à fait subjectif. Elle existe à partir du moment où elle est ressentie, et toutes les démarches logiques n'y changeront rien.
Le fait est qu'elle existe cette gêneune gêne (au moins chez moi)
[^]Re: Pour un boot plus rapide de Linux
Le windows XP intègre déjà une parallélisation du chargement par rapport à win2k. Par contre, a priori, cette parallélisation, d'après ce que j'avais entendu dire, s'effectue au nivo du chargement des *drivers*. Pour ce qui est des services, aucune idée!
[^]Re: Pour un boot plus rapide de Linux
Je ne pense pas que ce soit un faux probleme:
- pour les particuliers en studio qui veulent dormir la nuit
- pour ceux qui ont un portable ou le suspend-to-disk ne fonctionne pas, un probleme assez répandu, je crois.
Les démarrages sont frequents et leeeennnnttt ce qui est pénible et donne une mauvaise impression de l'OS.
Si je me souviens bien, ma Mandrake 7.2 démarrait par défaut en 2 minutes (boot+démarrage de X et KDE) alors que BeOS mettait 20s pour faire la même chose!
J'avais pu atteindre 1m20 de temps de démarrage de Mdk en virant tous les services inutiles, mais c'etait quand meme assez penible: trouver la doc sur tous les daemons, etc.. pour un resultat tres mitigé.
Je trouve amusant que dans le papier d'IBM, ils proposent d'utiliser make pour résoudre les dépendances, alors que dans un papier de NetBSD qui explique leur systeme de demarrage, les auteurs disent qu'ils ne se sont pas servis de make pour éviter d'avoir a le mettre dans le /bin ce qu'ils considérent comme du "bloat"..
Je crois que Gentoo utilise aussi un systeme de demarrage par dependance, inspiré de celui de NetBSD.
[^]Re: Pour un boot plus rapide de Linux
Je trouve encore plus amusant le fait que simpleinit-smb est stable depuis longtemps, mais que, comme il n'est pas standard, il ne soit pas implémenté dans les distribs.
Même mon vieux Thinkpad PII 266 boote plus vite qu'une machine 10 fois plus rapide (en terme de CPU, et en terme de disque) avec simpleinit-smb.
Ce système est d'ailleurs plus rapide que celui de la gentoo, puisque ça boote environ deux fois plus vite sur la même machine.
En plus, niveau simplicité, c'est le jour et la nuit avec le reste, pour gérer les dépendances par exemple.
A part ça, ça parallélise tout ce qui est lancé dans un même niveau d'exécution.
[^]Re: Pour un boot plus rapide de Linux
plus de détails ? sais-tu comment ça marche ? quels sont les inconvénients ?
des liens ?
[^]Re: Pour un boot plus rapide de Linux
C'est quoi simpleinit-smb?
Une recherche Google ne donne rien..
[^]Re: Pour un boot plus rapide de Linux
Je pense qu'il l'a mal écrit, parce que par contre simpleinit-msb lui donne beaucoup de résultats.
[^]Re: Pour un boot plus rapide de Linux
A propos, il me semble qu'un serveur de fontes n'est pas obligatoire pour X. Pourtant toutes les distributions (enfin celles que j'ai essaye, et bon ca fait un moment deja) installent et lancent xfs. Alors a part l'usage de X a distance qui 'nest qd meme pas hyper repandu, je me demandait s'il y avait p-e un avantage a ca, en terme de perf par exemple? parce qu'a mes yeux c'est un service de plus qui sert a rien
[^]Re: Pour un boot plus rapide de Linux
A mon avis, ça fonctionne mieux sans.
C'est une des choses misérables dans les distribs.
Je ne comprends vraiment pas pourquoi ils font ça.
Et c'est toujours comme ça dans la dernière Mandrake.
[^]Re: Pour un boot plus rapide de Linux
La raison d'utiliser xfs c'est:
- c'est simple d'ajouter/retirer des chemins de fontes à xfs et de le relancer; plutôt que de modifier le fichier de config de XFree86 (avec le risque de tout casser en prime)
- ce n'est plus vrai actuellement, mais dans le temps le serveur X n'était pas multithread, la résolution des fonts bloquait tout l'écran quand les fontes étaient gerées par le serveur X, ce qui n'était pas le cas quand c'était xfs (un processus different); il y avait aussi le fait que dfes versions de xfs avec support pour fontes TTF existaient, mais pas pour le serveur X.
- je crois que c'est encore d'actualité: les grosses fontes (typiquemment, les fontes unicode et CJK) sont hyper-lentes à charger si *tous* les glyphes de la fonte sont calculés quand on l'ouvre; xfs a une option pour lui dire de ne pas le faire, de ne calculer les glyphes qu'à la demande.
L'utilisation de xfs avait de réelles raison d'être.
Un peu moins actuellement, mais de toutes façons l'utilisation de fontes X11 deviens de plus en plus archaïque, c'est Xft/fontconfig la voie à suivre.
Quand XFree86 incluera une émulation pour servir en fontes X11 les anciens programmes en utilisant de façon transparente Xft/fontconfig, alors l'utilisation de serveur de fontes pourra être desactivée.
Sinon, pour revenir au sujet de la nouvelle; je ne trouve pas la séquence de démarrage trop longue, ce qui l'est (pas necessairemment plus long, mais subjectivemment) c'est le lancemmen de X et du *dm; ainsi que le lancemment du bureau.
[^]Re: Pour un boot plus rapide de Linux
xfs n'a plus de raison d'être.
Ajouter/retirer des chemins de fontes ?
Ca se fait dynamiquement dans XFree depuis longtemps avec xset +fb, pas besoin de toucher quoi que ce soit comme fichier de conf. Mais c'est compliqué, mieux vaut fontconfig.
Et pour les fontes Unicode, j'ai pas remarqué de lenteurs.
Mais c'était pas opérationnel avant fontconfig, alors bon ...
Effectivement, j'ai trois desktops sur ma machine principale, alors c'est sûr que le démarrage de gdm et des DE sont longs.
[^]Re: Pour un boot plus rapide de Linux
100% d'accord que les machines clientes n'ont pas à charger le 5ème des démons qui sont lancés par défaut sur la plupart des distribs ; meme sshd (pour répondre à un autre intervenant) je comprend mal ce qu'il vient foutre sur une machine cliente...
Mais dans le fond, je trouve que c'est une très bonne idée de changer l'ensemble des démons à lancer au démérage d'une liste séquentielle à un bel arbre. Ce serait plus moderne. De meme pour le shutdown. Et puis ca permettrait toujours d'avoir le max de services fonctionnels en cas de salopage de config.