Analyse du boot Le sujet est résolu

Demande d'aide : c'est ici.
Répondre
Avatar de l’utilisateur
LuX
Membre
Membre
Messages : 31
Inscription : 23 sept. 2017, 23:10
Status : Hors-ligne

Bonjour à tous !

Sur suggestion de DbFr871, j'ouvre ici une nouvelle file de message sur le temps de démarrage. J'ai découvert dans sa file les fonctionnalités de systemd-analyze, ce qui m'a permis d'obtenir les infos suivantes.

Code : Tout sélectionner

$ systemd-analyze time
Startup finished in 4.351s (kernel) + 9.394s (userspace) = 13.746s
Il faut ajouter 10s pour le bios, mais c'est un bon score pour un vieux PC (acheté 30€ avec windows XP). :icon_wink:

Code : Tout sélectionner

$ systemd-analyze critical-chain
The time after the unit is active or started is printed after the "@" character.
The time the unit takes to start is printed after the "+" character.

graphical.target @9.384s
└─multi-user.target @9.384s
  └─exim4.service @8.661s +723ms     <---- rouge
    └─network-online.target @8.656s
      └─NetworkManager-wait-online.service @1.260s +7.395s     <---- rouge
        └─NetworkManager.service @1.071s +184ms     <---- rouge
          └─dbus.service @952ms
            └─basic.target @946ms
              └─sockets.target @946ms
                └─dbus.socket @946ms
                  └─sysinit.target @943ms
                    └─sys-fs-fuse-connections.mount @2.454s +10ms     <---- rouge
                      └─systemd-modules-load.service @125ms +136ms     <---- rouge
                        └─systemd-journald.socket @119ms
                          └─-.mount @101ms
                            └─system.slice @115ms
                              └─-.slice @101ms
Note : Ne sachant pas comment colorer une ligne dans la balise "code", j'indique par des flèches les lignes en rouge dans la sortie de la commande ci-dessus.

Graphiquement, ça donne :
Image

