Comment améliorer la vitesse de démarrage?


67

J'ai vu de nombreuses vidéos qui rendent Ubuntu plus rapide, mais ces méthodes ne font que rendre les performances de bureau plus rapides.

Je cherche à accélérer le démarrage de mon ordinateur. Est-ce que je peux faire quelque chose pour que Ubuntu démarre plus rapidement?


5
Les systèmes qui utilisent systemd(depuis le 15.04 IIRC) sont livrés avec l’outil systemd-analyzequi peut vous aider à analyser quel processus prend combien de temps pour démarrer. Voir man systemd-analyzepour en apprendre davantage sur toutes ses options, le sur que vous allez probablement utiliser le plus est systemd-analyze blamebien.
Byte Commander

@ByteCommander Une réponse étape par étape fera le travail.
Anwar

Réponses:


28

En règle générale, moins le nombre de programmes chargés au démarrage est élevé, plus votre système devrait être rapide. Essayez BUM (à partir du centre logiciel) pour désactiver certains services inutiles et assurez-vous également qu'aucun programme inutile n'est installé et qu'il ne sera chargé lors du démarrage. Enfin, l’utilisation d’un lecteur SSD en tant que périphérique d’amorçage devrait permettre d’améliorer considérablement l’amorçage.

Oh, encore une chose, votre type de système de fichiers fait également une différence. EXT4 a subi certaines régressions de performances (selon phoronix), mais j'ai toujours trouvé que EXT4 était idéal pour un démarrage rapide.


vous pouvez ajouter quel service pourrait être désactivé et qui n'est pas utile normalement?
Philippe Gachoud

@PhilippeGachoud Je ne me souviens vraiment plus maintenant. C'est à partir de 2010!
RolandiXor

J'utilise un SSD compatible avec les versions antérieures et ma carte est SATA. Ca botte fou vite.
userepth du

17

Je viens de traverser cela l'autre jour. Son "e4rat" Instructions ici

Cette petite application est incroyable.

J'ai pris un sempron AMD à processeur unique surchargé fonctionnant à 2800+ qui démarre normalement Natty à 1,45 min à 27,885 secondes.

J'ai les tableaux de démarrage pour le prouver. C'est fou! entrez la description de l'image ici


1
Cela aide vraiment !!!
user12164

Plus de gens ont besoin de savoir sur e4rat, c'est un outil fantastique qui a apporté la plus grande amélioration de nombreux trucs et astuces.
Victor Bjelkholm

3
Est-il toujours légitime pour 12.04? J'ai entendu dire que cela causerait des problèmes d'ureadahead. Est-ce vrai?
user138784

@ user138784 si je comprends bien, c'est parce que ureadahead fait le même travail que l'e4rat, ce sont donc manifestement des conflits. Mais pour une raison quelconque, e4rat semble être mieux que d'ureadahead. Cela pourrait également être utile - pour une raison quelconque, l'e4rat ne fonctionne pas par défaut, il nécessite quelques modifications , sinon le fichier journal n'est pas créé.
Salut-Angel

e4rat n'a pas fonctionné en 16.04
Anwar

17

L'amélioration du temps de démarrage est étroitement liée à la désactivation / gestion du service, mais les réponses actuelles manquent de détails sur la désactivation des services utilisés systemd.

Qu'est-ce que systemd?

En bref, systemd est un gestionnaire de système et de service pour Linux, compatible avec les scripts d'initialisation SysV et LSB. Plus d'informations à ce sujet peuvent être lues sur la page officielle du projet .

Vérifiez quels services prennent le plus de temps

Utilisez la commande suivante pour vérifier quel service prend le plus de temps

systemd-analyze blame

Désactivation du démarrage automatique des services au démarrage

Si vous souhaitez désactiver le démarrage automatique des services lors du démarrage, vous pouvez utiliser la commande suivante

sudo systemctl disable some-time-eater-service.service --now

Cependant, vous voudrez peut-être voir quels autres services ont besoin du service en question. Pour vérifier, utilisez la commande suivante

systemctl list-dependencies some-time-eater-service.service --reverse

