Page 1 sur 1

[boot]optimiser le temps de boot(en cours)

Publié : jeu. 03 sept. 2009, 11:01
par ren0.
Bonjour,

Je souhaiterais optimiser le temps de boot de mon Arch(qui en est à 21 secondes pour le moment).

En me renseignant, j'ai lu qu'on pouvait modifier le sysinit de façon à commenter tout ce qui concerne RAID, les LVM et les partitions cryptées, j'ai donc commentés toutes ces lignes (y'en avait un fameux paquet).

J'ai aussi lu que modifier les HOOKS du mkinitcpio.conf pouvait faire gagner du temps(ne laisser que son contrôleur de disque, mettre le type de filesystem dans MODULES et ôter filesystem des HOOKS) !

Déjà à ce stade, j'ai un doute sur mon contrôleur de disque, voilà ce qu'en dit lspci(je pencherais pour SATA, mais pourquoi lspci me parle d'IDE aussi alors ?) :

Code : Tout sélectionner

00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA AHCI Controller (rev 04)
Voilà ce que hwdetect dit :

Code : Tout sélectionner

hwdetect --show-{pata,sata,scsi}
PATA   : ata_piix 
SATA   : ahci ata_piix 
SCSI   : scsi_mod sd_mod sr_mod st 
Et finalement ce que lsmod en pense :

Code : Tout sélectionner

ext4                  256304  2 
mbcache                 8980  1 ext4
jbd2                   69088  1 ext4
crc16                   2096  1 ext4
sr_mod                 19460  0 
cdrom                  41288  1 sr_mod
sd_mod                 30696  4 
ata_piix               27572  0 
ata_generic             6164  0 
pata_acpi               5744  0 
ahci                   40992  3 
libata                192460  4 ata_piix,ata_generic,pata_acpi,ahci
scsi_mod              131736  4 sg,sr_mod,sd_mod,libata
Je ne sais donc pas quel est mon contrôleur de disque, ce qui est ennuyeux si je veux le garder dans mes HOOKS...

Autre chose, j'ai lu sur ce forum qu'on pouvait supprimer udev pour peu que les modules soient configurés correctement dans le rc.conf...J'ai aussi lu qu'on pouvait enlever autodetect, udevevents et udevd... Que pouvez vous me dire à ce sujet ? Je suppose que cela comporte des risques, non ?

Une autre piste que j'explore est la compilation d'un nouveau kernel. Cela apporterait-il un plus à mon temps de boot ?

Voyez-vous d'autres façons d'optimiser le temps de boot ?

Merci de votre aide !

Re: [boot]optimiser le temps de boot(en cours)

Publié : jeu. 03 sept. 2009, 11:57
par bennyboy
ren0. a écrit : Une autre piste que j'explore est la compilation d'un nouveau kernel. Cela apporterait-il un plus à mon temps de boot ?
Salut,

Désolé, je peux pas t'aider pour le reste mais je pense que sur un distib comme archlinux ce n'est pas une super bonne idée d'avoir un custom kernel parce que le noyau est quand même mis à jour régulièrement et donc tu dois recompiler pour chaque nouveau noyau ..... enfin j'avais essayé pour avoir un noyau temps réel et on m'a donné ce conseil donc je me permet de te le répeter ;-)

Bennyboy.

Re: [boot]optimiser le temps de boot(en cours)

Publié : jeu. 03 sept. 2009, 11:57
par tuxce
ren0. a écrit : En me renseignant, j'ai lu qu'on pouvait modifier le sysinit de façon à commenter tout ce qui concerne RAID, les LVM et les partitions cryptées, j'ai donc commentés toutes ces lignes (y'en avait un fameux paquet).
et tu as gagné combien ? 0.001 s ? ces lignes sont encapsulés dans des "if", elles ne sont de toutes façon pas exécutées (si tu n'as ni raid ni lvm bien sûr)
ren0. a écrit : J'ai aussi lu que modifier les HOOKS du mkinitcpio.conf pouvait faire gagner du temps(ne laisser que son contrôleur de disque, mettre le type de filesystem dans MODULES et ôter filesystem des HOOKS) !
[...]
Autre chose, j'ai lu sur ce forum qu'on pouvait supprimer udev pour peu que les modules soient configurés correctement dans le rc.conf...J'ai aussi lu qu'on pouvait enlever autodetect, udevevents et udevd... Que pouvez vous me dire à ce sujet ? Je suppose que cela comporte des risques, non ?
Je te conseille de lire http://wiki.archlinux.fr/install/mkinit ... figuration au minimum pour savoir ce que fait autodetect.
pour udev (udevevents ?), si tu connais les modules à charger, tu peux t'en passer.
ren0. a écrit : Une autre piste que j'explore est la compilation d'un nouveau kernel. Cela apporterait-il un plus à mon temps de boot ?
Je pense que avec udev, c'est les seuls moyens qui te permettent réellement de gagner quelque chose si tu te passes de l'initrd, le reste cumulée ne te fait gagner grand chose.
Mais comme le fait remarquer bennyboy, faut penser au temps de compilation...

Re: [boot]optimiser le temps de boot(en cours)

Publié : jeu. 03 sept. 2009, 12:21
par ren0.
tuxce a écrit :ren0. a écrit:
En me renseignant, j'ai lu qu'on pouvait modifier le sysinit de façon à commenter tout ce qui concerne RAID, les LVM et les partitions cryptées, j'ai donc commentés toutes ces lignes (y'en avait un fameux paquet).

