Outils de surveillance du matériel Linux
Que vous soyez un utilisateur à domicile ou un administrateur système/réseau sur un grand site, la surveillance de votre système Linux vous aide de plusieurs façons – peut-être plus que vous ne le savez actuellement.
Par exemple, vous avez des documents importants liés au travail sur votre ordinateur portable et un beau jour, le disque dur décide de mourir sur vous sans même vous dire au revoir. Étant donné que la plupart des utilisateurs ne font pas de sauvegardes, vous devrez appeler votre patron et lui dire que les derniers rapports financiers ont disparu. Pas gentil. Mais si vous avez utilisé un logiciel de surveillance et de rapport de disque régulièrement démarré (au démarrage ou avec cron), comme smartd par exemple, il vous dira quand votre ou vos disques commencent à se fatiguer. Entre nous, cependant, un disque dur peut décider de faire faillite sans avertissement, alors sauvegardez vos données.
Ce tutoriel abordera tout ce qui concerne la surveillance du système, qu’il s’agisse du réseau, du disque ou de la température. Ce sujet peut généralement constituer suffisamment de matière pour un livre, mais nous essaierons de ne vous donner que les informations les plus importantes afin de vous aider à démarrer, ou, selon l’expérience, d’avoir toutes les informations en un seul endroit. On s’attend à ce que vous connaissiez votre matériel et que vous ayez des compétences de base en administration système, mais peu importe d’où vous venez, vous trouverez quelque chose d’utile ici.
Dans ce tutoriel, vous allez apprendre :
- Comment surveiller la température du système
- Comment surveiller le disque dur et les entrées/sorties
- Comment utiliser les outils de surveillance réseau
- Comment surveiller le processeur, la mémoire et les processus en cours d’exécution du système
Outils de surveillance du matériel Linux
Les sections suivantes présenteront des outils pour différentes tâches, telles que la surveillance de la température, de l’état du disque dur, du réseau, des processus système, etc. Nous allons vous montrer les commandes pour installer ces outils sur les systèmes basés sur Debian et Ubuntu. Pour ceux qui suivent, vous devriez utiliser votre gestionnaire de paquets pour rechercher le nom de paquet approprié, car ils portent parfois des noms légèrement différents.
Surveillance de la température
Le meilleur outil pour ce travail, lorsqu’il s’agit de surveiller les températures de votre système, est un ensemble appelé capteurs. Certaines distributions peuvent être livrées avec le logiciel déjà préinstallé. Sur d’autres systèmes, vous devrez peut-être l’installer. Sur Debian ou une dérivée, vous pouvez simplement exécuter :
sudo apt install lm-sensors
Sur les systèmes OpenSUSE, le paquet est simplement nommé capteurs, tandis que sur Fedora, vous pouvez le trouver sous le nom de lm_sensors. Vous pouvez utiliser la fonction de recherche de votre gestionnaire de paquets pour trouver des capteurs, puisque la plupart des distributions le proposent.
Maintenant, tant que vous disposez d’un matériel relativement moderne, vous aurez probablement une capacité de surveillance de la température. Si vous utilisez une distribution de bureau, la prise en charge de la surveillance matérielle est activée.
Pour commencer à surveiller les températures de votre système, utilisez la commande suivante dans le terminal.
sudo sensors-detect
Voici un extrait de la sortie qui a été produite sur notre système de test :
k8temp-pci-00c3
Adapter: PCI adapter
Core0 Temp: +32.0°C
Core0 Temp: +33.0°C
Core1 Temp: +29.0°C
Core1 Temp: +25.0°C
nouveau-pci-0200
Adapter: PCI adapter
temp1: +58.0°C (high = +100.0°C, crit = +120.0°C)
Votre BIOS peut avoir (la plupart des gens) une option de sécurité intégrée à la température : si la température atteint un certain seuil, le système s’arrêtera afin d’éviter d’endommager le matériel. D’un autre côté, alors que sur un ordinateur de bureau ordinaire, la commande sensors peut ne pas sembler très utile, sur des machines serveur situées peut-être à des centaines de kilomètres, un tel outil peut faire toute la différence dans le monde.
Si vous êtes l’administrateur de tels systèmes, nous vous recommandons d’écrire un court script qui vous enverra un courrier toutes les heures, par exemple, avec des rapports et peut-être des statistiques sur la température du système.
Disque et E/S
Dans cette partie, nous nous référerons d’abord à la surveillance de l’état du matériel, puis nous passerons à la section E/S qui traitera de la détection des goulots d’étranglement, des lectures/écritures, etc. Commençons par comment obtenir des rapports sur l’état du disque à partir de vos disques durs.
S.M.A.R.T.
S.M.A.R.T., qui signifie Self Monitoring Analysis and Reporting Technology, est une capacité offerte par les disques durs modernes qui permet à l’administrateur de surveiller efficacement l’état du disque. L’application à installer s’appelle généralement smartmontools, qui propose un script systemd pour l’écriture régulière dans syslog.
Il peut être installé avec cette commande :
sudo apt install smartmontools
Son nom est smartd et vous pouvez le configurer en éditant /etc/smartd.conf et en configurant les disques à surveiller et quand ils doivent l’être. Cette suite d’outils S.M.A.R.T. fonctionne sur Linux, les BSDs, Solaris, Darwin et même OS/2.
Les distributions offrent des interfaces graphiques à smartctl, la principale application à utiliser lorsque vous voulez voir comment se comportent vos disques, mais nous nous concentrerons sur l’utilitaire de ligne de commande. On utilise -a (toutes les infos) /dev/sda comme argument, par exemple, pour obtenir un rapport détaillé sur l’état du premier disque installé sur le système. Voici ce que j’obtiens :
sudo smartctl -a /dev/sda
=== START OF INFORMATION SECTION ===
Model Family: Western Digital Caviar Blue Serial ATA
Device Model: WDC WD5000AAKS-00WWPA0
Serial Number: WD-WCAYU6160626
LU WWN Device Id: 5 0014ee 158641699
Firmware Version: 01.03B01
User Capacity: 500,107,862,016 bytes [500 GB]
Sector Size: 512 bytes logical/physical
Device is: In smartctl database [for details use: -P show]
ATA Version is: 8
ATA Standard is: Exact ATA specification draft version not indicated
Local Time is: Wed Oct 19 19:01:08 2011 EEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
[snip]
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 0
3 Spin_Up_Time 0x0027 138 138 021 Pre-fail Always - 4083
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 369
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0
9 Power_On_Hours 0x0032 095 095 000 Old_age Always - 4186
10 Spin_Retry_Count 0x0032 100 100 000 Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 100 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 366
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 21
193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always - 347
194 Temperature_Celsius 0x0022 105 098 000 Old_age Always - 38
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0030 200 200 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline - 0
Ce que nous pouvons obtenir de ce résultat, c’est, en gros, qu’aucune erreur n’est signalée et que toutes les valeurs sont dans les marges normales. En ce qui concerne la température, si vous avez un ordinateur portable et que vous voyez des valeurs anormalement élevées, pensez à nettoyer l’intérieur de votre machine pour une meilleure circulation de l’air.
Les plateaux peuvent se déformer à cause d’une chaleur excessive et vous ne le voulez certainement pas. Si vous utilisez une machine de bureau, vous pouvez obtenir un refroidisseur de disque dur à un prix bon marché. Quoi qu’il en soit, si votre BIOS a cette capacité, lors de l’auto-test de démarrage (POST), il vous avertira si le disque est sur le point de tomber en panne.
SmartCTL propose une série de tests que l’on peut effectuer : Vous pouvez sélectionner le test que vous souhaitez exécuter avec l’indicateur -T :
sudo smartctl -t long /dev/sda
En fonction de la taille du disque et du test que vous avez choisi, cette opération peut prendre un certain temps. Certaines personnes recommandent d’exécuter des tests lorsque le système n’a pas d’activité significative sur le disque, d’autres recommandent même d’utiliser un CD en direct. Bien sûr, ce sont des conseils de bon sens, mais en fin de compte, tout cela dépend de la situation. Veuillez vous référer à la page de manuel smartctl pour plus d’indicateurs de ligne de commande utiles.
E/S
Si vous travaillez avec des ordinateurs qui effectuent de nombreuses opérations de lecture/écriture, comme un serveur de base de données occupé, par exemple, vous devrez vérifier l’activité du disque. Ou vous souhaitez tester les performances que vos disques vous offrent, quel que soit l’objectif de l’ordinateur. Pour la première tâche, nous utiliserons iostat, pour la seconde, nous jetterons un coup d’œil à bonnie++. Ce ne sont que deux des applications que l’on peut utiliser, mais elles sont populaires et font assez bien leur travail, donc je n’ai pas ressenti le besoin de chercher ailleurs.
Si vous ne trouvez pas iostat sur votre système, il se peut que votre distribution l’inclue dans le paquet sysstat, qui offre de nombreux outils pour l’administrateur Linux, et nous en reparlerons un peu plus tard.
Installez-le avec la commande suivante :
sudo apt install sysstat
Vous pouvez exécuter iostat sans arguments, ce qui vous donnera quelque chose comme ceci :
Linux 5.13.0-27-generic (linuxconfig) 02/02/2022 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
17.10 2.22 8.89 1.67 0.00 70.11
Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd
sda 42.29 1120.77 528.22 0.00 1115925 525937 0
Si vous voulez que iostat fonctionne en continu, utilisez simplement -d (délai) et un entier :
iostat -d 1 10
Cette commande exécutera iostat 10 fois à une seconde d’intervalle. Lisez la page de manuel pour le reste des options. Cela en vaudra la peine, vous verrez. Après avoir regardé les drapeaux disponibles, une commande iostat courante peut être comme
iostat -d 1 -x -h
Ici, -x représente les statistiques étendues et -h est la sortie lisible par l’homme.
bonnie++
Le nom de Bonnie++ (la partie incrémentée) vient de son héritage, le programme classique de benchmarking Bonnie. Il prend en charge de nombreux tests de disques durs et de systèmes de fichiers qui sollicitent la machine en écrivant/lisant de nombreux fichiers. On le trouve sur la plupart des distributions Linux exactement sous ce nom : bonnie++. Voici comment l’installer.
sudo apt install bonnie++
Vous pouvez simplement exécuter la commande sans options supplémentaires :
bonnie++
Voici le résultat que nous avons reçu de bonnie sur notre machine de test.
Writing a byte at a time...done
Writing intelligently...done
Rewriting...done
Reading a byte at a time...done
Reading intelligently...done
start 'em...done...done...done...done...done...
Create files in sequential order...done.
Stat files in sequential order...done.
Delete files in sequential order...done.
Create files in random order...done.
Stat files in random order...done.
Delete files in random order...done.
Version 1.98 ------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Name:Size etc /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
linuxconfig 4G 122k 96 69.5m 24 125m 55 446k 89 262m 48 3895 204
Latency 179ms 726ms 42985us 65391us 44430us 14077us
Version 1.98 ------Sequential Create------ --------Random Create--------
linuxconfig -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 0 39 +++++ +++ 724249376 35 0 37 +++++ +++ 724249376 38
Latency 44098us 13586us 12148us 16141us 12212us 12207us
1.98,1.98,linuxconfig,1,1643851174,4G,,8192,5,122,96,71185,24,128266,55,446,89,268335,48,3895,204,16,,,,,7366,39,+++++,+++,11979,35,7939,37,+++++,+++,13108,38,179ms,726ms,42985us,65391us,44430us,14077us,44098us,13586us,12148us,16141us,12212us,12207us
N’oubliez pas que l’exécution de bonnie++ mettra votre machine à rude épreuve, c’est donc une bonne idée de le faire lorsque le système n’est pas aussi occupé que d’habitude. Vous pouvez choisir le format de sortie (CSV, texte, HTML), le répertoire de destination ou la taille du fichier.
Encore une fois, lisez le manuel, car ces programmes dépendent du matériel sous-jacent et de son utilisation. Vous seul savez mieux que quiconque ce que vous voulez obtenir de bonnie++.
Surveillance du réseau
Avant de commencer, sachez que nous ne traiterons pas de la surveillance du réseau d’un point de vue de la sécurité, mais d’un point de vue de la performance et du dépannage, bien que les outils soient parfois les mêmes (wireshark, iptraf, etc.). Lorsque vous obtenez un fichier de 10 kbit/s à partir du serveur NFS de l’autre bâtiment, vous pouvez envisager de vérifier que votre réseau ne contient pas de goulots d’étranglement.
Il s’agit d’un vaste sujet, car il dépend d’une pléthore de facteurs, tels que le matériel, les câbles, la topologie, etc. Nous aborderons la question de manière unifiée, ce qui signifie qu’on vous montrera comment installer et comment utiliser les outils, au lieu de les classer et de vous embrouiller avec une théorie inutile. Nous n’inclurons pas tous les outils jamais écrits pour la surveillance du réseau Linux, mais seulement ce qui est considéré comme important.
Avant de commencer à parler d’outils complexes, commençons par les plus simples. Ici, la partie problème du dépannage fait référence aux problèmes de connectivité réseau. D’autres outils, comme vous le verrez, font référence aux outils de prévention des attaques. Encore une fois, seul le sujet de la sécurité du réseau a été soulevé à de nombreuses reprises, ce sera donc aussi court que possible.
Ces outils simples sont ping, traceroute, ip et amis. Ils font généralement partie du paquet intutils ou net-tools (peut varier selon la distribution) et sont très probablement déjà installés sur votre système.
De plus, dnsutils est un paquet qui vaut la peine d’être installé, car il contient des applications populaires comme dig ou nslookup. Si vous ne savez pas encore à quoi servent ces commandes, nous vous recommandons de faire quelques lectures car elles sont essentielles à tout utilisateur de Linux, quel que soit l’objectif de l’ordinateur qu’il utilise.
tcpdump
Aucun chapitre de ce type dans un guide de dépannage/surveillance réseau ne sera jamais complet sans une partie sur tcpdump. Il s’agit d’un outil de surveillance de réseau assez complexe et utile, que vous soyez sur un petit réseau local ou sur un grand réseau d’entreprise.
Ce que fait tcpdump, en gros, c’est la surveillance des paquets, également connue sous le nom de reniflage de paquets. Vous aurez besoin des privilèges root pour l’exécuter, car tcpdump a besoin de l’interface physique pour fonctionner en mode de promiscuité, qui n’est pas le mode d’exécution par défaut d’une carte Ethernet. Le mode de promiscuité signifie que la carte réseau récupère tout le trafic sur le réseau, plutôt que seulement le trafic qui lui est destiné.
Dans le cas où il n’est pas déjà installé, vous pouvez utiliser la commande suivante dans le terminal.
sudo apt install tcpdump
Nous n’essaierons pas de remplacer la page de manuel bien écrite de tcpdump, nous vous laissons faire. Mais avant de continuer, nous vous recommandons d’apprendre quelques concepts de base en matière de réseau afin de donner un sens à tcpdump, comme TCP/UDP, charge utile, paquet, en-tête, etc.
Une fonctionnalité intéressante de tcpdump est la possibilité de capturer pratiquement des pages Web, en utilisant -A. Essayez de démarrer tcpdump comme ceci :
sudo tcpdump -vv -A
Maintenant, allez sur une page Web. Revenez ensuite à la fenêtre du terminal où tcpdump s’exécute. Vous verrez beaucoup de choses intéressantes sur ce site Web, comme le système d’exploitation exécuté par le serveur Web ou la version de PHP utilisée pour créer la page.
Utilisez -i pour spécifier l’interface d’écoute (comme eth0, eth1, etc.) ou -p pour ne pas utiliser la carte réseau en mode promiscuité, utile dans certaines situations. Vous pouvez enregistrer la sortie dans un fichier avec -w $file si vous avez besoin de la vérifier plus tard (n’oubliez pas que le fichier contiendra une sortie brute). Donc, un exemple d’utilisation de tcpdump basé sur ce que vous avez lu ci-dessus serait :
sudo tcpdump -vv -A -i eth0 -w outputfile
Nous devons vous rappeler que cet outil et d’autres, comme nmap, snort ou wireshark, bien qu’ils puissent être utiles pour surveiller votre réseau à la recherche d’applications et d’utilisateurs malveillants, il peut également être utile aux utilisateurs malveillants. Veuillez ne pas utiliser ces outils à des fins malveillantes.
Si vous avez besoin d’une interface plus froide pour un programme de reniflage/analyse, vous pouvez essayer iptraf (CLI) ou wireshark (GTK). Nous n’en parlerons pas plus en détail, car les fonctionnalités qu’ils offrent sont similaires à tcpdump. Nous recommandons tcpdump, cependant, parce qu’il est presque certain que vous le trouverez installé quelle que soit la distribution, et il vous donnera la chance d’apprendre.
netstat
netstat est un autre outil utile pour les connexions distantes et locales en direct, qui imprime sa sortie d’une manière plus organisée, semblable à une table. Le nom du paquet sera généralement simplement net-tools et la plupart des distributions le proposent.
Pour installer le logiciel :
sudo apt install net-tools
Si vous démarrez netstat sans arguments, il affichera une liste de sockets ouverts puis quittera. Mais comme il s’agit d’un outil polyvalent, vous pouvez contrôler ce qu’il faut voir en fonction de vos besoins. Tout d’abord, -c vous aidera si vous avez besoin d’une sortie continue, similaire à tcpdump.
À partir de là, tous les aspects du sous-système réseau Linux peuvent être inclus dans la sortie de netstat : routes avec -r, interfaces avec -i, protocoles (–protocol=$family pour certains choix, comme unix, inet, ipx...), -l si vous voulez seulement écouter des sockets ou -e pour des informations étendues.
Les colonnes par défaut affichées sont les connexions actives, la file d’attente de réception, la file d’attente d’envoi, les adresses locales et étrangères, l’état, l’utilisateur, le PID/nom, le type de socket, l’état du socket ou le chemin d’accès. Ce ne sont que les informations les plus intéressantes affichées par netstat, mais pas les seules. Comme d’habitude, reportez-vous à la page de manuel.
nmap
Le dernier utilitaire dont nous parlerons dans la section réseau est nmap. Son nom vient de Network Mapper et il est utile en tant que scanner de réseau/port, inestimable pour les audits de réseau. Il peut être utilisé sur des hôtes distants ainsi que sur des hôtes locaux. Si vous souhaitez voir quels hôtes sont actifs sur un réseau de classe C, il vous suffit de taper :
nmap 192.168.0/24
nmap renverra une sortie comme celle-ci :
Nmap scan report for 192.168.0.1
Host is up (0.0065s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
23/tcp open telnet
80/tcp open http
Nmap scan report for 192.168.0.102
Host is up (0.00046s latency).
Not shown: 999 closed ports
PORT STATE SERVICE
22/tcp open ssh
Nmap scan report for 192.168.0.103
Host is up (0.00049s latency).
Not shown: 999 closed ports
PORT STATE SERVICE
22/tcp open ssh
Ce que l’on peut apprendre de ce court exemple : nmap prend en charge les notations CIDR pour scanner des (sous-)réseaux entiers, c’est rapide et par défaut il affiche l’adresse IP et tous les ports ouverts de chaque hôte. Si nous avions voulu scanner ne serait-ce qu’une partie du réseau, disons des IP de 20 à 30, nous aurions écrit :
nmap 192.168.0.20-30
C’est l’utilisation la plus simple possible de nmap. Il peut analyser les hôtes pour la version du système d’exploitation, le script et le traceroute (avec -A) ou utiliser différentes techniques d’analyse, comme UDP, TCP SYN ou ACK. Il peut également essayer de passer des pare-feu ou des IDS, faire de l’usurpation d’adresse MAC et toutes sortes d’astuces astucieuses.
Il y a beaucoup de choses que cet outil peut faire, et toutes sont documentées dans la page de manuel. N’oubliez pas que certains administrateurs (la plupart) n’aiment pas beaucoup que quelqu’un analyse leur réseau, alors ne vous mettez pas dans le pétrin. Les développeurs de nmap ont mis en place un hôte, scanme.nmap.org, dans le seul but de tester diverses options. Essayons de trouver le système d’exploitation qu’il exécute de manière détaillée (pour les options avancées, vous aurez besoin de root) :
nmap -A -v scanme.nmap.org
Exemple de sortie :
NSE: Script Scanning completed.
Nmap scan report for scanme.nmap.org (74.207.244.221)
Host is up (0.21s latency).
Not shown: 995 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 5.3p1 Debian 3ubuntu7 (protocol 2.0)
| ssh-hostkey: 1024 8d:60:f1:7c:ca:b7:3d:0a:d6:67:54:9d:69:d9:b9:dd (DSA)
|_2048 79:f8:09:ac:d4:e2:32:42:10:49:d3:bd:20:82:85:ec (RSA)
80/tcp open http Apache httpd 2.2.14 ((Ubuntu))
|_html-title: Go ahead and ScanMe!
135/tcp filtered msrpc
139/tcp filtered netbios-ssn
445/tcp filtered microsoft-ds
OS fingerprint not ideal because: Host distance (14 network hops) is greater than five
No OS matches for host
Uptime guess: 19.574 days (since Fri Sep 30 08:34:53 2011)
Network Distance: 14 hops
TCP Sequence Prediction: Difficulty=205 (Good luck!)
IP ID Sequence Generation: All zeros
Service Info: OS: Linux
[traceroute output supressed]
Nous vous recommandons également de jeter un coup d’œil à netcat, snort ou aircrack-ng. Comme nous l’avons dit, notre liste n’est en aucun cas exhaustive.
Pour plus d’aide, consultez notre autre guide sur Comment surveiller l’activité du réseau sur un système Linux.
Surveillance du système
Supposons que vous voyiez que votre système commence à avoir une activité intense sur les disques durs et que vous ne jouez qu’à Nethack dessus. Vous voudrez probablement voir ce qui se passe. Ou peut-être avez-vous installé un nouveau serveur Web et vous voulez voir comment il se comporte. Cette partie est pour vous.
Tout comme dans la section réseau, il existe de nombreux outils, graphiques ou CLI, qui vous aideront à rester en contact avec l’état des machines que vous administrez. Nous ne parlerons pas des outils graphiques, comme gnome-system-monitor, car X installé sur un serveur, où ces outils sont souvent utilisés, n’a pas vraiment de sens.
Le premier utilitaire de surveillance du système est un favori personnel et un petit utilitaire utilisé par les administrateurs système du monde entier. Il s’appelle top et doit être installé par défaut. Mais, si ce n’est pas le cas, exécutez cette commande :
sudo apt install procps
Vous pouvez exécuter la commande sans aucune option :
top
top est un visionneur de processus (il existe également HTup, une variante plus agréable à l’œil) et, comme vous pouvez le voir, il vous donne toutes les informations dont vous avez besoin lorsque vous voulez voir ce qui fonctionne sur votre système : processus, PID, utilisateur, état, temps, utilisation du processeur, etc.
Je commence généralement par -d 1, ce qui signifie qu’il doit s’exécuter et se rafraîchir toutes les secondes (en exécutant top sans options, la valeur du délai est fixée à trois). Une fois que top est démarré, appuyez sur certaines touches pour vous aider à ordonner les données de différentes manières : en appuyant sur 1, vous afficherez l’utilisation de tous les processeurs, à condition que vous utilisiez une machine et un noyau SMP, P ordonne les processus listés après l’utilisation du processeur, M après l’utilisation de la mémoire et ainsi de suite. Si vous souhaitez exécuter top un certain nombre de fois, utilisez -n $number. La page de manuel vous donnera accès à toutes les options, bien sûr.
Pour installer htop à la place, utilisez cette commande :
sudo apt install htop
Pour quitter l’écran de l’une ou l’autre des applications, utilisez la touche Q de votre clavier.
Bien que top vous aide à surveiller l’utilisation de la mémoire du système, il existe d’autres applications spécialement écrites à cet effet. Deux d’entre eux sont free et vmstat (virtual memory status). Nous utilisons généralement free uniquement avec l’option -m (mégaoctets), et sa sortie ressemble à ceci :
total used free shared buffers cached
Mem: 2012 1913 98 0 9 679
-/+ buffers/cache: 1224 787
Swap: 2440 256 2184
vmstat est plus complète, car elle vous montrera également les statistiques d’E/S et de CPU, entre autres. Free et vmstat font également partie du paquet procps, au moins sur les systèmes Debian et Ubuntu. Mais lorsqu’il s’agit de surveillance des processus, l’outil le plus utilisé est ps, qui fait également partie du package procps.
Il peut être complété par pstree, qui fait partie de psmisc, qui affiche tous les processus dans une structure arborescente. Parmi les drapeaux les plus utilisés par ps, citons -a (tous les processus avec tty), -x (complémentaire à -a, voir la page de manuel pour les styles BSD), -u (format orienté utilisateur) et -f (sortie de type forêt). Il s’agit uniquement de modificateurs de format, et non d’options au sens classique du terme. Ici, l’utilisation de la page de manuel est obligatoire, car ps est un outil que vous utiliserez souvent.
ps aux
D’autres outils de surveillance du système incluent le temps de fonctionnement (le nom est un peu explicite), who (pour une liste des utilisateurs connectés), lsof (liste des fichiers ouverts) ou sar, qui fait partie du paquet sysstat, pour la liste des compteurs d’activité.
Pour plus d’aide, consultez certains de ces autres guides que nous avons rédigés :
- Comment surveiller l’utilisation de la RAM sous Linux
- Comment vérifier et surveiller l’utilisation du processeur sous Linux
- Comment utiliser la commande ps sous Linux : Guide du débutant
Conclusion
Comme dit précédemment, la liste des utilitaires présentée ici n’est en aucun cas exhaustive. Notre intention était de rédiger un article qui explique les principaux outils de surveillance pour un usage quotidien. Cela ne remplacera pas la lecture et le travail avec des systèmes réels pour une compréhension complète de la question.