Remarque: remplacez some-time-eater-service.servicepar le nom du service actuel, tel que postgresql@9.5-main.service.

Notez que la désactivation du démarrage automatique ne rend pas un service non-démarrable. Le service peut être démarré après le démarrage lorsque les besoins l'exigent. Si vous voulez le désactiver complètement, lisez la section suivante

Désactiver complètement les services.

Si vous souhaitez désactiver complètement un service afin qu'il ne puisse pas être démarré, vous devez utiliser maskplutôt que désactiver. Comme ça

sudo systemctl mask <SERVICE-NAME>

Remplacez le <SERVICE-NAME>par le nom réel d'un service

La différence entre masket disableest masque rend un service complètement désactivé, vous ne pouvez pas le démarrer. Vous devez unmaskle démarrer avec systemd (vous pouvez toujours commencer avec service). Mais disabledésactivez simplement le démarrage automatique d'un service, vous pouvez le démarrer plus tard.

Par exemple, après avoir masqué mon postgresql@9.5-main.serviceservice, lorsque je voulais le démarrer, systemctlle message suivant s'affiche

Failed to start postgresql@9.5-main.service: Unit postgresql@9.5-main.service is masked.

Outil graphique

Un outil graphique que je trouve particulièrement intéressant est systemd-managerqu’il est encore en phase de développement et qu’il n’a pas encore été configuré pour accéder au référentiel officiel Ubuntu. Cependant, vous pouvez l'installer très facilement à partir de la page github de Systemd-Manager . Les versions contiennent un paquet .deb, très facile à installer. Vous avez cependant besoin de GTK-3.16 ou supérieur.

Une fois que vous téléchargez et installez, vous pouvez le démarrer avec la systemd-managercommande. Commencez le.

L'application a deux vues principales. L'un est Systemd Units et l'autre, Systemd Analyze . Vous pouvez le changer avec l'étiquette dans le coin supérieur gauche. Voir la capture d'écran.

Swithch entre les vues

Et il existe trois types d'unités que vous pouvez gérer. Services , sockets et minuteries . Vous pouvez basculer entre eux. Voir la capture d'écran.

Basculer entre les types d'unité

Affichage d'informations

Les trois principaux onglets sont Fichiers , Journal , Dépendances .

  • Fichiers est le fichier de configuration de l'unité sélectionnée.
  • Journal est la sortie du système actif tout en activant / désactivant / démarrant / arrêtant les unités
  • Dépendances indique quels autres services ou unités doivent être activés pour démarrer un service sélectionné.

Indicateurs d'état

Il y a deux colonnes à côté du nom des unités pour indiquer le statut. Celui de gauche indique si cette unité est activée pour démarrer au démarrage et celui de droite indique si cette unité est en cours de fonctionnement. Les voir en photo.

Activé au statut de démarrage

Statut en cours d'exécution

Interrupteurs de commande

Pour activer le statut d'activation ou de démarrage de toogle, deux boutons toogle se trouvent dans le coin supérieur droit. Activé signifie que les unités vont démarrer et démarrer. Les voir en photo.

Toogle commutateurs pour activer / démarrer

La vue complète de l'application est présentée ci-dessous

Vue complète

J'espère que cela aidera. Je bénéficie d’autres réponses concernant systemd, mais j’ai vraiment besoin de rassembler les informations en un seul endroit.

Plus d'informations :

Pour en savoir plus sur systemdvous, visitez ces liens:

Les autres réponses ont des suggestions différentes. Y compris l’achat d’un disque SSD, l’augmentation de la mémoire vive, etc. Si vous pouvez vous le permettre, cela vous aidera certainement, en particulier la suggestion SSD.


15

Passez d'un lecteur magnétique à un lecteur à semi-conducteurs ou à un lecteur hybride magnétique et à semi-conducteurs. Cela accélérera beaucoup le démarrage d'un système d'exploitation. Les disques hybrides ne sont pas beaucoup plus chers. Si vous ne voulez pas aller aussi loin, procurez-vous simplement un disque dur à 7 200 tr / min.


6
La vitesse du disque est le goulot d'étranglement actuel au démarrage.
scottl

