Liens rapides
De plus en plus de systèmes d'exploitation gonflés deviennent autant de services fonctionnant en arrière-plan. Bien qu'ils ne consomment pas beaucoup de temps processeur, ils ne font qu'augmenter le temps de démarrage et utiliser la RAM.
Certaines distributions Linux incluent "tout sauf l'évier de la cuisine" afin de faciliter la vie de l'utilisateur. Cela facilite par exemple le partage de fichiers ou l’impression de tâches d'impression. Malheureusement, la seule façon de faire est d'inclure des centaines d'utilitaires afin que chacun trouve ce dont il a besoin.
Heureusement, les systèmes d'exploitation open source vous donnent le pouvoir et la liberté de faire ce que bon vous semble. Cela signifie que vous pouvez désactiver tout ce dont vous n’avez pas besoin ou simplement le supprimer. La première option, comment désactiver les services, sera explorée ici. Lorsque des composants sont désactivés au lieu de les supprimer, le risque de rupture des éléments est définitivement réduit. Vous pouvez revenir à la situation antérieure simplement en réactivant le service si vous remarquez que quelque chose d’utile cesse de fonctionner.
Analyser le temps de chargement de chaque service
La plupart des systèmes d'exploitation basés sur Linux sont passés à Systemd. Parmi les utilitaires que vous incluez, il existe un programme qui vous permet d'analyser la vitesse de performance du système. Plus précisément, il vous indique le temps total nécessaire au démarrage et le temps nécessaire au téléchargement de chaque service. Notez que certains services sont chargés en parallèle. Donc, si deux secondes sont nécessaires pour le téléchargement et les trois autres secondes, cela ne signifie pas nécessairement que vous avez besoin de cinq secondes au total. C'est peut-être beaucoup moins.
Ouvrez Terminal Simulator et entrez cette commande:
systemd-analyze
Cela montre combien de temps il faut pour charger les services du noyau et de la plateforme Linux, ce qui signifie qu’il n’explique pas le temps requis par l’interface graphique de démarrage. Pour vous expliquer autrement, cela vous indique combien de temps vous avez besoin, à partir du moment où vous chargez le noyau jusqu'à ce qu'il soit déposé sur la console Linux, comme ci-dessous.
Si vous n'avez pas d'interface graphique installée, voici ce que vous recevrez sur votre écran.
Cependant, vous pouvez également voir le temps requis via l'interface de configuration graphique à l'aide de cette commande:
systemd-analyze critical-chain graphical.target
Cela montre que l'interface graphique a été chargée à nouveau dans 2.126. Ce n'est pas un compte du temps requis pour charger les utilitaires de bureau. Pour les activer / désactiver, exécutez le Gestionnaire de démarrage de l’environnement de bureau.
Enfin, peut-être que la chose la plus utile pour ce tutoriel est:
systemd-analyze blame
Vous pouvez naviguer dans la liste en utilisant Touches fléchées ou PAGE UP et BAS DE PAGE. Presse q Pour sortir.
Utilisez systemctl pour désactiver Services non essentiels
Comme vous pouvez le voir dans l'image précédente, le téléchargement de snapd 1.295 prend quelques secondes. Sur le SSD, c'est négligeable. Mais sur le disque dur, ces types de temps peuvent être commandés à partir de plusieurs secondes et ajouteront beaucoup à la fin. De plus, sur un SSD, de nombreux objets sont chargés en parallèle avec une efficacité incroyable. Sur le disque dur, il est très difficile de charger les services en parallèle. Les têtes de lecture qui flottent sur des disques doivent se déplacer d’un secteur à l’autre, il est donc impossible de lire des données en parallèle.
Pour simplifier, imaginez ceci: Si vous voyez un disque SSD sur cinq services nécessitant une seule exécution, le temps total nécessaire pour charger tous ces services est probablement inférieur à 1.2 secondes. Si vous voyez, sur votre disque dur, les mêmes cinq services en une seconde, il est possible que le temps de chargement total soit supérieur à cinq secondes.
Disons que vous n'avez pas besoin d'un service snapd , Ce qui permet d’accéder aux instantanés d’application sauvegardés dans des conteneurs. Vous pouvez le désactiver en utilisant cette commande:
sudo systemctl disable snapd.service
Cependant, si vous redémarrez, vous remarquerez que casser Caché est toujours en cours d'exécution. En effet, d'autres dépendances peuvent l'occuper, même si elle est désactivée. Essayez de voir ce que cela pourrait être:
systemd-analyze blame | grep snap
snapd.seeded.service et snapd.socket Ils sont les coupables ici. Le service enfant peut lancer son propre service parent. Lorsque vous en désactivez un, vous lui dites simplement de ne pas démarrer automatiquement. Mais il existe un moyen efficace de surmonter ce problème.
Utilisation systemctl Afin de cacher le service
sudo systemctl mask snapd.service
Cela rend fondamentalement le fichier de service nul Pour que les applications ne trouvent pas le moyen de démarrer le service.
Dans la plupart des cas, il n'est pas compliqué de désactiver le service. Cet exemple a été choisi pour vous montrer comment gérer des scénarios plus difficiles. Dans ce cas, vous devez désactiver snapd.seeded.service et snapd.socket Ou cache-les.
Ce qui suit explique le temps de démarrage optimal.
Conclusion
A partir de 4.078, le temps d’exécution a été réduit à 3.452 secondes, ce qui représente une diminution d’environ 15%. Pas si mal, prenant en compte un seul service, ceci sur le SSD. Sur le disque dur, il est plus facile d’obtenir des résultats plus importants.
Dans cet exemple particulier, plusieurs services peuvent être désactivés à l'aide d'une commande telle que:
masque de système de sudo avahi-daemon.service ModemManager.service thermald.service pppd-dns.service.
Si vous préférez une application graphique pour gérer vos services, vous pouvez consulter: Système de gestion de projet. Il sera cependant limité dans ce que vous pouvez en faire et la ligne de commande offre plus de flexibilité.