logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:systeme:fhs-proc [31/03/2013 08:33]
smolski
doc:systeme:fhs-proc [31/03/2013 16:29]
smolski [Introduction]
Ligne 1: Ligne 1:
 ====== /proc ====== ====== /proc ======
  
-C'est le répertoire contenant toutes les informations sur le fonctionnement du processeur en direct live ! +C'est le répertoire contenant toutes les informations sur le fonctionnement du processeur en direct live ! \\
 Ces informations créent des fichiers virtuels qui vont disparaître au prochain arrêt du pc. Ces informations créent des fichiers virtuels qui vont disparaître au prochain arrêt du pc.
  
Ligne 18: Ligne 17:
 Le répertoire /proc contient un grand nombre de fichiers et de sous-répertoires. \\ Le répertoire /proc contient un grand nombre de fichiers et de sous-répertoires. \\
 Examinons tout d'​abord les fichiers contenus dans le premier niveau de l'​arborescence. \\ Examinons tout d'​abord les fichiers contenus dans le premier niveau de l'​arborescence. \\
 +
 +===== Arborescence =====
  
 Ces fichiers décrivent la configuration matérielle et l'​état du système. Ces fichiers décrivent la configuration matérielle et l'​état du système.
Ligne 34: Ligne 35:
   * loadavg : Charge moyenne de la machine. Comparez les sorties des commandes cat /​proc/​loadavg et uptime. ​   * loadavg : Charge moyenne de la machine. Comparez les sorties des commandes cat /​proc/​loadavg et uptime. ​
   * locks : Liste des verrous actifs (voir la page de manuel de la fonction flock() pour plus de détails sur le sujet). ​   * locks : Liste des verrous actifs (voir la page de manuel de la fonction flock() pour plus de détails sur le sujet). ​
-  * meminfo : Ce fichier donne des informations sur l'​utilisation globale de la mémoire. Ces informations sont notamment reprises par la commande free. Comparez les sorties des commandes cat /​proc/​meminfo et free+  * meminfo : Ce fichier donne des informations sur l'​utilisation globale de la mémoire. Ces informations sont notamment reprises par la commande ​//free//\\ Comparez les sorties des commandes ​<code bash>cat /​proc/​meminfo</​code> ​et <code bash>free</​code> ​
   * misc : Informations diverses. ​   * misc : Informations diverses. ​
-  * modules : Liste des modules noyau en cours d'​utilisation. Cette liste est notamment utilisée par la commande lsmod.  +  * modules : Liste des modules noyau en cours d'​utilisation. Cette liste est notamment utilisée par [[commande:​lsmod |la commande lsmod]].  
-  * mounts : Liste des systèmes de fichiers en cours d'​utilisation. Encore une fois, cette liste est très proche de la sortie de la commande mount lorsqu'​elle est appelée sans paramètre. Bien que la commande mount utilise en fait le fichier /etc/mtab, il est possible de créer un lien symbolique de /etc/mtab vers /​proc/​mounts pour les systèmes qui tournent avec le système de fichiers racine monté en lecture seule. ​+  * mounts : Liste des systèmes de fichiers en cours d'​utilisation. Encore une fois, cette liste est très proche de la sortie ​[[commande:​mount |de la commande mount]] lorsqu'​elle est appelée sans paramètre. Bien que la commande ​//mount// utilise en fait le fichier// /etc/mtab//, il est possible de créer un lien symbolique((Voir : [[commande:​ln | la commande ln]])) ​de ///etc/mtab// vers ///​proc/​mounts// pour les systèmes qui tournent avec le système de fichiers racine monté en lecture seule. ​
   * partitions : Liste des partitions connues par le système. ​   * partitions : Liste des partitions connues par le système. ​
   * rtc : Informations sur l'​horloge temps réel (Real Time Clock). ​   * rtc : Informations sur l'​horloge temps réel (Real Time Clock). ​
   * slabinfo : Informations sur le système d'​allocation mémoire du noyau. ​   * slabinfo : Informations sur le système d'​allocation mémoire du noyau. ​