@scottl étant donné que mes disques sont SATA et que mon temps de démarrage est similaire à celui de 1:45 min signalé par @RobinJ, je doute qu'il y ait une raison de pointer du doigt les performances du disque en particulier. Ce que je vois cependant, c’est que le montage des disques et des partages s’effectue de manière synchrone, malgré 1.) l’utilisation fastbootet 2.) ces disques n’ayant pas d’importance pour le processus de démarrage.
0xC0000022L

13

Je suppose que vous parlez d'Ubuntu 11.04?
Cela fait très longtemps que j'essaye, sans grand succès. Quoi qu'il en soit, ces étapes ont fait une différence de quelques secondes:

1. Suppression des paquets inutiles

apt-get purge brltty brltty-x11 foo2zjs min12xxw ttf-indic-fonts-core ttf-kacst-one ttf-khmeros-core ttf-lao ttf-punjabi-fonts ttf-unfonts-core

2. Utilisation des deux cœurs / processeurs pendant le processus de démarrage

FAITES-LE UNIQUEMENT SI VOUS ÊTES SÛR QUE VOTRE ORDINATEUR COMPORTE DE MULTIPLES CPU / CORES!
Ouvrez /etc/init.d/rc(vous aurez besoin des privilèges root) et remplacez CONCURRENCY=nonepar CONCURRENCY=shell. Puis enregistrez le fichier.

Mise à jour

"CONCURRENCY = shell est maintenant obsolète et est alias" Makefile ". Depuis le 2010-05-14, la valeur par défaut est" Makefile "."    ~ Jonathon

3. Désactiver les démons inutiles

Ceci est un peu plus avancé, il est donc préférable de ne pas le faire si vous ne savez pas ce que cela signifie. Installez bum-le et démarrez-le avec les privilèges root. Ensuite, décochez les cases devant les démons dont vous n’êtes plus besoin. Par exemple, lorsque vous ne possédez pas de scanner, vous pouvez le désactiver saned. Et si vous n'utilisez jamais le Bluetooth, vous pouvez également le désactiver bluetooth.
Lorsque vous avez terminé, cliquez sur le bouton Appliquer et cliquez sur Oui ou Non (peu importe).

Une fois ces étapes terminées, redémarrez deux fois . Pour une raison quelconque, le premier redémarrage après la modification de toutes ces options prend beaucoup plus de temps que les autres, mais vous devriez remarquer une différence lors du deuxième redémarrage.


3
CONCURRENCY = shell est maintenant obsolète et s'appelle "makefile". Depuis le 14/05/2010, la valeur par défaut est «Makefile».
Jonathon

Est-il possible de lister (ou de donner une courte explication) les paquets que vous conseillez de supprimer? (premier point de votre explication). N'oubliez jamais qu'il y a des gens qui font simplement du copier-coller et qui tout d'un coup sont incapables de lire à partir du terminal, etc.
Willem Van Onsem

1
@CommuSoft Etant donné que cette réponse concerne Ubuntu 11.04 de toute façon, il serait de toute façon déconseillé d'appliquer la même réponse à des versions plus récentes. Certaines de ces choses ne fonctionneront plus et d’autres risquent de casser le système.
RobinJ

9

Utilisez le diagramme de démarrage pour produire des graphiques détaillés de ce qui prend du temps au démarrage. Cela pourrait aider à décider quoi peaufiner ou supprimer. De https://wiki.ubuntu.com/BootCharting :

  • Installez les paquets bootchart et pybootchartgui via apt-get ou Synaptic
  • Redémarrez votre machine
  • Le graphique de démarrage se trouve dans / var / log / bootchart en tant que fichier .png

L'équivalent moderne est couvert ici askubuntu.com/a/763070/178596
Wilf


3

Ma machine a démarré WAY plus rapidement si j'avais effectué une autre installation et ajouté manuellement les packages de l'interface graphique. Bien sûr, il supprime tout ce dont je n’ai pas besoin et que je suis capable d’ajouter moi-même. Si vous revenez avec "comment compiler / installer les applications X, Y et Z", cela pourrait ne pas être une bonne idée.


3

