Comment accélérer le temps de démarrage d’Ubuntu lorsque vous trouvez une cause possible dans la sortie «dmesg»?

Après la mise à jour vers Ubuntu 16.04. le temps de démarrage est un peu plus long (plus de 10-15 secondes). J’ai regardé la sortie “dmesg” et trouvé ceci:

[ 23.882674] audit: type=1400 audit(1461650474.108:10): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/bin/evince" pid=644 comm="apparmor_parser" **[ 23.882682]** audit: type=1400 audit(1461650474.108:11): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/bin/evince//sanitized_helper" pid=644 comm="apparmor_parser" **[ 32.162714]** cgroup: new mount options do not match the existing superblock, will be ignored [ 32.777477] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 32.777480] Bluetooth: BNEP filters: protocol multicast 

J’ai supposé que le nombre sur le côté gauche de la sortie “dmesg” est time. Si je perds 9 secondes sur cette étape, que puis-je faire pour améliorer le temps de démarrage?

Systemd est responsable du processus de démarrage. Vous pouvez l’améliorer en désactivant certains services ou en essayant de corriger votre configuration. Pour vérifier combien de temps les services prennent dans votre processus de démarrage, vous pouvez exécuter:

 systemd-analyze blame 

Pour une vue graphique détaillée de votre procédure de démarrage, vous pouvez générer une image de tracé:

 systemd-analyze plot > bootimage 

Maintenant, vous pouvez ouvrir bootimage avec par exemple. eog ou une autre visionneuse d’images et vérifiez le temps que prennent les services (et, par exemple, l’arrêt du système lors du démarrage). Il ressemblera à ceci:

entrez la description de l'image ici

Comme nous pouvons le voir, par exemple, virtualbox.service prend 62 ms, ce qui est très agréable, mais monter mon disque F3 n’est pas si rapide. Je peux envisager de désactiver le assembly automatique (c’est un peu un mauvais exemple parce que systemd propose des services en mode parallèle et que ce service ne ralentit pas le démarrage, rien n’en dépend, mais voici comment cela fonctionne). (Dans votre sortie dmesg il y a quelque chose qui ne va pas avec les options de assembly. Vous pouvez vérifier dans /etc/fstab )

Si vous souhaitez désactiver n’importe quel service, il est bon de savoir si quelque chose d’autre n’utilise pas ce service en tant que dépendance. Vous pouvez le vérifier par exemple sur virtualbox.service, par exemple:

 systemctl list-dependencies virtualbox.service --reverse 

La sortie montre qu’il n’y a pas de fichiers de service associés. Donc, si je n’en ai pas besoin, je peux l’arrêter et le désactiver sans complications:

 sudo systemctl disable virtualbox.service --now 

Si certains services de votre système prennent beaucoup de temps à se charger, lisez ce qu’il fait exactement, puis essayez de réparer les fichiers de configuration associés ou si vous n’avez pas besoin de le désactiver.