Gestion des processus sur GNU/Linux

LES actions du système sont nommées processus et figurent dans le répertoire /proc . Comme il n'est pas question de farfouiller là-dedans, les commandes suivantes nous permettent d'observer et agir sur ces processus.

Cette page explique le minimum à connaître sur un système GNU/Linux (ligne de commande, système de fichiers…)

1. ps     2. top     3. kill et killall     4. Mémoire

lscpu et cat /proc/cpuinfo informent sur les processeurs centraux.

1. ps

ps -ef permet de visualiser les processus en cours, par exemple (non exhaustif):

toto@diderot:~$ ps -ef
UID    PID  PPID  C STIME TTY        TIME CMD
root     1     0  0 09:14 ?      00:00:00 init [2]
root     2     0  0 09:14 ?      00:00:00 [kthreadd]
  …
toto  5115     2  0 11:39 ?      00:00:00 [kworker/u16:0]
jc    5158     1  2 11:42 ?      00:00:01 pluma /home/toto/sites/linux/basiques.htm
toto  5170  3174 15 11:43 ?      00:00:00 mate-terminal
toto  5178  5170  0 11:43 ?      00:00:00 gnome-pty-helper
toto  5179  5170  1 11:43 pts/0  00:00:00 bash
toto  5221  5179  0 11:43 pts/0  00:00:00 ps -ef

pstree affiche l'arborescence des processus en cours

2. top

top affiche dans une console les caractéristiques des processus: numéro, utilisateur… pourcentages d'utilisation du CPU et de mémoire, temps d'utilisation et nom de la commande. L'affichage est dynamique, les données changeant toutes les trois secondes (par défaut), avec classement par pourcentage de ressource CPU utilisé. Pour une fois, man top sera assez explicatif.

Cette commande est très utile pour déceler les commandes ou logiciels gourmants en mémoire ou en utilisation du processeur. [q] pour en sortir.

3. kill et killall

kill nnn permet de détruire un processus lors d'une impossibilité de quitter une application par la voie normale, ce qui empêche parfois de la relancer (nnn représente son ProcessusIDentification, voir ci-dessus la colonne PID).

killall nom permet de détruire un processus par son nom de commande (voir la colonne CMD du 1.).

Attention! Les processus sont lancés soit par l'utilisateur, soit par le système. Pour tuer un processus, il est nécessaire de disposer du droit de le faire: un processus marqué root ne peut être tué que par le super-utilisateur.

4. Mémoire

free affiche en Kio (kilo-informatique=1024 octets) les volumes disponibles et occupés de la mémoire vive (RAM) et de la mémoire virtuelle (partition ou fichier swap). free -h pour une sortie «humaine»: Gio ou Mio selon la taille.

cat /proc/sys/vm/swappiness retourne le pourcentage non utilisé de RAM à partir duquel la partition ou le fichier swap est utilisé. Sur Debian c'est 60 par défaut.

#En mode super-utilisateur: su - [Enter] sysctl vm.swappiness=20 permet 80% de RAM active avant de solliciter la partition ou le fichier swap.

cat /proc/meminfo donne le détail des mémoires globales utilisées, qui demande à être expliqué [page manquante 2020.01.24].

top ([q] pour sortir) affiche de façon dynamique l'utilisation des ressources de chaque processus…