Pour ceux qui ont des problèmes avec cela, il suffit d'installer BUM et de le démarrer en tant qu'utilisateur root (faites attention à utiliser gksudo au lieu de sudo normal). Puis décochez le service que vous souhaitez désactiver (j'ai désactivé Apache2, le démon PostGreSQL, MySQL, la boîte virtuelle, etc.) et c'est tout! Vous pouvez supprimer complètement le service si vous ne le souhaitez pas, mais le désactiver est largement suffisant.

sudo apt-get install bum

entrez la description de l'image ici



2

25.10.2016: Si vous n'allez pas utiliser le mode veille prolongée parce que vous ne pouvez pas ou si vous préférez suspendre / S3, vous pouvez le désactiver dans Grub en ajoutant noresumeà GRUB_CMDLINE_LINUX_DEFAULTin /etc/default/grubet en le lançant update-grub. Voici un exemple sur un Chromebook N22 sous GalliumOS:

livewire@zc01:~$ systemd-analyze
Startup finished in 8.580s (kernel) + 4.160s (userspace) = 12.740s

livewire@zc01:~$ systemd-analyze
Startup finished in 3.595s (kernel) + 4.254s (userspace) = 7.850s

J'ai trouvé cela parce que j'étais curieux à propos de la partie "Exécution de scripts local-premount" lors du démarrage et que je cherchais un peu dans initramfs, ce qui m'avait conduit à cette option que je n'utilisais auparavant que lorsque mon système ne parvenait pas à sortir de l'hibernation.


Éditer 06.08.2016: Vous devriez mettre à jour une version récente de votre distribution Linux fournie avec systemd.


Ingrédients:

  • Procurez-vous un système UEFI avec code UEFI ou Coreboot gratuit
  • Obtenir un SSD
  • Installer Ubuntu en mode UEFI
  • Bonus: Compressez initramfs avec xz lzop et n'incluez que les modules nécessaires. (Vous devriez vraiment savoir ce que vous faites avant d'essayer de le faire.)
  • Bonus: Supprimez les démons inutiles ou configurez-les pour un démarrage plus rapide. Bien que l'installation par défaut soit déjà suffisante.
    • Exemple: le travail d'initialisation de btrfs qui recherche des pools à monter alors qu'il n'y a pas de volumes btrfs sur ce périphérique. Cela m'a obligé à supprimer btrfs-tools de certaines de mes installations.

Je dois dire que 32 secondes est en fait assez bon. Cela ne sera pas beaucoup plus rapide avec du matériel traditionnel. Mon nouveau Lenovo T530 prend le même temps pour démarrer en mode hérité. Avec le nouveau micro SSD que j'ai récemment installé et Ubuntu en mode UEFI, il ne vous reste que 15 secondes pour appuyer sur le bouton d'alimentation pour vous connecter. On a toujours l'impression de perdre 5 secondes au cours du post, mais il ne faut surtout pas perdre de temps à démarrer le système d'exploitation. Le micro-SSD a une vitesse de transfert de 280 Mo / s. Peut être un SSD de 500 Mo / s pouvant atteindre 7 secondes. Mais c’est vraiment aux fabricants de réduire le temps de démarrage avant le système d’exploitation (POST ou non).

Concernant le profilage de démarrage et la concurrence d'accès au shell. Ces informations peuvent être considérées comme datées ou, éventuellement, comme un mythe. Je me souviens que le profilage de démarrage automatique ou quelque chose qui rendait le profil de démarrage absolument superflu avait été ajouté à Linux ou au système principal il y a des années. Depuis lors, je n'utilisais plus le profilage de démarrage après l'installation d'un nouveau package de noyau. Le paramètre de concurrence d'accès au shell était censé casser des choses, mais avec Systemd et Upstart, il devrait également être superflu et ne devrait avoir aucun effet positif.


1

Garbagecollector a raison. Procéder avec prudence. Mais certains des programmes que vous pouvez désactiver en toute sécurité sont des utilitaires de messagerie tels que Evolution, en particulier si vous n'utilisez pas Evolution au début. En outre, tout élément lié à l'impression peut être désactivé si vous n'imprimez pas du tout. Même chose pour le sans fil si vous êtes câblé.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.