Temps de boot : Windows vs Ubuntu GNU/Linux
Le dimanche 5 mars 2006 à 22:13 - Lien permanent
J'ai récemment prétendu que le boot était considérablement plus lent sous Linux (Ubuntu) que sous Windows, du moins sur l'ordinateur où j'ai fait ces tests. Voici les mesures précises. Bien entendu, ces résultats sont à prendre avec des pincettes, car il faudrait effectuer les tests sur plusieurs ordinateurs, mais ça fait quand-même un peu peur...
Protocole expérimental
Conditions du test : Portable Dell Inspiron 8500, Pentium 4-M à 2.2 GHz, 512 Mo de mémoire.
Le Linux : une installation de Kubuntu 05.10 « neuve » (i.e. sans rien de plus de les packages standards), dans laquelle j'ai cependant désactivé les services que je n'utilise pas (NFS, PCMCIA, etc.), ce qui permet de gagner quelques secondes sur le boot (combien exactement, je ne sais plus).
Le Windows : un Windows XP SP2, installé en décembre 2004, mais dans lequel je désactive les services inutiles (en éditant sauvagement la base de registres. Je sais, ce n'est pas un comportement standard, mais j'y reviendrai plus bas). J'ai fait les essais sur deux profils utilisateurs :
- gros profil où sont chargés : l'aide au chargement d'OpenOffice, Palm Hot Sync, ActiveSync, QuickTime, logiciel de synchro iPod, explorateur de réseaux WiFi, outils pour la carte graphique nVidia ;
- petit profil où sont chargés seulement : logiciel iPod, explorateur de réseaux WiFi, outils nVidia.
Les mesures : j'ai mesuré deux temps :
- Tboot : intervalle de temps entre le moment où Grub donne la main au chargeur de l'OS et l'apparition de la bannière de login ;
- Tdesktop : intervalle de temps entre la validation de son mot de passe et l'obtention d'un bureau utilisable. J'ai pris comme critère : avoir pu lancer Firefox, et pouvoir l'utiliser sans souci. Donc Tdesktop comprend le temps de chargement de Firefox (environ 6s sous Linux).
Résultats
Mesure | Linux | Windows gros profil | Windows petit profil |
---|---|---|---|
Tboot | 72 s | 36 s | 36 s |
Tdesktop | 29 s | 35 s | 9 s |
Total | 101 s | 71 s | 45 s |
Conclusions
- jusqu'à l'obtention de la bannière de login, Windows est précisément deux fois plus rapide que Linux ;
- le temps effectif de démarrage de Windows dépend fortement des programmes installés sur chaque profil. Je suppose que c'est un peu pareil sous Linux : si je veux charger KWifiManager dans mon profil, le temps de boot sera affecté.
En pratique, il est bien entendu que l'utilisateur lambda n'a pas les compétences, sous Windows, pour empêcher le chargement automatique des programmes inutiles, donc le temps de boot effectif risque d'être bien plus long que ce que j'ai mesuré. Sauf que l'on compare alors le chargement d'un Windows qui lance tout un tas de trucs inutiles avec un Linux qui ne charge que ses services de base ! Pour être honnête, les 101 secondes de chargement d'un Linux sont donc à comparer directement aux 45 secondes nécessaires pour charger un Windows petit profil...
Mon objectif n'est pas de casser du Linux (j'en suis un utilisateur régulier et passionné), mais je ne peux m'empêcher de dire, en ce qui concerne un boot de base : « peut mieux faire ! », du moins sur mon matériel. Un Linux minimal devrait pouvoir démarrer aussi vite qu'un Windows minimal. En ce qui concerne l'utilisation au quotidien par contre, je pense qu'un Linux sera beaucoup moins susceptible d'être « infesté » de programmes résidents inutiles, donc dans la pratique, la différence de temps est assez réduite. Imaginons néanmoins les performances au démarrage d'un Linux qui booterait aussi vite qu'un Windows, tout en restant dépourvu de bloatware...
Mais comme je le disais en introduction, il faudrait refaire les tests sur d'autres machines. Peut-être après tout que Linux est particulièrement lent sur ce portable en raison d'un problème de compatibilité matérielle...
Commentaires
Il faudrait effectivement refaire les tests sur une machine aprés 6 mois d'utilisation normale par exemple. Il est reconnu qu'avec le temps, Windows devient de moins en moins performant au démarrage, à cause d'une base de registre qui enfle (les désinstalleurs ne font pas toujours le ménage), de programmes additionnels installés etc...
Je ne suis pas moi meme utilisateur, mais j'ai lu que Ubuntu est particulièrement lent au démarrage et que ca devrait d'ailleurs etre corrigé dans une prochaine version.
Mais effectivement, il y a des améliorations possibles, personellement je suis pour l'abandon de l'init système V et les projets comme initng.
PS: Coucou christophe ;)
Il faut tout de même rappeler que Windows se base sur les paramètres du Bios de la machine pour charger les drivers materiel, sous linux le noyeau ne prend pas en compte le BIOS et refait toute la detection et la gestion du matos. Le bios sous linux n'est utile que pour Booter sur une partition. La compraison du temps de boot entre Linux et Windows n'est donc pas des plus pertinente, mais certains projets propose de charger une partie du noyeau linux dans le BIOS pour avoir une vitesse plus proche du boot Windows. (plus d'infos sur les phases de démarrage ici : www.linuxfranch-county.or...
Charger une partie du noyeau linux dans le bios : www.linuxbios.org/index.p...
ou
freebios.sourceforge.net/
Enfin, en ce qui concerne le chargement du bureau en lui même il y'a beaucoup de paramètre à prendre en compte mais c'est une longue discussion.
Deux solutions sont entrain de voir le jour pour corriger ce problème pinit qui est un surcouche de init -> sourceforge.net/projects/...
et initng qui remplace totalement init ->initng.thinktux.net/
Ces deux systèmes permettent de gérer les dépendances entre les différents services et de démarrer des tâches en parrallèles. Le problème d'initng est qu'il n'est pas compatible avec les scripts de démarage actuelle mais qu'il contient juste un script de configuration.
A mon avis il faudrait passer sur initng. Et les gens qui disent "T'as qu'as pas éteindre ton pc" se trompe... je passe 5 à 6 fois par jour de linux à windows... j'aime que ce soit rapide. Et j'aime aussi éteindre mon pc quand je ne l'utilise pas même pour une pause... je pense au petit oiseau lol
Alors moi, je tiens quand même à dire que Ubuntu c'est vraiment pas terrible parce que 101 secondes, c'est énorme. J'ai une bonne petite Debian et vu que je trouvais le chiffre que tu as mis assez impressionant. J'ai chronométré mon temps de démarrage :
27 secondes pr charger linux avec la console.
20 secondes pr charger le X avec gnome
Soit un total de 47 secondes. Je n'utilise pas initng ou autres truc du genre. Mon PC est un Pentium M 1,6 Ghz avec 512 Mo RAM donc moins bien que toi. Alors allez pas dire que Windows charge plus vite. C'est juste que vous utilisez une distrib de merde avec un noyau ultra modulaire et pas du tout optimisé pour votre machine et surtout que ubuntu vous met 30 milles paquets qui vous servent à rien. Je connais pas très bien cette distrib mais un exemple : mdadm qui sert à faire du RAID logiciel. A quoi cela peut-il bien servir sur un PC de bureau ?
Mon système Debian GNU/Linux démarre en 18 secondes (depuis grub jusqu'au mode console). Sachant que j'utilise le windowmanager wmii, qui démarre très vite, mon Linux est complètement démarré après 22 secondes.
Pour ca j'ai du virer le lancement automatique de services inutiles (par défaut ubuntu et un peu moins debian démarrent beaucoup de services inutiles), enlever tout les pilotes inutiles du kernel (en mettant tout les autres pilotes dont on a besoin en dur (plus rapide qu'en modules)) et installer initng.
Linux peut donc en fait etre bien plus rapide que windows au demarrage, meme si ca demande beaucoup de configuration.
Et en plus je peut etre sur que dans 6 mois il ne va pas mettre plus de temps que maintenant.
Ubuntu est à ma connaissance une des pires distributions en ce qui concerne le temps de démarrage avec une installation neuve...