Comprendre le système de fichiers /proc de Linux : un guide pour débutants
Le système de fichiers /proc de Linux est un système de fichiers virtuel qui fournit des informations détaillées en temps réel sur le système, y compris les processus, la mémoire, le CPU et l'activité réseau. Contrairement aux systèmes de fichiers traditionnels, /proc ne stocke pas de données sur un disque. À la place, il génère dynamiquement des fichiers et des répertoires en fonction de l'état actuel du noyau Linux.
Qu'est-ce que le système de fichiers /proc ?
Le système de fichiers /proc est un répertoire spécial sous Linux qui sert d'interface entre le noyau et l'espace utilisateur. Il permet aux utilisateurs et aux administrateurs système de récupérer des informations système sans avoir besoin d'outils spécialisés. En lisant les fichiers à l'intérieur de /proc, vous pouvez accéder à des détails du système tels que l'utilisation du CPU, l'état de la mémoire, les processus en cours d'exécution, et plus encore.
Le système de fichiers /proc est utile pour :
- Surveillance en temps réel :
/procfournit l'état du système à jour, tel que l'utilisation du CPU, l'utilisation de la mémoire, et plus encore. - Outil de débogage : Aide à résoudre les problèmes de performance et liés aux processus.
- Gestion des processus : Affiche des informations sur les processus actifs.
- Configuration du réseau : Affiche les détails du réseau, y compris les connexions actives.
- Configuration : Modifier certains paramètres du noyau à l'exécution.
- Apprentissage : Comprenez comment votre système fonctionne en coulisses.
Explorer les fichiers et répertoires /proc
Le répertoire /proc contient divers fichiers et sous-répertoires. Certains des plus importants incluent :
Fichiers d'information système
| Fichier | Description |
|---|---|
/proc/cpuinfo | Détails sur le processeur (modèle, cœurs, vitesse) |
/proc/meminfo | Utilisation de la mémoire (totale, libre, tampons) |
/proc/stat | Statistiques système (CPU, interruptions, changements de contexte) |
/proc/uptime | Temps de fonctionnement et temps d'inactivité du système |
/proc/loadavg | Moyennes de charge du CPU sur 1, 5 et 15 minutes |
/proc/version | Version du noyau et détails de compilation |
/proc/cmdline | Paramètres du noyau passés lors du démarrage |
Systèmes de fichiers et stockage
| Fichier | Description |
|---|---|
/proc/mounts | Liste les systèmes de fichiers montés et leurs types |
/proc/filesystems | Affiche les types de systèmes de fichiers pris en charge |
/proc/swaps | Informations sur les espaces d'échange actifs |
/proc/diskstats | Statistiques d'E/S disque (lectures, écritures, temps) |
Informations sur le réseau
| Fichier | Description |
|---|---|
/proc/net/dev | Statistiques de l'interface réseau (paquets RX/TX, octets, erreurs) |
/proc/net/tcp | Liste les connexions TCP actives (adresses, ports, files d'attente) |
/proc/net/route | Affiche la table de routage IPv4 du noyau |
/proc/net/sockstat | Statistiques des sockets (sockets alloués, orphelins) |
/proc/sys/net/ipv4/conf/eth0/ | Paramètres IPv4 de l'interface réseau eth0 |
Informations spécifiques au processus
Chaque processus en cours d'exécution sous Linux possède un répertoire à l'intérieur de /proc, nommé d'après son identifiant de processus (PID). Par exemple, un processus avec le PID 1234 aura un répertoire /proc/1234/ contenant :
| Fichier | Description |
|---|---|
/proc/[PID]/cmdline | Arguments de ligne de commande utilisés par le processus |
/proc/[PID]/status | Détails du processus (état, mémoire, threads) |
/proc/[PID]/io | Statistiques E/S du processus |
/proc/[PID]/fd/ | Descripteurs de fichier ouverts utilisés par le processus |
/proc/[PID]/net/ | Détails liés au réseau du processus |
Comment utiliser les commandes /proc sous Linux
Vous pouvez utiliser des commandes Linux de base pour explorer le système de fichiers /proc :
1. Afficher les informations sur le processeur :
cat /proc/cpuinfo2. Vérifier la mémoire disponible :
cat /proc/meminfo3. Surveiller le temps de fonctionnement du système :
cat /proc/uptime4. Lister les systèmes de fichiers montés :
cat /proc/mounts5. Afficher les processus en cours :
ls /proc | grep "^[0-9]"Aide-mémoire du système de fichiers /proc de Linux
Voici une aide-mémoire pratique résumant les fichiers et répertoires clés dans le système de fichiers /proc :
| Fichier/Répertoire | Description |
|---|---|
cat /proc/cpuinfo | Détails du processeur (modèle, cœurs, vitesse). |
cat /proc/meminfo | Utilisation de la mémoire (totale, libre, utilisée). |
cat /proc/uptime | Temps de fonctionnement et temps d'inactivité du système. |
cat /proc/loadavg | Charge système moyenne sur 1, 5 et 15 minutes. |
cat /proc/version | Version du noyau et informations de compilation. |
cat /proc/cmdline | Paramètres du noyau passés lors du démarrage. |
cat /proc/mounts | Liste des systèmes de fichiers montés. |
cat /proc/swaps | Informations sur les espaces d'échange actifs. |
cat /proc/net/dev | Statistiques de l'interface réseau. |
cat /proc/net/tcp | Connexions TCP actives. |
cat /proc/net/route | Table de routage IPv4 du noyau. |
ls /proc/[PID] | Lister les informations sur un processus |
cat /proc/PID/cmdline | Arguments de ligne de commande pour un processus spécifique. |
cat /proc/PID/status | Statut détaillé d'un processus. |
cat /proc/PID/io | Statistiques d'E/S pour un processus. |
ls /proc/PID/fd/ | Descripteurs de fichiers ouverts par un processus. |
ls /proc/sys/ | Paramètres du noyau pouvant être modifiés pendant l'exécution. |
cat /proc/stat | Voir les statistiques du système |
Imprimez cette feuille de référence et gardez-la près de votre bureau.
Conclusion
Le système de fichiers /proc est un outil essentiel pour les utilisateurs de Linux, les administrateurs système et les développeurs. En comprenant sa structure et ses fichiers clés, vous pouvez surveiller les performances du système, déboguer les problèmes et récupérer des informations système importantes en temps réel.
Commencez à explorer /proc dès aujourd'hui pour apprendre le fonctionnement interne de votre système Linux !