Sachez combien un processus individuel ou à l’échelle du système consomme du processeur ou de la mémoire.
En tant qu’administrateur système, vous devez souvent faire face à un incident où l’application est lente ou ne répond pas en raison d’une utilisation élevée du processeur/de la mémoire/du réseau. Si le serveur héberge un seul processus, il est facile de savoir quand le processus consomme toutes les ressources. Cependant, imaginez un serveur partagé sur lequel plusieurs services sont exécutés et vous devez trouver celui qui consomme toutes les ressources.
Il existe de nombreux logiciels de surveillance qui le font hors de la boîte. Mais si vous n’en avez pas ou si vous recherchez une solution basée sur des commandes, alors c’est parti. Ils sont tous GRATUITS !
Table des matières
Haut
Vous voudrez peut-être commencer par regarder le résultat top ou htop pour voir la vue d’ensemble des processus.
Comme vous pouvez le voir ci-dessous, cela donne une excellente idée de ce que tous les processus utilisent. Si vous regardez le premier, c’est-à-dire que MySQL prend 11,9 % de CPU et 2,5 % de CPU.
top - 11:57:33 up 0 min, 1 user, load average: 3.69, 0.96, 0.32 Tasks: 165 total, 2 running, 113 sleeping, 0 stopped, 0 zombie %Cpu(s): 21.0 us, 5.5 sy, 0.0 ni, 70.5 id, 1.7 wa, 0.0 hi, 1.3 si, 0.0 st KiB Mem : 7637308 total, 5802888 free, 849512 used, 984908 buff/cache KiB Swap: 0 total, 0 free, 0 used. 6495648 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1986 netdata 20 0 1738856 191560 22948 S 11.6 2.5 0:02.30 mysqld 3021 www-data 20 0 255288 78420 55484 S 6.6 1.0 0:01.55 php-fpm 3138 www-data 20 0 253096 79780 59228 S 6.6 1.0 0:00.92 php-fpm 3153 www-data 20 0 255116 79088 56472 S 5.0 1.0 0:00.70 php-fpm 3037 www-data 20 0 257200 81088 56216 S 4.3 1.1 0:01.50 php-fpm 3048 www-data 20 0 257088 78740 55380 S 4.3 1.0 0:01.46 php-fpm 3054 www-data 20 0 254160 72168 52108 S 3.7 0.9 0:01.32 php-fpm 3135 www-data 20 0 255084 75912 54836 S 3.7 1.0 0:00.91 php-fpm 3051 www-data 20 0 254096 73804 51964 S 3.0 1.0 0:01.38 php-fpm 2962 www-data 20 0 45280 7284 3488 R 2.0 0.1 0:00.22 openresty 1062 netdata 20 0 338748 76144 6720 S 1.0 1.0 0:01.31 netdata 1702 netdata 20 0 21852 4232 2352 S 1.0 0.1 0:00.34 apps.plugin 1729 netdata 20 0 18636 3280 2764 S 0.7 0.0 0:00.05 bash 1980 netdata 20 0 62008 12896 5796 S 0.7 0.2 0:00.14 redis-server 11 root 20 0 0 0 0 I 0.3 0.0 0:00.14 rcu_sched 1007 root 20 0 1347424 74524 38872 S 0.3 1.0 0:00.92 dockerd 1857 root 20 0 10600 5564 4276 S 0.3 0.1 0:00.03 containerd-shim 2045 root 20 0 9948 6028 5016 S 0.3 0.1 0:00.14 forego 2934 root 20 0 13616 8760 5928 S 0.3 0.1 0:00.07 docker-gen 2966 systemd+ 20 0 25784 7924 2340 S 0.3 0.1 0:00.06 nginx
Le top est installé sur presque toutes les distributions Linux.
Une fois que vous avez identifié le suspect, vous voudrez peut-être vous concentrer sur ce processus au lieu de tout ce que vous avez vu ci-dessus. Vous pouvez toujours utiliser la commande top mais avec quelques arguments.
Disons que vous connaissez l’identifiant du processus (PID) ; vous pouvez utiliser la commande ci-dessous.
haut -p $PID
Ci-dessous un exemple de top -p 3102
top - 11:59:56 up 3 min, 1 user, load average: 0.72, 0.70, 0.31 Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie %Cpu(s): 7.1 us, 2.9 sy, 0.0 ni, 89.1 id, 0.3 wa, 0.0 hi, 0.7 si, 0.0 st KiB Mem : 7637308 total, 5802024 free, 783672 used, 1051612 buff/cache KiB Swap: 0 total, 0 free, 0 used. 6555636 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3102 www-data 20 0 329500 82376 60640 S 0.0 1.1 0:03.35 php-fpm
Vous pouvez également utiliser grep avec top. Ci-dessous un exemple de vérification de l’utilisation de Docker.
[email protected]:~# top | grep docker 1007 root 20 0 1347424 74524 38872 S 0.3 1.0 0:01.38 dockerd 2934 root 20 0 14676 9652 5928 S 0.3 0.1 0:00.54 docker-gen 1007 root 20 0 1347424 74524 38872 S 0.3 1.0 0:01.39 dockerd 1007 root 20 0 1347424 74524 38872 S 1.0 1.0 0:01.42 dockerd 2934 root 20 0 14740 9652 5928 S 0.3 0.1 0:00.55 docker-gen 2934 root 20 0 14740 9652 5928 S 0.3 0.1 0:00.56 docker-gen
htop
Similaire au haut mais avec plus d’informations. Comme vous pouvez, il a obtenu la colonne de commande, ce qui est pratique pour identifier le chemin du processus. Et aussi c’est coloré.
htop n’est peut-être pas installé par défaut, mais vous pouvez toujours le faire comme ci-dessous.
Installer htop sur Ubuntu
apt-get install htop
Installez htop sur CentOS/RHEL 8.x
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm dnf update dnf install htop
regards
Comme son nom l’indique, vous obtenez une vue d’utilisation du système sur un seul écran. Les processus en cours d’exécution sont triés en fonction de leur utilisation du processeur.
Vous pouvez installer des regards sur CentOS 8 en utilisant DNF comme ci-dessous.
dnf install glances
pour CentOS7, vous pouvez utiliser YUM
yum install glances
un haut
Similaire à la liste ci-dessus mais avec une fonctionnalité brillante pour enregistrer la sortie dans un fichier afin que vous puissiez les visualiser plus tard. Imaginez qu’il y ait un modèle d’avoir un problème à une fenêtre de temps spécifique. Vous pouvez planifier l’écriture de la sortie dans un fichier via crontab ou autre, et plus tard, vous pouvez lire.
Pour enregistrer la sortie dans un fichier :
atop -w filename
et, pour la lecture :
atop -r filename
Il prend en charge plusieurs arguments tels que l’intervalle, les échantillons, etc. et je vous recommande fortement de consulter la page de manuel.
Si vous êtes simplement intéressé par le dépannage en temps réel, exécutez simplement en haut et vous devriez voir comme ci-dessous.
Vous pouvez installer dessus comme ci-dessous.
dnf install atop
ps
Vérifions la commande ps maintenant.
Vous pouvez utiliser la commande ps avec PID pour imprimer leur utilisation du processeur et de la mémoire.
ps -p $PID -o %cpu,%mem
La sortie devrait ressembler à ceci.
[email protected]:~# ps -p 1048 -o %cpu,%mem %CPU %MEM 0.2 3.0 [email protected]:~#
nmon
Outil de surveillance interactif en ligne de commande pour l’utilisation du processeur, de la mémoire, des disques, du réseau, du NFS et de la mémoire virtuelle. Pour afficher le processus supérieur (par utilisation), vous pouvez exécuter nmon et appuyer sur le bouton t.
Vous pouvez installer nmon comme ci-dessous.
dnf install nmon
Monit
Monit est une solution open source basée sur le Web et en ligne de commande pour surveiller les ressources du serveur, les démons, les fichiers, les répertoires, les systèmes de fichiers, etc.
Monit a également un widget sympa.
Son logiciel de surveillance léger. Mais, il y a plus à explorer ici.
Monitorix
Un utilitaire open source léger pour surveiller le serveur Linux. Monitorix a intégré HTTP afin que vous puissiez vérifier l’utilisation et d’autres éléments sur le Web. Certains des autres rapports d’utilisation incluent :
- Noyau/température
- Système de fichiers et E/S
- Trafic réseau
- Apache/Mail/FTP/Nginx
- MySQL/Vernis/Memcaché
Monitorix propose également une configuration d’alerte afin que vous puissiez être averti lorsque les choses ne vont pas. Ce sera un bon choix lorsque vous gérez des serveurs basés sur le cloud et recherchez une solution de surveillance proactive.
Netdata
Netdata est une surveillance des performances en temps réel pour les ressources système, les applications, les serveurs Web, les bases de données, le DNS, la messagerie, les capteurs matériels et bien plus encore. Il est open-source et la mise en route est facile. Toutes les données sont collectées, stockées et diffusées en continu pour que vous puissiez les visualiser de manière interactive. Les données sont collectées toutes les secondes, pour que vous ne manquiez de rien.
Aimé par de nombreux leaders de l’industrie.
Alors ce que vous attendez, essayez de prendre le contrôle de vos serveurs Linux.
btop
btop est un moniteur de ressources pratique entièrement interactif avec une belle interface utilisateur vous aidant à gérer les serveurs Linux.
Vous pouvez facilement visualiser les processus dans une arborescence, filtrer à partir de la liste des processus et gérer les ressources gourmandes. btop est également alimenté par un graphique de mise à l’échelle automatique montrant l’utilisation du réseau.
En outre, vous pouvez également vérifier la vitesse du disque et terminer l’activité d’E/S.
Il y a plus à cela que vous pouvez découvrir sur Linux, FreeBSD et macOS.
Conclusion
J’espère que les outils ci-dessus vous aideront à visualiser l’utilisation du serveur en temps réel afin que vous puissiez prendre les mesures nécessaires. Si vous venez de commencer en tant qu’administrateur système et que vous souhaitez suivre une formation pratique, consultez ceci Cours Udemy.