Nous allons apprendre dans ce chapitre à utiliser une série de commandes qui nous permettront de savoir ce qui se passe actuellement dans notre ordinateur.
La première commande que je veux vous faire découvrir est très courte et facile à retenir : c'est
w (comme la lettre oui oui

).
C'est la première commande que je tape en général quand je me connecte à un serveur surchargé et que je veux essayer de comprendre ce qui se passe. Cela me permet de voir d'un seul coup d'oeil si la machine est vraiment surchargée (et si oui, à quel point) et si quelqu'un d'autre est en train d'intervenir sur la machine.
Si vous utilisez Linux sur votre ordinateur personnel, tranquillement chez vous, vous êtes le seul à l'utiliser en ce moment. Pour que d'autres personnes puissent se connecter à votre ordinateur via internet, il faut avoir configuré Linux pour ça. Nous verrons comment faire cela plus tard. On en a principalement besoin sur les serveurs.
Essayons d'utiliser w pour voir comment ça marche, n'ayez pas peur c'est sans danger :
Code : Console | $ w
16:50:30 up 8:50, 2 users, load average: 0,08, 0,34, 0,31
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
mateo21 :0 - 19Apr08 ?xdm? 3:38m 1.18s /usr/bin/gnome-
mateo21 pts/0 :0.0 16:49 0.00s 0.33s 0.03s w |
Bon, à première vue c'est court mais dense, ça n'a pas l'air très clair.
Pourtant, cette commande nous donne en fait un condensé d'informations très utiles que je vais vous présenter dans l'ordre, de gauche à droite et de haut en bas.
L'heure (aussi accessible via "date")
Ici, l'heure qui nous est donnée est
16:50:30 (16h 50m 30s).
Cette information est aussi accessible depuis la commande
date qui nous donne... la date, l'heure et le décalage horaire.
Code : Console | $ date
jeudi 16 octobre 2008, 17:26:27 (UTC+0200) |
La commande date permet en outre de modifier la date enregistrée dans l'ordinateur. C'est un peu particulier et pas très intéressant, nous ne verrons donc pas comment le faire ici (mais il vous suffit de lire le manuel si vous en avez vraiment besoin).
L'uptime (aussi accessible via "uptime")
Dans notre exemple plus haut, l'information d'uptime est la suivante :
up 8:50. C'est la durée de fonctionnement de l'ordinateur.
L'uptime peut aussi être obtenu via la commande uptime.
En soi, cette information n'a pas l'air très utile mais elle permet quand même de savoir depuis combien de temps l'ordinateur travaille et donc depuis combien de temps il n'a pas été redémarré.
Notez que, contrairement à Windows, il est extrêmement rare que l'installation d'un programme nous réclame de redémarrer l'ordinateur. En fait, vous avez besoin de redémarrer principalement quand vous mettez à jour le noyau (le coeur) de Linux. Autrement, il n'est jamais nécessaire de redémarrer l'ordinateur entièrement.
Ce mode de fonctionnement est particulièrement adapté sur les serveurs qui, par définition, sont des machines qui doivent être tout le temps allumées pour servir les gens qui en ont besoin. Par exemple, les serveurs du Site du Zéro qui vous délivrent les pages du site 24h/24 7j/7 sont tout le temps allumés et nous n'avons pratiquement jamais besoin de les redémarrer. Pour preuve, l'uptime de notre serveur Lisa au moment où j'écris ces lignes :
Code : Console | $ uptime
17:45:58 up 211 days, 15:24, 1 user, load average: 2.44, 2.66, 2.28 |
Notre serveur est en fonctionnement depuis 211 jours. Il n'a pas eu besoin d'être redémarré depuis. Cela témoigne notamment de la robustesse de Linux et de sa capacité à "tenir le coup" pendant très longtemps.
La charge (aussi accessible via "uptime" et "tload")
En haut à droite de notre exemple, nous avons la charge. Ce sont 3 valeurs décimales :
load average: 0,08, 0,34, 0,31.
La charge est un indice de l'activité de l'ordinateur. Il y a 3 valeurs :
- La première correspond à la charge moyenne depuis 1 minute (0,08).
- La seconde à la charge moyenne depuis 5 minutes (0,34).
- La dernière à la charge moyenne depuis 15 minutes (0,31).
Qu'est-ce que ce nombre représente ?
C'est un peu compliqué. Si vous voulez vraiment savoir, la doc nous dit qu'il s'agit du nombre moyen de processus (programmes) qui sont en train de tourner et qui réclament l'utilisation du processeur.
Cela veut dire que, depuis une minute, il y a en moyenne 0,33 processus qui réclament le processeur. Votre processeur est donc actif 33% du temps.
Mais ce nombre dépend du nombre de processeurs dans votre ordinateur. Un ordinateur
dual core ne sera complètement chargé que lorsque la valeur aura atteint 2. Pour un
quad core (4 coeurs de processeur), la valeur maximale avant surcharge sera de 4.
Bref, rien ne vous oblige à savoir ce que ce nombre signifie. Vous avez juste besoin de savoir que, lorsqu'il dépasse 1 (si vous avez un processeur), 2 ou 4, alors votre ordinateur est surchargé. J'ai déjà vu des machines avec une charge de 60, et même plus !
Quand la charge est très élevée pendant une longue période, c'est qu'il y a clairement un problème. Il y a trop de programmes qui réclament le processeur et quelque chose ne va pas dans l'ordinateur. Celui-ci aura du mal à répondre en cas de forte charge.
Notez que vous pouvez obtenir un graphique de l'évolution de la charge en console via la commande
tload. Le graphe évolue au fur et à mesure du temps, il faut patienter un petit peu avant d'avoir quelque chose :
Vous pouvez quitter le graphe avec Ctrl + C.
La liste des connectés (aussi accessible via "who")
Enfin, le tableau en bas qui nous est donné par
w est surtout intéressant sur un serveur (une machine partagée par plusieurs utilisateurs). Il donne la liste des personnes connectées sur la machine, ce qu'ils sont en train de faire et depuis combien de temps.
Code : Console | USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
mateo21 :0 - 19Apr08 ?xdm? 3:38m 1.18s /usr/bin/gnome-
mateo21 pts/0 :0.0 16:49 0.00s 0.33s 0.03s w |
Là, j'étais sur mon ordinateur personnel sous Ubuntu. Je ne l'ai pas configuré pour qu'on puisse se connecter dessus depuis internet (comme vous certainement), ce qui explique pourquoi je suis seul.
Certes, j'apparais 2 fois. Nous allons comprendre pourquoi lorsque nous aurons appris à lire le tableau.
Il n'est pas nécessaire de décrire chacune des colonnes. Sachez qu'en gros vous avez :
- USER : le nom de l'utilisateur (son login)
- TTY : le nom de la console dans laquelle se trouve l'utilisateur. Souvenez-vous que sous Linux il y a en général 6 consoles (tty1 à tty6) et qu'en plus de ça on peut en ouvrir une infinité grâce aux consoles graphiques (leur nom commence par pts en général), comme le propose le programme "Terminal" sous Gnome ou "Konsole" sous KDE.
- FROM : c'est l'adresse IP (ou le nom d'hôte) depuis laquelle il se connecte. Ici comme je me suis connecté en local (sur ma propre machine, sans passer par internet), il n'y a pas vraiment d'IP.
- LOGIN@ : l'heure à laquelle cet utilisateur s'est connecté.
- IDLE : depuis combien de temps cet utilisateur est inactif (depuis combien de temps il n'a pas lancé de commande).
- WHAT : la commande qu'il est en train d'exécuter en ce moment. En général, si vous voyez "bash" cela signifie qu'il a juste un invite de commandes ouvert (il n'exécute donc pas de commande particulière).
Dans mon cas, on voit donc 2 utilisateurs (2 fois moi). Le premier correspond à la session "graphique" : on le devine notamment grâce à la dernière colonne WHAT qui indique que cet utilisateur est en train d'exécuter l'environnement graphique gnome.
L'autre utilisateur est sur une console (ici une console "graphique" lancée depuis gnome). Cet utilisateur est en train d'exécuter... la commande w ! En effet, lorsque je lance w je me "vois" en train de l'exécuter dans la liste des utilisateurs connectés, c'est parfaitement normal.