Le système de fichiers proc (procfs) est un système de fichiers virtuel créé à la volée lorsque le système démarre et dissous au moment de l’arrêt du système. Il contient des informations utiles sur les processus en cours d’exécution et est considéré comme un centre de contrôle et d’information pour le noyau. Le système de fichiers proc fournit également un moyen de communication entre l’espace du noyau et l’espace utilisateur.
Dans ce guide complet, vous allez apprendre tout ce qu’il faut savoir sur le répertoire /proc de Linux (qu’est-ce que /proc, à quoi il sert et quel est con contenu et comment le consulter.
Qu’est-ce que /proc dans Linux
Le système de fichiers /proc sert d’interface aux structures de données du noyau et aux informations d’exécution, ce qui permet aux utilisateurs et aux applications d’accéder à des informations détaillées sur les processus, la configuration du système, le matériel et autres, en exposant ces données à travers une hiérarchie de fichiers virtuels.
Il est parfois appelé pseudo-système de fichiers d’informations sur les processus.
Il ne contient pas de “vrais” fichiers, mais des informations sur le système en cours d’exécution (par exemple, la mémoire du système, les périphériques montés, la configuration matérielle, etc.)
C’est pourquoi il peut être considéré comme un centre de contrôle et d’information pour le noyau.
En fait, un grand nombre d’utilitaires système sont simplement des appels aux fichiers de ce répertoire.
Par exemple, ‘lsmod’ est la même chose que ‘cat /proc/modules’ tandis que ‘lspci’ est un synonyme de ‘cat /proc/pci’. En modifiant les fichiers situés dans ce répertoire, vous pouvez même lire/modifier les paramètres du noyau (sysctl) pendant que le système fonctionne.
Beaucoup d’utilitaires utilisent ces informations qu’ils mettent en forme pour afficher des données.
Par exemple, la commande ps peut consulter /proc pour afficher les processus en cours, l’état de la mémoire Linux, les PID, etc.
Comment naviguer dans /proc sous Linux
Lorsque vous naviguez dans le répertoire /proc, vous remarquez qu’il contient des fichiers à l’apparence familière, puis toute une série de répertoires numérotés, chacun correspondant à un processus en cours d’exécution sur le système.
cd /proc
ls
Quels sont les répertoires importants de /proc
Ces répertoires numérotés représentent les processus, mieux connus sous le nom d’ID de processus (PID), et, à l’intérieur de ceux-ci, une commande qui les occupe. Les fichiers contiennent des informations sur le système, telles que la mémoire (meminfo), le processeur (cpuinfo) et les systèmes de fichiers disponibles.
Il existe de nombreux répertoires contenant des informations sur l’activité, l’état du système ou du matériel.
Il serait donc assez fastidieux de tous les énumérer.
Voici une liste des principaux répertoires de /proc
Répertoire de /proc | Description |
/proc/apm | Informations sur la gestion avancée de l’énergie |
/proc/bus | Répertoire contenant des informations spécifiques aux bus |
/proc/console | Informations sur les consoles actuelles, y compris le tty |
/proc/cpuinfo | Liste des informations sur le(s) processeur(s) du système, telles que le modèle, la vitesse et le nombre de cœurs |
/proc/crypto | Liste des modules cryptographiques disponibles |
/proc/diskstats | Les informations (y compris les numéros de périphérique) pour chacun des périphériques de disque logiques |
/proc/dma | Informations sur les canaux DMA actuels |
/proc/fb | Périphérique Framebuffer |
/proc/filesystems | Liste des systèmes de fichiers pris en charge par le noyau au moment de l’établissement de la liste |
/proc/kmsg | Contenir les messages émis par le noyau |
/proc/interrupts | Vérifier quelles interruptions sont actuellement utilisées |
/proc/ioports | Utilisation du port E/S |
/proc/locks | Fichiers actuellement verrouillés par le noyau |
/proc/meminfo | Liste les détails sur l’utilisation de la mémoire et les statistiques qui contiennent la quantité totale de mémoire, la mémoire libre et la mémoire utilisée par chaque processus |
/proc/modules | Liste des modules chargés |
/proc/mounts | Liste de tous les montages utilisés par le système. |
/proc/partitions | Table des partitions |
/proc/PID | Contient des informations sur un processus spécifique, où PID est l’identifiant du processus |
/proc/net | Affiche toutes les informations réseau |
/proc/sys | Liste des paramètres de configuration et d’exécution du noyau |
/proc/loadavg | Affiche la moyenne de la charge du système sur différents intervalles de temps tels que 1, 5 et 15 minutes. |
/proc/self | Un lien symbolique vers le répertoire du processus |
/proc/stat | Contient diverses statistiques sur le système, telles que le nombre de processus en cours d’exécution, le nombre d’interruptions et le temps passé dans chaque état de l’unité centrale. |
/proc/swap | Informations sur l’espace d’échange |
/proc/tty | Informations sur les terminaux actuels |
/proc/uptime | Contient la durée de fonctionnement du système |
/proc/version | Stocke la version du noyau Linux, le numéro de distribution, le numéro de version de gcc (utilisé pour compiler le noyau) et toute autre information pertinente relative à la version du noyau en cours d’exécution |
Pour une liste plus complète, consultez : https://www.kernel.org/doc/html/latest/filesystems/proc.html
Comment extraire des informations système
Etant donné que la plupart des fichiers sont des fichiers texte, vous pouvez consulter le contenu à l’aide de la commande cat.
Par exemple, pour obtenir les informations sur la configuration matérielles du processeur, il faut consultez le contenu de /proc/cpuinfo.
Pour cela, utilisez la commande suivante :
cat /proc/cpuinfo
Le fichier /proc/meminfo est utilisé pour afficher des informations sur l’utilisation de la mémoire et les statistiques d’un système Linux. Il contient un aperçu de diverses mesures liées à la mémoire, qui peuvent être utiles pour surveiller les performances du système et l’utilisation des ressources.
/proc/PID/ : extraire des informations sur les processus
Dans les répertoires numérotés de /proc, vous trouverez quelques fichiers et liens. Rappelez-vous que les numéros de ces répertoires correspondent au PID de la commande qui y est exécutée.
Par exemple, en naviguant vers /proc/, vous obtiendrez des informations telles que :
- /proc/cmdline – Arguments de la ligne de commande utilisés pour lancer le processus
- /proc/status – Informations détaillées sur l’état, y compris l’utilisation de la mémoire et les statistiques du processus
- /proc/fd – Liens symboliques vers les fichiers ouverts par le processus
Par exemple, visualisons le contenu du répertoire lié au processus dont le PID est 132508 :
cd /proc/132508/
ls
Puis, consultons le contenu du fichier status :
cat /proc/132508/status
Nous pouvons voir dans le fichier d’état que ce processus appartient à rcu_tasks_rude_kthread. Son état actuel est idle, et son ID de processus est 132508, évidemment.
Nous pouvons également voir qui l’exécute, puisque UID et GID sont à 0, ce qui indique que ce processus appartient à l’utilisateur root.
Répertoire de /proc | Description |
/proc/PID/cmdline | Arguments de la ligne de commande |
/proc/PID/cpu | L’unité centrale actuelle et la dernière unité centrale dans laquelle il a été exécuté |
/proc/PID/cwd | Lien vers le répertoire de travail actuel |
/proc/PID/environ | Valeurs des variables d’environnement |
/proc/PID/exe | Lien vers l’exécutable de ce processus |
/proc/PID/fd | Répertoire contenant tous les descripteurs de fichiers |
/proc/PID/pagemap | Tableau des pages |
/proc/PID/maps | Cartes mémoire vers les exécutables et les fichiers de bibliothèque |
/proc/PID/mem | Mémoire détenue par ce processus |
/proc/PID/root | Lien vers le répertoire racine de ce processus |
/proc/PID/stat | État du processus |
/proc/PID/statm | Informations sur l’état de la mémoire du processus |
/proc/PID/stack | Rapporte la trace complète de la pile, activée via CONFIG_STACKTRACE |
/proc/PID/status |
État du processus sous une forme lisible par l’homme |
Liens
- 5 commandes Linux pour afficher la configuration matérielle
- lspci : Afficher la configuration matériel Linux
- Connaitre le processeur dans Linux (afficher configuration du CPU)
- La commande lshw : utilisations et exemples
- Afficher les informations systèmes et matérielles sur Ubuntu avec HardInfo
- /proc : surveiller votre système Linux
L’article /proc : surveiller votre système Linux est apparu en premier sur malekal.com.
0 Commentaires