et tu as gagné combien ? 0.001 s ? ces lignes sont encapsulés dans des "if", elles ne sont de toutes façon pas exécutées (si tu n'as ni raid ni lvm bien sûr)
Effectivement, je n'ai quasiment rien gagné, ce qui, comme tu le dis, semble normal puisque les instructions ne sont effectuées que si le test du if est positif (ce qui n'est pas le cas...).

Mais bon, ça ne fait pas de mal non plus.
tuxce a écrit :Je te conseille de lire http://wiki.archlinux.fr/install/mkinit ... figuration au minimum pour savoir ce que fait autodetect.
pour udev (udevevents ?), si tu connais les modules à charger, tu peux t'en passer.
Je l'ai déjà lu, mais je vais y retourner.

Pour info, la page n'existe pas encore, mais cette page là, oui : http://wiki.archlinux.fr/install/mkinit ... 46ebbc8110
tuxce a écrit :Je pense que avec udev, c'est les seuls moyens qui te permettent réellement de gagner quelque chose si tu te passes de l'initrd, le reste cumulée ne te fait gagner grand chose.
Mais comme le fait remarquer bennyboy, faut penser au temps de compilation...
Effectivement, je pense que vous avez raison (en outre, je déteste configurer le noyau...), je vais donc abandonner cette idée là...

Par contre, je vais me pencher sur udev.

Pour info, la discussion que j'ai lu à ce sujet est ici : http://forums.archlinux.fr/post17045.html#17045

Concernant mon type de disque, c'est quoi finalement ?

Re: [boot]optimiser le temps de boot(en cours)

Publié : jeu. 03 sept. 2009, 13:51
par tuxce
ren0. a écrit : Concernant mon type de disque, c'est quoi finalement ?
par exemple en regardant les répertoires /dev/disk/*

Code : Tout sélectionner

$ find /dev/disk/ -lname "*sda"
/dev/disk/by-id/ata-TOSHIBA_MK2051GSY_688BT0HAT
/dev/disk/by-id/scsi-SATA_TOSHIBA_MK2051G_688BT0HAT
/dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0
$ lspci | grep SATA
00:1f.2 SATA controller: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA AHCI Controller (rev 02)

Re: [boot]optimiser le temps de boot(en cours)

Publié : jeu. 03 sept. 2009, 21:47
par cycyx
Hmmm... Et mon premier post sur l'autre thread ne te fournit pas la solution ?

Re: [boot]optimiser le temps de boot(en cours)

Publié : ven. 04 sept. 2009, 19:05
par Vinvin
ren0. a écrit :en outre, je déteste configurer le noyau...
La compilation d'un kernel personnalisé permet de gagner un temps significatif au boot, et c'est instructif. Ça me donne l'impression de faire mes courses : « Je prendrais bien ce module-ci, et celui-là ... non, il n'a pas une bonne tête. » :mrgreen:

Un tutoriel intéressant : Compiler un kernel monolitique
Voir le logiciel kernel-sources de Wain.

Re: [boot]optimiser le temps de boot(en cours)

Publié : ven. 04 sept. 2009, 20:41
par ddup1
Installer bootchart aussi peut aider pour voir ce qui prend du temps.

Re: [boot]optimiser le temps de boot(en cours)

Publié : dim. 06 sept. 2009, 16:59
par ren0.
ddup1 a écrit :Installer bootchart aussi peut aider pour voir ce qui prend du temps.
Je l'ai déjà installé ;)

@Vinvin : je vais aller lire le tuto que tu m'as passé, même si je le répète, je n'aime pas configurer le noyau ^^
cycyx a écrit :Hmmm... Et mon premier post sur l'autre thread ne te fournit pas la solution ?
La solution, je ne sais pas, mais en tout cas, il m'aide bien.

Re: [boot]optimiser le temps de boot(en cours)

Publié : lun. 07 sept. 2009, 16:18
par cycyx
A priori, vu les modules chargés, ton disque est un disque dur IDE (PATA).