-  * stat : Statistiques globales cumulées depuis le dernier démarrage sur l'​utilisation du système : temps CPU total utilisé, nombre d'​interruptions,​ nombre de défaut de pages, nombre total de processus lancés, etc. +  * stat : Statistiques globales cumulées depuis le dernier démarrage sur l'​utilisation du système : 
 +     ​* ​temps CPU total utilisé, 
 +     ​* ​nombre d'​interruptions,​ 
 +     ​* ​nombre de défaut de pages, 
 +     ​* ​nombre total de processus lancés, 
 +     ​* ​etc. 
   * swaps : Liste des partitions disque utilisées par le système de mémoire virtuelle (swap). ​   * swaps : Liste des partitions disque utilisées par le système de mémoire virtuelle (swap). ​
   * uptime : Temps en secondes depuis le démarrage du système. ​   * uptime : Temps en secondes depuis le démarrage du système. ​
Ligne 47: Ligne 53:
  
 **/proc** contient également un certain nombre de répertoires dont le nom est un nombre. \\ **/proc** contient également un certain nombre de répertoires dont le nom est un nombre. \\
-Il y en a un par processus en cours d'​exécution sur le système et chacun d'​entre eux contient des fichiers et répertoires qui donnent un certain nombre d'​informations sur le processus en question. ​\\ +Il y en a un par processus en cours d'​exécution sur le système et chacun d'​entre eux contient des fichiers et répertoires qui donnent un certain nombre d'​informations sur le processus en question. 
-Notons au passage qu'un lien nommé self pointe automatiquement vers le répertoire contenant les informations sur le processus courant; ainsi :+ 
 +Notons au passage qu'un lien nommé ​**self** pointe automatiquement vers le répertoire contenant les informations sur le processus courant; ainsi :
 <code bash> <code bash>
 ls -al /​proc/​self</​code>​ ls -al /​proc/​self</​code>​
Ligne 80: Ligne 87:
 lrwx------ ​   1 root     ​root ​          64 sep 29 16:46 2 -> /dev/pts/1 lrwx------ ​   1 root     ​root ​          64 sep 29 16:46 2 -> /dev/pts/1
 lrwx------ ​   1 root     ​root ​          64 sep 29 16:46 255 -> /dev/pts/1 lrwx------ ​   1 root     ​root ​          64 sep 29 16:46 255 -> /dev/pts/1
-lrwx------ ​   1 root     ​root ​          64 sep 29 16:46 4 -> socket:​[177]</​code>​Les trois premiers descripteurs de fichiers (0, 1, 2) correspondent aux flux d'​entrée (stdin), de sortie (stdout) et d'​erreur (stderr) ​standards et seront présents pour quasiment tous les processus.+lrwx------ ​   1 root     ​root ​          64 sep 29 16:46 4 -> socket:​[177]</​code>​Les trois premiers descripteurs de fichiers (0, 1, 2) correspondent aux flux standards et seront présents pour quasiment tous les processus : 
 +       ​- ​d'​entrée (stdin), 
 +       ​- ​de sortie (stdout) 
 +       ​- ​et d'​erreur (stderr).
  
   * maps : Cartographie mémoire du processus.<​code>​   * maps : Cartographie mémoire du processus.<​code>​
Ligne 97: Ligne 107:
 bfffb000-c0000000 rwxp ffffc000 00:00 0</​code>​Examinons de plus près la signification de chaque ligne : bfffb000-c0000000 rwxp ffffc000 00:00 0</​code>​Examinons de plus près la signification de chaque ligne :
      - Les deux premiers nombres hexadécimaux correspondent à l'​adresse virtuelle de la zone mémoire.      - Les deux premiers nombres hexadécimaux correspondent à l'​adresse virtuelle de la zone mémoire.
