Dans le monde informatique moderne, le temps de démarrage est l'un des facteurs cruciaux. Parfois, nous devons démarrer rapidement le serveur ou l’ordinateur pour une plus grande efficacité et une meilleure expérience utilisateur. Dans les systèmes Linux, l'optimisation du temps de démarrage est très importante. Cet article explique comment utiliser divers outils pour analyser et améliorer le temps de démarrage de votre système Linux.
Le démarrage rapide ou le redémarrage rapide joue un rôle essentiel dans diverses situations. Afin de maintenir une haute disponibilité et de meilleures performances de tous les services, un démarrage rapide des appareils embarqués est crucial. Considérez un périphérique de télécommunications exécutant un système d'exploitation Linux sur lequel le démarrage rapide n'est pas activé. Tous les systèmes, services et utilisateurs qui dépendent de ce périphérique intégré particulier peuvent être affectés. Il est très important que ces appareils maintiennent une haute disponibilité de leurs services et pour cela, un démarrage et un redémarrage rapides jouent un rôle crucial.
Un problème ou l'arrêt d'un équipement de télécommunication, même pendant quelques secondes seulement, peut causer des ravages chez d'innombrables utilisateurs sur Internet. Par conséquent, pour de nombreux appareils et équipements de télécommunications urgents, il est très important d’incorporer des fonctions de démarrage rapide dans leurs appareils pour les aider à se remettre rapidement au travail. Comprenons le processus de démarrage de Linux à partir de la figure 1.
Figure 1 : Processus de démarrage
Outils de surveillance et processus de démarrage
Il existe de nombreux facteurs dont les utilisateurs doivent être conscients avant d'apporter des modifications à leur machine. Cela inclut la vitesse de démarrage actuelle de l'ordinateur, ainsi que les services, processus ou applications qui monopolisent les ressources et allongent le temps de démarrage.
Photo de démarrage
Pour surveiller la vitesse de démarrage et les différents services démarrés au démarrage, les utilisateurs peuvent l'installer à l'aide de la commande suivante :
sudo apt-get install pybootchartgui
Chaque fois que vous démarrez, l'image de démarrage enregistrera un fichier png dans le journal, permettant aux utilisateurs de visualiser le fichier png pour comprendre le processus de démarrage et les services du système. Pour ce faire, utilisez la commande suivante :
cd /var/log/bootchart
Les utilisateurs peuvent avoir besoin d'une application pour afficher les fichiers png. Feh est une visionneuse d'images X11 pour les utilisateurs de console. Contrairement à la plupart des autres visionneuses d'images, il ne dispose pas d'une interface graphique sophistiquée, mais il est uniquement utilisé pour afficher des images. Feh peut être utilisé pour afficher des fichiers png. Vous pouvez l'installer à l'aide de la commande suivante :
sudo apt-get install feh
Vous pouvez utiliser feh xxxx.png pour afficher les fichiers png.
Image 2 : Schéma de démarrage
La figure 2 montre un fichier png d'image bootstrap en cours d'affichage.
systemd-analyse
Cependant, les images de démarrage ne sont plus requises pour Ubuntu 15.10 et les versions ultérieures. Pour obtenir de brèves informations sur la vitesse de démarrage, utilisez la commande suivante :
systemd-analyze
Figure 3 : Sortie de systemd-analyze
Le graphique 3 montre le résultat de la commande systemd-analyze.
La commande systemd-analyze blâme est utilisée pour imprimer une liste de toutes les unités en cours d'exécution en fonction du temps nécessaire à l'initialisation. Ces informations sont très utiles et peuvent être utilisées pour optimiser le temps de démarrage. systemd-analyze blâme n'affichera pas les services avec type=simple car systemd considère que ces services sont démarrés immédiatement, le délai d'initialisation ne peut donc pas être mesuré ;
Figure 4 : Résultat de systemd-analyze blâme
La figure 4 montre le résultat de systemd-analyze blâme.
La commande suivante imprime une chaîne arborescente d'unités de service critiques :
command systemd-analyze critical-chain
La figure 5 montre le résultat de la commande systemd-analyze critic-chain.
Figure 5 : Sortie de la chaîne critique systemd-analyze
Étapes pour réduire le temps de démarrage
Vous trouverez ci-dessous quelques-unes des différentes étapes qui peuvent être prises pour réduire le temps de démarrage.
BUM (Gestionnaire de démarrage)
BUM est un éditeur de configuration de niveau exécution qui permet de configurer les services d'initialisation au démarrage ou au redémarrage du système. Il affiche une liste de tous les services pouvant être démarrés au moment du démarrage. Les utilisateurs peuvent activer et désactiver des services individuels. BUM possède une interface utilisateur graphique très claire et est très simple à utiliser.
Dans Ubuntu 14.04, BUM peut être installé à l'aide de la commande suivante :
sudo apt-get install bum
Pour l'installer dans les versions 15.10 et ultérieures, téléchargez le package à partir du lien http://apt.ubuntu.com/p/bum.
以基本的服务开始,禁用扫描仪和打印机相关的服务。如果你没有使用蓝牙和其它不想要的设备和服务,你也可以禁用它们中一些。我强烈建议你在禁用相关的服务前学习服务的基础知识,因为这可能会影响计算机或操作系统。图 6 显示 BUM 的图形用户界面。
图 6:BUM
编辑 rc 文件
要编辑 rc 文件,你需要转到 rc 目录。这可以使用下面的命令来做到:
cd /etc/init.d
然而,访问 init.d 需要 root 用户权限,该目录基本上包含的是开始/停止脚本,这些脚本用于在系统运行时或启动期间控制(开始、停止、重新加载、启动启动)守护进程。
在 init.d 目录中的 rc 文件被称为运行控制run control脚本。在启动期间,init 执行 rc 脚本并发挥它的作用。为改善启动速度,我们可以更改 rc 文件。使用任意的文件编辑器打开 rc 文件(当你在 init.d 目录中时)。
例如,通过输入 vim rc ,你可以更改 CONCURRENCY=none 为 CONCURRENCY=shell。后者允许某些启动脚本同时执行,而不是依序执行。
在最新版本的内核中,该值应该被更改为 CONCURRENCY=makefile。
图 7 和图 8 显示编辑 rc 文件前后的启动时间比较。可以注意到启动速度有所提高。在编辑 rc 文件前的启动时间是 50.98 秒,然而在对 rc 文件进行更改后的启动时间是 23.85 秒。
但是,上面提及的更改方法在 Ubuntu 15.10 以后的操作系统上不工作,因为使用最新内核的操作系统使用 systemd 文件,而不再是 init.d 文件。
图 7:对 rc 文件进行更改之前的启动速度
图 8:对 rc 文件进行更改之后的启动速度
E4rat
E4rat 代表 e4 减少访问时间reduced access time(仅在 ext4 文件系统的情况下)。它是由 Andreas Rid 和 Gundolf Kiefer 开发的一个项目。E4rat 是一个通过碎片整理来帮助快速启动的应用程序。它还会加速应用程序的启动。E4rat 使用物理文件的重新分配来消除寻道时间和旋转延迟,因而达到较高的磁盘传输速度。
E4rat 可以 .deb 软件包形式获得,你可以从它的官方网站 http://e4rat.sourceforge.net/下载。
Ubuntu 默认安装的 ureadahead 软件包与 e4rat 冲突。因此必须使用下面的命令安装这几个软件包:
sudo dpkg purge ureadahead ubuntu-minimal
现在使用下面的命令来安装 e4rat 的依赖关系:
sudo apt-get install libblkid1 e2fslibs
打开下载的 .deb 文件,并安装它。现在需要恰当地收集启动数据来使 e4rat 工作。
遵循下面所给的步骤来使 e4rat 正确地运行并提高启动速度。
La figure 9 et la figure 10 montrent la différence entre les temps de démarrage avant et après l'installation d'e4rat. Une amélioration de la vitesse de démarrage peut être remarquée. Le temps de démarrage avant d'utiliser e4rat était de 22,32 secondes, mais après avoir utilisé e4rat, le temps de démarrage était de 9,065 secondes.
Figure 9 : Vitesse de démarrage avant d'utiliser e4rat
Figure 10 : Vitesse de démarrage après avoir utilisé e4rat
Quelques ajustements faciles
Une bonne vitesse de démarrage peut également être obtenue avec de très petits ajustements, dont deux sont répertoriés ci-dessous.
SSD
L'utilisation de périphériques SSD au lieu de disques durs classiques ou d'autres périphériques de stockage améliorera certainement la vitesse de démarrage. Les SSD contribuent également à accélérer les transferts de fichiers et l'exécution des applications.
Désactiver l'interface graphique
Les interfaces utilisateur graphiques, les graphiques du bureau et les animations de fenêtres consomment beaucoup de ressources. La désactivation de l'interface graphique est un autre excellent moyen d'obtenir de bonnes vitesses de démarrage.
En conclusion, à travers cet article, nous avons appris à utiliser divers outils pour diagnostiquer et optimiser le temps de démarrage des systèmes Linux. Qu'il s'agisse de réduire le nombre de services, de supprimer des modules inutiles ou d'optimiser les systèmes de fichiers ou les applications, ces méthodes peuvent réduire efficacement le temps de démarrage du système Linux et nous offrir une expérience plus fluide et plus efficace.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!