Par rapport à la première version de ce post (que j'ai modifié après plusieurs redémarrages), j'ai plus ou moins compris quelques trucs. En résumé :

Tout indique que le démarrage réseau, qui prend à lui seul la moitié du temps de boot, est la seule étape critique. Pour ce démarrage j'avais désactivé wicd.service puisque je n'utilise pas le wifi, donc je suppose que c'est uniquement eth0 qui est en cause. Mais est-ce normal ou pas ? That's the question...

À votre avis ?
LuX
----------
Debian9.1Stretch - 64bits - Intel Core 2 Duo E7300 2.66GHz - SSD 120G - RAM 2G
Avatar de l’utilisateur
LuX
Membre
Membre
Messages : 31
Inscription : 23 sept. 2017, 23:10
Status : Hors-ligne

Je me réponds à moi-même : il semble que NetwokManager soit hyper-lent par rapport à wicd. Or ce dernier gère aussi bien les interfaces sans fil que filaire.

J'avais d'abord pensé à un conflit entre les deux, mais comme je l'ai dit dans mon post précédent après 'systemctl disable wicd' et redémarrage, le temps de boot était le même.

Alors j'ai fait l'inverse :

Code : Tout sélectionner

$ systemctl enable wicd
$ systemctl disable NetworkManager

Puis redémarrage et là, surprise :

Code : Tout sélectionner

$ systemd-analyze time
Startup finished in 4.338s (kernel) + 2.016s (userspace) = 6.355s
Vraiment pas mal du tout comme temps de démarrage ! :040:

Comme quoi c'est super-utile, cette analyse du boot par systemd. J'en profite d'ailleurs pour signaler ici la commande suivante, qui met bien en avant les principaux freins :

Code : Tout sélectionner

$ systemd-analyse blame
          7.395s NetworkManager-wait-online.service
           723ms exim4.service
           543ms dev-sda3.device
           310ms keyboard-setup.service
           243ms accounts-daemon.service
           184ms NetworkManager.service
           179ms ModemManager.service
           156ms udisks2.service
           141ms upower.service
           ... (sortie tronquée) ...

Bien sûr la sortie ci-dessus c'était avant que je ne désactive NetworkManager. Maintenant, la première ligne a disparu.
LuX
----------
Debian9.1Stretch - 64bits - Intel Core 2 Duo E7300 2.66GHz - SSD 120G - RAM 2G
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

@LuX et aux autres,

Salut,

très intéressant tout ça ...

Mon système me répond :

Code : Tout sélectionner

$ systemd-analyze time
Startup finished in 8.180s (kernel) + 15.699s (userspace) = 23.879s


$ systemd-analyze blame
          7.684s wicd.service
          ......

je crois que je vais avoir de quoi m'amuser pour améliorer tout ça :001:
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
LuX
Membre
Membre
Messages : 31
Inscription : 23 sept. 2017, 23:10
Status : Hors-ligne

J'imagine que tu as essayé la manip' inverse de la mienne pour voir : désactiver wicd et activer NetworManager...
Ce serait marrant que ça produise l'effet contraire chez toi et chez moi ! :icon_razz:
LuX
----------
Debian9.1Stretch - 64bits - Intel Core 2 Duo E7300 2.66GHz - SSD 120G - RAM 2G
Avatar de l’utilisateur
DbFr871
Membre très actif
Membre très actif
Messages : 1140
Inscription : 17 mai 2016, 20:48
Localisation : Nègrepelissien
Contact :
Status : Hors-ligne

Bonjour :icon_biggrin:

Je pense faire comme Toi, LuX, installer wicd, désativer networkmanager, et... mesurer ! :wink:
Cordialement,
Bernard
Debian9.1Stretch-XFCE-64bits-Sony-Vaio,Intel-P8400-2.26GHz,DD-SeagateSSHD500Go,GeForce9300M-GS-256Mo
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5054
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,
Ce n'est pas "nécessairement" le logiciel qui est le fautif, ça peut être sa configuration...
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Avatar de l’utilisateur
DbFr871
Membre très actif
Membre très actif
Messages : 1140
Inscription : 17 mai 2016, 20:48
Localisation : Nègrepelissien
Contact :
Status : Hors-ligne

lol a écrit : 19 oct. 2017, 10:07 Salut,
Ce n'est pas "nécessairement" le logiciel qui est le fautif, ça peut être sa configuration...
.
Lol, je suis preneur, s'il y a un tuto ou voui-qui, qui explique comment paramétrer ces paquets installés, que le système a installé et paramétré à sa main...

il y en a des tutos ou voui-qui ?
Cordialement,
Bernard
Debian9.1Stretch-XFCE-64bits-Sony-Vaio,Intel-P8400-2.26GHz,DD-SeagateSSHD500Go,GeForce9300M-GS-256Mo
Avatar de l’utilisateur
LuX
Membre
Membre
Messages : 31
Inscription : 23 sept. 2017, 23:10
Status : Hors-ligne

DbFr871 a écrit : il y en a des tutos ou voui-qui ?
Je pense qu'il y en a plutôt trop, le problème est de s'y retrouver et surtout de les comprendre... Venant d'Arch Linux, je connais mieux leur wiki qui est plutôt bien fait. La version anglaise est toujours beaucoup plus complète que la version française. Peut-être la doc de Debian permet-elle d'en savoir davantage, mais à mon avis les infos ci-dessous valent pour toute distribution.

Sur leur wiki pour wicd on trouve ce conseil :
Warning: Running multiple network managers will cause problems, so it is important to disable all other network management daemons.

Sur celui pour NetworkManager on trouve aussi ceci :
NetworkManager has a global configuration file at /etc/NetworkManager/NetworkManager.conf. Usually no configuration needs to be done to the global defaults.
Ce que je traduirais librement par : si vous n'êtes pas un expert de systemd et des processus de connexion réseau, n'essayez pas de configurer quoi que ce soit pour NetworkManager.

Mais on y trouve aussi cela :
If you have services which fail if they are started before the network is up, you may use NetworkManager-wait-online.service in addition to NetworkManager.service. This is, however, rarely necessary because most networked daemons start up okay, even if the network has not been configured yet.
Dans mon cas c'est le service NetworkManager-wait-online qui retardait le démarrage. Si ça se trouve, j'aurais pu laisser NetworkManager et juste désactiver NetworkManager-wait-online (ainsi que wicd), et ça aurait marché aussi bien.

---- EDIT ----
J'ai testé, et en effet c'est aussi rapide.
Précision : Activer le service NetworkManager active en même temps NetworkManager-wait-online. Si on veut désactiver ce dernier, il faut donc le faire séparément.
------------------
LuX
----------
Debian9.1Stretch - 64bits - Intel Core 2 Duo E7300 2.66GHz - SSD 120G - RAM 2G
Avatar de l’utilisateur
LuX
Membre
Membre
Messages : 31
Inscription : 23 sept. 2017, 23:10
Status : Hors-ligne

Pour ceux que ça intéresse, voici l'analyse complète du temps de boot par systemd chez moi. À comparer avec ce qui se lance chez vous pour repérer les trucs peut-être superflus (ou pas...). :icon_wink:

Code : Tout sélectionner

$ systemd-analyze blame
           934ms exim4.service
           592ms wicd.service
           508ms dev-sda3.device
           352ms ModemManager.service
           306ms accounts-daemon.service
           253ms keyboard-setup.service
           234ms systemd-logind.service
           220ms speech-dispatcher.service
           192ms lm-sensors.service
           148ms systemd-fsck@dev-disk-by\x2dlabel-archive.service
           145ms systemd-fsck@dev-disk-by\x2duuid-d92d385d\x2d4ac3\x2d416c\x2da4e2\x2d37d549bd8c51.service
           142ms systemd-udev-trigger.service
           134ms upower.service
           132ms systemd-modules-load.service
           116ms systemd-timesyncd.service
           112ms rtkit-daemon.service
           106ms avahi-daemon.service
            98ms hddtemp.service
            97ms networking.service
            97ms systemd-udevd.service
            95ms systemd-journald.service
            88ms udisks2.service
            81ms lightdm.service
            77ms colord.service
            65ms rsyslog.service
            60ms polkit.service
            60ms alsa-restore.service
            60ms minissdpd.service
            57ms systemd-user-sessions.service
            53ms user@792400015.service
            51ms user@118.service
            51ms pppd-dns.service
            37ms systemd-tmpfiles-setup-dev.service
            37ms users.mount
            33ms mnt-snap\x2drw.mount
            33ms dev-sda4.swap
            28ms systemd-journal-flush.service
            25ms systemd-remount-fs.service
            24ms systemd-tmpfiles-setup.service
            19ms systemd-random-seed.service
            15ms dev-hugepages.mount
            15ms kmod-static-nodes.service
            14ms systemd-sysctl.service
            14ms sys-kernel-debug.mount
            13ms systemd-update-utmp.service
            12ms console-setup.service
            10ms systemd-update-utmp-runlevel.service
             9ms dev-mqueue.mount
             6ms sys-fs-fuse-connections.mount
             4ms mnt-snap\x2dro.mount
LuX
----------
Debian9.1Stretch - 64bits - Intel Core 2 Duo E7300 2.66GHz - SSD 120G - RAM 2G
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5054
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Très intéressant, merci!
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Avatar de l’utilisateur
DbFr871
Membre très actif
Membre très actif
Messages : 1140
Inscription : 17 mai 2016, 20:48
Localisation : Nègrepelissien
Contact :
Status : Hors-ligne

LuX a écrit : 20 oct. 2017, 10:42...
Mais on y trouve aussi cela :
If you have services which fail if they are started before the network is up, you may use NetworkManager-wait-online.service in addition to NetworkManager.service. This is, however, rarely necessary because most networked daemons start up okay, even if the network has not been configured yet.
Dans mon cas c'est le service NetworkManager-wait-online qui retardait le démarrage. Si ça se trouve, j'aurais pu laisser NetworkManager et juste désactiver NetworkManager-wait-online (ainsi que wicd), et ça aurait marché aussi bien.
.
je me suis "servi" de cette phrase pour désactiver "attend en ligne" :icon_biggrin: et voici le résultat :
avant désactivation :
Startup finished in 32.815s (kernel) + 21.602s (userspace) = 54.417s

après désactivation :
Startup finished in 32.817s (kernel) + 13.339s (userspace) = 46.157s
près de 8 s !

je vais voir q'il y a des incidences à la désactivation de ce service...
sinon, il restera désactivé :icon_biggrin:

Merci pour tes retours d'info, que je prends le temps de "digérer"... n'ayant pas toujhours la tête à "ça "... :icon_e_surprised: :icon_biggrin:
Cordialement,
Bernard
Debian9.1Stretch-XFCE-64bits-Sony-Vaio,Intel-P8400-2.26GHz,DD-SeagateSSHD500Go,GeForce9300M-GS-256Mo
Avatar de l’utilisateur
DbFr871
Membre très actif
Membre très actif
Messages : 1140
Inscription : 17 mai 2016, 20:48
Localisation : Nègrepelissien
Contact :
Status : Hors-ligne

LuX a écrit : 20 oct. 2017, 10:47 Pour ceux que ça intéresse, voici l'analyse complète du temps de boot par systemd chez moi. À comparer avec ce qui se lance chez vous pour repérer les trucs peut-être superflus (ou pas...). :icon_wink:

Code : Tout sélectionner

$ systemd-analyze blame
           934ms exim4.service
           592ms wicd.service
           508ms dev-sda3.device
           352ms ModemManager.service
           306ms accounts-daemon.service
           253ms keyboard-setup.service
           234ms systemd-logind.service
           220ms speech-dispatcher.service
           192ms lm-sensors.service
           148ms systemd-fsck@dev-disk-by\x2dlabel-archive.service
           145ms systemd-fsck@dev-disk-by\x2duuid-d92d385d\x2d4ac3\x2d416c\x2da4e2\x2d37d549bd8c51.service
           142ms systemd-udev-trigger.service
           134ms upower.service
           132ms systemd-modules-load.service
           116ms systemd-timesyncd.service
           112ms rtkit-daemon.service
           106ms avahi-daemon.service
            98ms hddtemp.service
            97ms networking.service
            97ms systemd-udevd.service
            95ms systemd-journald.service
            88ms udisks2.service
            81ms lightdm.service
            77ms colord.service
            65ms rsyslog.service
            60ms polkit.service
            60ms alsa-restore.service
            60ms minissdpd.service
            57ms systemd-user-sessions.service
            53ms user@792400015.service
            51ms user@118.service
            51ms pppd-dns.service
            37ms systemd-tmpfiles-setup-dev.service
            37ms users.mount
            33ms mnt-snap\x2drw.mount
            33ms dev-sda4.swap
            28ms systemd-journal-flush.service
            25ms systemd-remount-fs.service
            24ms systemd-tmpfiles-setup.service
            19ms systemd-random-seed.service
            15ms dev-hugepages.mount
            15ms kmod-static-nodes.service
            14ms systemd-sysctl.service
            14ms sys-kernel-debug.mount
            13ms systemd-update-utmp.service
            12ms console-setup.service
            10ms systemd-update-utmp-runlevel.service
             9ms dev-mqueue.mount
             6ms sys-fs-fuse-connections.mount
             4ms mnt-snap\x2dro.mount
.
comparée à la mienne, tu as 7 lignes en moins... :017:

ah... il y a de quoi faire... :wink:
Cordialement,
Bernard
Debian9.1Stretch-XFCE-64bits-Sony-Vaio,Intel-P8400-2.26GHz,DD-SeagateSSHD500Go,GeForce9300M-GS-256Mo
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5054
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

DbFr871 a écrit : 20 oct. 2017, 11:51comparée à la mienne, tu as 7 lignes en moins... :017:
ah... il y a de quoi faire... :wink:

Attention, le mieux est parfois l’ennemi du bien.
Ne pas retirer des services essentiels par mégarde...
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
--gilles--
Membre actif
Membre actif
Messages : 526
Inscription : 24 août 2016, 19:35
Localisation : Gnome 43 - debian 12
Status : Hors-ligne

Code : Tout sélectionner

$ systemd-analyze time
Startup finished in 5.711s (kernel) + 24.416s (userspace) = 30.128s

Code : Tout sélectionner

$ systemd-analyze blame
         31.224s apt-daily.service
         11.147s apt-daily-upgrade.service
          9.671s NetworkManager-wait-online.service
          5.350s keyboard-setup.service
          3.936s dev-mapper-tapez\x2d\x2dici\x2d\x2dvos\x2d\x2dcommandes\x2d\x2dvg\x2droot.device
          2.864s networking.service
          2.671s NetworkManager.service
          2.615s ModemManager.service
          2.420s accounts-daemon.service
          2.122s speech-dispatcher.service
          1.960s systemd-logind.service
          1.914s rsyslog.service
          1.905s pppd-dns.service
          1.708s avahi-daemon.service
          1.611s lvm2-monitor.service
          1.373s colord.service
          1.342s systemd-udevd.service
          1.300s systemd-fsck@dev-disk-by\x2duuid-81084f91\x2da0b7\x2d4cba\x2da884\x2dd6222832306f.service
          1.212s systemd-fsck@dev-mapper-tapez\x2d\x2dici\x2d\x2dvos\x2d\x2dcommandes\x2d\x2dvg\x2dvar.service
          1.097s systemd-fsck@dev-mapper-tapez\x2d\x2dici\x2d\x2dvos\x2d\x2dcommandes\x2d\x2dvg\x2dtmp.service
           898ms systemd-tmpfiles-setup-dev.service
           880ms home.mount
           833ms binfmt-support.service
           807ms systemd-modules-load.service
           765ms var.mount
           740ms tmp.mount
           692ms systemd-fsck@dev-mapper-tapez\x2d\x2dici\x2d\x2dvos\x2d\x2dcommandes\x2d\x2dvg\x2dhome.service
           576ms systemd-tmpfiles-setup.service
           545ms packagekit.service
           540ms polkit.service
           500ms proc-sys-fs-binfmt_misc.mount
           469ms boot.mount
           455ms dev-mapper-tapez\x2d\x2dici\x2d\x2dvos\x2d\x2dcommandes\x2d\x2dvg\x2dswap_1.swap
           372ms wpa_supplicant.service
           335ms user@116.service
           321ms systemd-remount-fs.service
           306ms dev-mqueue.mount
           288ms dev-hugepages.mount
           286ms sys-kernel-debug.mount
           257ms systemd-sysctl.service
           240ms systemd-journal-flush.service
           238ms rtkit-daemon.service
           206ms alsa-restore.service
           201ms systemd-random-seed.service
           171ms systemd-journald.service
           158ms systemd-user-sessions.service
           152ms systemd-timesyncd.service
           146ms gdm.service
           145ms upower.service
           134ms udisks2.service
lines 1-50
C'est la mise à jour automatique qui prend du temps à chaque démarrage chez moi : apt-daily.service apt-daily-upgrade.service, mais cela ne me dérange pas.
Parler de liberté n'a de sens qu'à condition que ce soit la liberté de dire aux gens ce qu'ils n'ont pas envie d'entendre. Eric Blair, George Orwell
Avatar de l’utilisateur
LuX
Membre
Membre
Messages : 31
Inscription : 23 sept. 2017, 23:10
Status : Hors-ligne

@Gilles : Je ne comprends comment ton temps de boot peut être de 30s d'après la sortie avec 'time', alors que les trois premiers services de la sortie avec 'blame' totalisent déjà plus de 50s. :icon_question:

Sinon, moi aussi j'ai ces services apt-daily* qui se lancent et qui sont nettement plus longs, mais pas à chaque fois. Je n'avais pas trop regardé ça jusqu'ici. J'imagine qu'ils servent aux mises à jour, mais je ne sais pas exactement s'ils sont nécessaire ou pas : si c'est juste pour avoir des notifications, je préférerais m'en passer et faire les mises à jour à la main de temps en temps. Mais peut-être est-ce une erreur ?

Est-ce que quelqu'un saurait où on peut trouver la liste des services lancés par défaut par Stretch, et à quoi ils servent ?

Sur https://debian-facile.org/doc:system:sy ... -demarrage la sortie de 'systemd-analyze blame' ne contient ni service 'apt-daily* ni 'NetworkManager-wait-online'. Mais la page date de 2015, donc avant Stretch.
LuX
----------
Debian9.1Stretch - 64bits - Intel Core 2 Duo E7300 2.66GHz - SSD 120G - RAM 2G
--gilles--
Membre actif
Membre actif
Messages : 526
Inscription : 24 août 2016, 19:35
Localisation : Gnome 43 - debian 12
Status : Hors-ligne

Cela doit devoir dire qu'il ne s'agit pas de la durée correspondante de chaque étape, mais le temps écoulé.



152ms systemd-timesyncd.service
146ms gdm.service
145ms upower.service
134ms udisks2.service
lines 1-50


Pour moi, je l'interprète ainsi : de 0 à 134 ms udisks2.service, de 134 ms à 145 ms 145ms upower.service, de 145 à 146 ms gdm.service etc jusqu'à 11.147s apt-daily-upgrade.service 31.224s apt-daily.service

Avec
# systemctl list-units -a en appuyant sur la barre d'espacement pour les faire défiler, tu as tous les services ou "Units" possibles, activés ou non, disponibles ou non, mais pas dans l'ordre du démarrage. Et pour satisfaire ton besoin de rapidité, il y en a beaucoup qui sont soit indisponibles (not-found) soit inactivés donc pas démarrés !
Parler de liberté n'a de sens qu'à condition que ce soit la liberté de dire aux gens ce qu'ils n'ont pas envie d'entendre. Eric Blair, George Orwell
Avatar de l’utilisateur
DbFr871
Membre très actif
Membre très actif
Messages : 1140
Inscription : 17 mai 2016, 20:48
Localisation : Nègrepelissien
Contact :
Status : Hors-ligne

lol a écrit : 20 oct. 2017, 12:40
DbFr871 a écrit : 20 oct. 2017, 11:51comparée à la mienne, tu as 7 lignes en moins... :017:
ah... il y a de quoi faire... :wink:

Attention, le mieux est parfois l’ennemi du bien.
Ne pas retirer des services essentiels par mégarde...
.
C'est une vieille amie... la mégarde... aussi, j'en prends garde... :icon_biggrin:
Cordialement,
Bernard
Debian9.1Stretch-XFCE-64bits-Sony-Vaio,Intel-P8400-2.26GHz,DD-SeagateSSHD500Go,GeForce9300M-GS-256Mo
Avatar de l’utilisateur
LuX
Membre
Membre
Messages : 31
Inscription : 23 sept. 2017, 23:10
Status : Hors-ligne

--gilles-- a écrit : 20 oct. 2017, 15:42 Cela doit devoir dire qu'il ne s'agit pas de la durée correspondante de chaque étape, mais le temps écoulé.
Tu as sûrement raison : les tâches doivent s'effectuer en parallèle, et la durée totale n'est donc pas la somme des durées de chaque tâche.
Marrant de le "voir" par cette commande... :icon_smile:
--gilles-- a écrit : 20 oct. 2017, 15:42 # systemctl list-units -a en appuyant sur la barre d'espacement pour les faire défiler, tu as tous les services ou "Units" possibles, activés ou non, disponibles ou non, mais pas dans l'ordre du démarrage.
Oui, mais ce serait bien d'avoir une page de wiki qui explique à quoi servent ces "units", lesquelles sont indispensables et lesquelles ne le sont pas. Histoire de se garder de la "mégarde"... :icon_wink:
LuX
----------
Debian9.1Stretch - 64bits - Intel Core 2 Duo E7300 2.66GHz - SSD 120G - RAM 2G
Répondre