-     - Le troisième champ correspond aux permissions d'​accès de la zone : lecture (r), écriture (w) et exécution (x).+     - Le troisième champ correspond aux permissions d'​accès de la zone : 
 +       ​- ​lecture (r), 
 +       ​- ​écriture (w) et 
 +       ​- ​exécution (x).
  
   * mem : Mémoire utilisée par le processus. ​   * mem : Mémoire utilisée par le processus. ​
Ligne 130: Ligne 143:
  
 Examinons une par une la signification de chaque ligne : Examinons une par une la signification de chaque ligne :
-  * Name : Le nom du processus, tel qu'il apparaîtra lorsqu'​il sera listé par la commande ps (par exemple).  +  * Name : Le nom du processus, tel qu'il apparaîtra lorsqu'​il sera listé par [[commande:​ps |la commande ps]] (par exemple).  
-  * State : Etat actuel du processus : en attente interruptible [S]en attente non-interruptible (généralement une requête d'​entrée/​sortie) [D]en cours d'​exécution ​[R]Zombie ​[Z], Stoppé ou tracé ​[T]. +  * State : Etat actuel du processus :  
 +     * [S] en attente interruptible
 +     ​* ​[D] en attente non-interruptible (généralement une requête d'​entrée/​sortie)
 +     ​* ​[R] en cours d'​exécution,​ 
 +     ​* ​[Z] Zombie, 
 +     ​* ​[T] Stoppé ou tracé 
   * Pid, PPid : Numéro du processus et de celui de son père. ​   * Pid, PPid : Numéro du processus et de celui de son père. ​
   * Uid, Gid : Numéro d'​utilisateur réel et effectif du processus. ​   * Uid, Gid : Numéro d'​utilisateur réel et effectif du processus. ​
Ligne 138: Ligne 157:
 Les sept lignes suivantes concernent l'​utilisation mémoire : Les sept lignes suivantes concernent l'​utilisation mémoire :
   * VmSize : Quantité de mémoire totale utilisée. ​   * VmSize : Quantité de mémoire totale utilisée. ​
-  * VmLck : Quantité de mémoire virtuelle verrouillée en RAM. Cela est obtenu en appelant la fonction mlock() et est souvent utilisé par les processus qui veulent garantir un très bon temps de réponse en évitant d'​être swappé. Le daemon NTP est un des programmes utilisant cette technique. ​+  * VmLck : Quantité de mémoire virtuelle verrouillée en RAM. Cela est obtenu en appelant la fonction mlock() et est souvent utilisé par les processus qui veulent garantir un très bon temps de réponse en évitant d'​être swappé. ​\\ Le daemon ​**NTP** est un des programmes utilisant cette technique. ​ 
   * VmRSS : (Virtual Memory Resident Stack Size) Taille de la pile en mémoire. ​   * VmRSS : (Virtual Memory Resident Stack Size) Taille de la pile en mémoire. ​
   * VmData : Taille du segment de données. ​   * VmData : Taille du segment de données. ​
Ligne 710: Ligne 730:
 La dernière colonne affiche le dernier ID de processus utilisé. La dernière colonne affiche le dernier ID de processus utilisé.
  
 +===== Remerciements =====
 +
 +**Source :**
 +  * http://​okki666.free.fr/​docmaster/​articles/​linux070.htm
 +
 +**Références :** \\
 +Fichier Documentation/​filesystems/​proc.txt dans les sources du noyau (qui a été d'une grande aide pour la rédaction de cet article qui s'en est largement inspiré). Le code source du système de fichiers /proc dans les sources du noyau se trouve dans le répertoire fs/proc.
 +
 +//Merci à ://
 +  * **Vincent Renardias** vincent@renardias.com
 +Pour son article parût dans : **Linux Magazine France** n° 18 - Juin 00
doc/systeme/fhs-proc.txt · Dernière modification: 03/11/2016 15:28 par bendia

Pied de page des forums

Propulsé par FluxBB