Provided by: manpages-fr_3.65d1p1-1_all bug

NOM

       proc - Pseudosystème de fichiers d'informations sur les processus

DESCRIPTION

       Le  système  de  fichiers  proc est un pseudosystème de fichiers qui fournit une interface
       avec les structures de données du noyau. Il est généralement monté sur /proc.  La  plupart
       des  fichiers  sont  en  lecture  seule,  mais  quelques uns permettent la modification de
       variables du noyau.

       La liste suivante décrit de nombreux fichiers et répertoires de la hiérarchie de /proc.

       /proc/[pid]
              Il existe un sous-répertoire pour chaque processus actif. Le sous-répertoire  prend
              comme  nom  le PID du processus. Chaque sous-répertoire contient les pseudofichiers
              et pseudorépertoires suivants.

       /proc/[pid]/auxv (depuis le noyau 2.6.0-test7)
              Il comporte le contenu des informations passées par l'interpréteur ELF au processus
              lors  de  son  exécution.  Le  format est constitué, pour chacune des entrées, d'un
              identifiant unsigned long suivi d'une valeur  unsigned  long.  La  dernière  entrée
              comporte deux zéros.

       /proc/[pid]/cgroup (depuis Linux 2.6.24)
              Ce  fichier  décrit  les  groupes  de  contrôle  auquel  le  processus  ou la tâche
              appartiennent. Pour chaque hiérarchie de cgroup, une entrée contient une  liste  de
              champs séparés par des deux-points sous la forme :

                  5:cpuacct,cpu,cpuset:/daemons

              Les champs séparés par des deux-points sont, de gauche à droite :

                  1. identifiant numérique de hiérarchie ;

                  2. jeu de sous-systèmes liés à la hiérarchie ;

                  3. groupe de contrôle dans la hiérarchie auquel appartient le processus.

              Ce fichier n'est présent que si l'option de configuration du noyau CONFIG_CGROUPS a
              été validée.

       /proc/[pid]/clear_refs (depuis Linux 2.6.22)

              Ce fichier n'est accessible qu'en écriture, par le propriétaire du processus.

              Les valeurs suivantes peuvent être écrites dans le fichier.

              1 (depuis Linux 2.6.22)
                     Réinitialiser les bits PG_Referenced et ACCESSED/YOUNG de toutes  les  pages
                     liées  au  processus. Avant Linux 2.6.32, écrire n'importe quelle valeur non
                     nulle avait le même impact.

              2 (depuis Linux 2.6.32)
                     Réinitialiser les bits PG_Referenced et ACCESSED/YOUNG de toutes  les  pages
                     anonymes liées au processus.

              3 (depuis Linux 2.6.32)
                     Réinitialiser  les  bits PG_Referenced et ACCESSED/YOUNG de toutes les pages
                     où sont projetés des fichiers et liées au processus.

              La réinitialisation des bits PG_Referenced et ACCESSED/YOUNG  fournit  une  méthode
              pour  mesurer  approximativement  la quantité de mémoire utilisée par un processus.
              Inspecter d’abord  les  valeurs  du  champ  « Referenced »  des  zones  de  mémoire
              virtuelle (VMA) de /proc/[pid]/smaps permet d’avoir une idée de l’empreinte mémoire
              du processus. En réinitialisant ensuite les bits PG_Referenced  et  ACCESSED/YOUNG,
              inspecter  de  nouveau  les valeurs du champ « Referenced », après un intervalle de
              temps mesuré, permet d’avoir une idée de  l’évolution  de  l’empreinte  mémoire  du
              processus  pendant  cet  intervalle. Pour n’inspecter que les types sélectionnés de
              projection, les valeurs 2 ou 3 peuvent être utilisées au lieu de 1.

              Une valeur supplémentaire peut être écrite pour affecter un autre bit :

              4 (depuis Linux 3.11)
                     Effacer le bit soft-dirty pour toutes  les  pages  associées  au  processus.
                     C’est  utilisé  (en  conjonction avec /proc/[pid]/pagemap) par le système de
                     point de restauration pour découvrir les pages  qu’un  processus  a  souillé
                     depuis que le fichier /proc/[pid]/clear_refs a été écrit.

              L'écriture  dans /proc/[pid]/clear_refs d'une valeur différente de celles ci-dessus
              n'a aucun effet.

              Le fichier /proc/[pid]/clear_refs n'est présent que si l'option de configuration du
              noyau CONFIG_PROC_PAGE_MONITOR a été validée.

       /proc/[pid]/cmdline
              Ce  fichier  contient  la ligne de commande complète du processus, sauf s'il s'agit
              d'un zombie. Dans ce dernier cas, il n'y a  rien  dans  ce  fichier :  c'est-à-dire
              qu'une  lecture  de  ce fichier ne retournera aucun caractère. Les paramètres de la
              ligne de commande apparaissent  dans  ce  fichier  comme  un  ensemble  de  chaînes
              séparées  par  des  octets nuls (« \0 »), avec un octet nul supplémentaire après la
              dernière chaîne.

       /proc/[pid]/coredump_filter (depuis le noyau 2.6.23)
              Consultez core(5).

       /proc/[pid]/cpuset (depuis le noyau 2.6.12)
              Consultez cpuset(7).

       /proc/[pid]/cwd
              Lien symbolique vers le répertoire de travail actuel du processus. Pour obtenir  le
              répertoire de travail du processus 20 par exemple, vous pouvez faire ceci :

                  $ cd /proc/20/cwd; /bin/pwd

              Notez   que   la   commande  directe  pwd  est  souvent  une  commande  interne  de
              l'interpréteur de commandes, et qu'elle risque de ne pas fonctionner  correctement.
              Avec bash(1), vous pouvez utiliser pwd -P.

              Dans un traitement multiprocessus (multithreaded), le contenu de ce lien symbolique
              n'est pas disponible si le processus principal est déjà terminé (typiquement par un
              appel à pthread_exit(3).

       /proc/[pid]/environ
              Ce fichier contient l'environnement du processus. Les entrées sont séparées par des
              caractères nuls (« \0 »), et il devrait y en avoir un à la fin du  fichier.  Ainsi,
              pour afficher l'environnement du processus numéro 1, vous pouvez utiliser :

                  $ strings /proc/1/environ

       /proc/[pid]/exe
              Sous  Linux  2.2  et  ultérieur,  ce fichier est un lien symbolique représentant le
              chemin réel de la commande en cours  d'exécution.  Ce  lien  symbolique  peut  être
              déréférencé  normalement ;  tenter  de l'ouvrir ouvrira le fichier exécutable. Vous
              pouvez même entrer /proc/[pid]/exe pour lancer une autre instance du même processus
              [pid]  indiqué. Pour les multiprocessus, le contenu de ce lien symbolique n'est pas
              disponible si le processus principal s'est déjà terminé (typiquement par l'appel de
              pthread_exit(3)).

              Sous  Linux  2.0  et  précédents,  /proc/[pid]/exe était un pointeur sur le fichier
              binaire exécuté, qui apparaissait sous forme de lien symbolique. Un  appel  système
              readlink(2) sur ce fichier renvoyait une chaîne de la forme :

                  [périphérique]:inœud

              Par  exemple, [0301]:1502 correspond à l'inœud 1502 du périphérique ayant le numéro
              majeur 03 (disque IDE, MFM, etc.) et  mineur  01  (première  partition  du  premier
              disque).

              On peut utiliser find(1) avec l'option -inum pour retrouver le fichier exécutable à
              partir du numéro d'inœud.

       /proc/[pid]/fd/
              Il s'agit d'un sous-répertoire contenant une entrée pour chaque fichier ouvert  par
              le  processus.  Chaque  entrée  a  le  descripteur  du  fichier  pour  nom,  et est
              représentée par un lien symbolique vers le vrai  fichier.  Ainsi,  0  correspond  à
              l'entrée standard, 1 à la sortie standard, 2 à la sortie d'erreur, etc.

              Pour  les descripteurs de fichier de tubes et sockets, les entrées seront des liens
              symboliques dont le contenu est le type  de  fichier  avec  l’inœud.  Un  appel  de
              readlink(2) sur ce fichier renvoie une chaîne au format :

                  type:[inœud]

              Par  exemple,  socket:[2248868] sera une socket est son inœud est 2248868. Pour les
              sockets, cet inœud permet de trouver plus de renseignements dans un des fichiers de
              /proc/net/.

              Pour  les  descripteurs  de  fichier  sans  inœud  correspondant  (par  exemple les
              descripteurs de fichier produits par epoll_create(2), eventfd(2),  inotify_init(2),
              signalfd(2)  et timerfd(2)), l’entrée sera un lien symbolique avec un contenu de la
              forme :

                  inœud_anon:<type-fichier>

              Dans certains cas, le type-fichier est entouré de crochets.

              Par exemple, un descripteur de fichier  epoll  aura  un  lien  symbolique  dont  le
              contenu est la chaîne anon_inode:[eventpoll].

              Dans  un  traitement  multiprocessus  (multithreaded),  le contenu de ce répertoire
              n'est pas disponible si le processus principal est déjà  terminé  (typiquement  par
              l'appel de pthread_exit(3).

              Les  programmes  qui  prennent  un  nom  de  fichier comme paramètre de la ligne de
              commande mais qui ne lisent pas l'entrée standard si aucun paramètre n'est  fourni,
              ou  qui  écrivent  dans un fichier indiqué par un paramètre de la ligne de commande
              sans écrire sur la  sortie  standard  si  aucun  paramètre  n'est  fourni,  peuvent
              néanmoins  utiliser  l'entrée standard et la sortie standard par l'intermédiaire de
              /proc/[pid]/fd. Par exemple, en supposant que l'option -i indique le nom du fichier
              d'entrée et l'option -o le nom du fichier de sortie :

                  $ tototiti -i /proc/self/fd/0 -o /proc/self/fd/1 ...

              et vous avez alors réalisé un filtre.

              /proc/self/fd/N  est  approximativement identique à /dev/fd/N sur certains systèmes
              UNIX et pseudo-UNIX. D'ailleurs la plupart  des  scripts  MAKEDEV  de  Linux  lient
              symboliquement en fait /dev/fd à /proc/self/fd.

              La  plupart  des systèmes fournissent les liens symboliques /dev/stdin, /dev/stdout
              et  /dev/stderr,  qui  sont  respectivement  liés  aux  fichiers  0,  1  et  2   de
              /proc/self/fd.  Par  conséquent,  l'exemple  précédent  peut être écrit de la façon
              suivante :

                  $ foobar -i /dev/stdin -o /dev/stdout ...

       /proc/[pid]/fdinfo/ (depuis le noyau 2.6.22)
              Il s'agit d'un sous-répertoire contenant une entrée pour chaque fichier ouvert  par
              le  processus,  nommé  par son descripteur de fichier. Le contenu de chaque fichier
              peut être lu  afin  d'obtenir  des  informations  sur  le  descripteur  de  fichier
              correspondant, par exemple :

                  $ cat /proc/12015/fdinfo/4
                  pos:    1000
                  flags:  01002002

              Le  champ pos est un nombre décimal indiquant la position de la tête de lecture. Le
              champ flags est un nombre octal indiquant les modes d'accès au  fichier  ainsi  que
              ses attributs d'état (consultez open(2)).

              Les  fichiers  de  ce  répertoire  ne  sont  accessibles  en  lecture  que  par  le
              propriétaire du processus.

       /proc/[pid]/io (depuis le noyau 2.6.20)
              Ce fichier contient des statistiques d’entrées et sorties pour  le  processus,  par
              exemple :

                  # cat /proc/3828/io
                  rchar: 323934931
                  wchar: 323929600
                  syscr: 632687
                  syscw: 632675
                  read_bytes: 0
                  write_bytes: 323932160
                  cancelled_write_bytes: 0

              Les champs sont les suivants.

              rchar : caractères lus
                     Le  nombre  d’octets  lus  sur  le  support  de  stockage  que cette tâche a
                     provoqué. C’est juste la somme d’octets que ce processus a passé  à  read(2)
                     et aux appels système similaires. Cela comprend des choses comme les entrées
                     et sorties du terminal et ne dépend pas du fait que de véritables entrées et
                     sorties du disque physique aient été nécessaires ou non (la lecture pourrait
                     avoir été réalisée à partir des pagecache).

              wchar : caractères écrits
                     Le nombre d’octets écrits, ou à écrire, sur le  disque  que  cette  tâche  a
                     provoqué. Des limitations similaires à celles de rchar s’appliquent.

              syscr : appels système lus
                     Tentative  de  décompte  du  nombre  d’opérations  d’entrées et sorties lues
                     — c’est-à-dire, des appels système comme read(2) et pread(2).

              syscw : appels système écrits
                     Tentative de décompte du nombre d’opérations d’entrées  et  sorties  écrites
                     — c’est-à-dire, des appels système comme write(2) et pwrite(2).

              read_bytes : octets lus
                     Tentative de décompte du nombre d’octets que ce processus a vraiment forcé à
                     récupérer sur la couche de stockage.  C’est  précis  pour  les  systèmes  de
                     fichiers à base de blocs.

              write_bytes : octets écrits
                     Tentative  de décompte du nombre d’octets que ce processus a forcé à envoyer
                     vers la couche de stockage.

              cancelled_write_bytes :
                     La grosse inexactitude ici est la troncature. Si  un  processus  écrit  1 Mo
                     vers  un  fichier  puis  efface ce fichier, il n’aura de fait réalisé aucune
                     écriture. Pourtant, il sera compté comme  ayant  provoqué  1 Mo  d’écriture.
                     Autrement  dit,  ce champ représente le nombre d’octets que ce processus n’a
                     pas pu écrire, en tronquant les pagecache. Une tâche  peut  aussi  provoquer
                     des  entrées  et  sorties  « négatives ».  Si  cette  tâche tronque quelques
                     pagecache sales, certaines des entrées et sorties qui ont été comptabilisées
                     pour une autre tâche (dans son write_bytes) n’arriveront pas.

              Remarque :  dans  l’implémentation actuelle, les choses sont un peu en situation de
              compétition sur les systèmes 32 bits : si le processus B lit le  /proc/[pid]/io  du
              processus B  pendant  que  ce  dernier  est  en  train  de  mettre à jour un de ces
              compteurs en 64 bits, le processus A pourrait voir un résultat intermédiaire.

       /proc/[pid]/limits (depuis le noyau 2.6.24)
              Ce fichier indique les limites souples et strictes ainsi que les unités  de  mesure
              de  chaque  limite  de  ressources  du  processus (consultez getrlimit(2)). Jusqu'à
              Linux 2.6.35 inclus, ce fichier est protégé de telle sorte que seul l'UID  réel  du
              processus  puisse le lire. Depuis Linux 2.6.36, ce fichier est lisible par tout les
              utilisateurs du système.

       /proc/[pid]/map_files/ (depuis le noyau 3.3)
              Ce sous-répertoire contient des entrées  correspondant  aux  fichiers  projetés  en
              mémoire  (consultez  mmap(2)).  Les  entrées  sont  nommées  par  paires d'adresses
              (exprimées en nombres hexadécimaux) de début et fin de zone  mémoire  et  sont  des
              liens  symboliques au fichiers projetés eux-mêmes. Voici un exemple, avec la sortie
              coupée et formatée pour tenir sur un affichage en 80 colonnes :

                  $ ls -l /proc/self/map_files/
                  lr--------. 1 root root 64 Apr 16 21:31
                              3252e00000-3252e20000 -> /usr/lib64/ld-2.15.so
                  ...

              Bien que ces entrées soient présentes pour des zones de mémoire ayant été projetées
              avec  l'attribut  MAP_FILE,  la  façon  dont la mémoire partagée anonyme (les zones
              créées avec les  attributs  MAP_ANON  |  MAP_SHARED)  est  implémentée  dans  Linux
              signifie  que  ce  genre  de  zones apparaissent aussi dans ce répertoire. Voici un
              exemple où le fichier cible est le /dev/zero effacé :

                  lrw-------. 1 root root 64 Apr 16 21:33
                              7fc075d2f000-7fc075e6f000 -> /dev/zero (effacé)

              Ce   répertoire   n'existe   que   si   l'option   de   configuration   du    noyau
              CONFIG_CHECKPOINT_RESTORE a été validée.

       /proc/[pid]/maps
              Fichier  contenant  les  régions  de  la  mémoire  actuellement  projetées et leurs
              autorisations d'accès. Consultez mmap(2) pour de plus amples renseignements sur les
              projections en mémoire.

              Le format du fichier est :

       adresse          droits posit. périph. inœud      chemin
       00400000-00452000 r-xp 00000000 08:02 173521      /usr/bin/dbus-daemon
       00651000-00652000 r--p 00051000 08:02 173521      /usr/bin/dbus-daemon
       00652000-00655000 rw-p 00052000 08:02 173521      /usr/bin/dbus-daemon
       00e03000-00e24000 rw-p 00000000 00:00 0           [heap]
       00e24000-011f7000 rw-p 00000000 00:00 0           [heap]
       ...
       35b1800000-35b1820000 r-xp 00000000 08:02 135522  /usr/lib64/ld-2.15.so
       35b1a1f000-35b1a20000 r--p 0001f000 08:02 135522  /usr/lib64/ld-2.15.so
       35b1a20000-35b1a21000 rw-p 00020000 08:02 135522  /usr/lib64/ld-2.15.so
       35b1a21000-35b1a22000 rw-p 00000000 00:00 0
       35b1c00000-35b1dac000 r-xp 00000000 08:02 135870  /usr/lib64/libc-2.15.so
       35b1dac000-35b1fac000 ---p 001ac000 08:02 135870  /usr/lib64/libc-2.15.so
       35b1fac000-35b1fb0000 r--p 001ac000 08:02 135870  /usr/lib64/libc-2.15.so
       35b1fb0000-35b1fb2000 rw-p 001b0000 08:02 135870  /usr/lib64/libc-2.15.so
       ...
       f2c6ff8c000-7f2c7078c000 rw-p 00000000 00:00 0    [stack:986]
       ...
       7fffb2c0d000-7fffb2c2e000 rw-p 00000000 00:00 0   [stack]
       7fffb2d48000-7fffb2d49000 r-xp 00000000 00:00 0   [vdso]

              Le  champ  adresse correspond à l'espace d'adressage du processus que la projection
              occupe. le champ droits est un ensemble d'autorisations :

                   r = lecture
                   w = écriture
                   x = exécution
                   s = partage
                   p = privé (copie lors de l'écriture)

              Le champ posit. est la position dans le fichier ou autre, périph. correspond  à  la
              paire  (majeur:mineur).  inœud est l'inœud sur ce périphérique. 0 signifie qu'aucun
              inœud n'est associé à cette zone mémoire, comme c'est le cas avec BSS (données  non
              initialisées).

              Le  champ  chemin  sera normalement le fichier qui s'appuie sur la projection. Pour
              les fichiers ELF, faire correspondre le champ chemin est  facile  en  regardant  le
              champ Offset des en-têtes du programme ELF (readelf -l).

              Des pseudochemins pratiques supplémentaires existent.

                   [stack]
                          La pile du processus initial (aussi connu comme le thread principal).

                   [stack:<tid>] (depuis Linux 3.4)
                          Une  pile  de  thread  (où  <tid>  est  un identifiant de thread). Cela
                          correspond au chemin /proc/[pid]/task/[tid]/.

                   [vdso] L'objet virtuel partagé lié dynamiquement.

                   [heap] Le tas du processus.

              Si le champ chemin est vide, c'est une projection anonyme telle qu'obtenue  par  la
              fonction  mmap(2). Faire correspondre cela à une source de processus est compliqué,
              sauf en l'exécutant à l'aide de gdb(1), strace(1) ou similaire.

              Sous Linux 2.0, aucun champ n'indique le chemin d'accès.

       /proc/[pid]/mem
              Ce fichier permet d'accéder à la mémoire d'un  processus  au  travers  de  open(2),
              read(2), et lseek(2).

       /proc/[pid]/mountinfo (depuis Linux 2.6.26)
              Ce  fichier  contient des informations relatives aux points de montage. Il contient
              des lignes de la forme :

              36 35 98:0 /mnt1 /mnt2 rw,noatime master:1 - ext3 /dev/root rw,errors=continue
              (1)(2)(3)   (4)   (5)      (6)      (7)   (8) (9)   (10)         (11)

              Les nombres entre paranthèses sont des étiquettes pour les descriptions suivantes :

              (1)  mount ID : identifiant  unique  du  montage  (peut  être  réutilisé  après  un
                   umount(2)).

              (2)  parent ID : identifiant du montage parent (ou de lui-même pour le sommet de la
                   hiérarchie).

              (3)  major:minor : valeur de st_dev pour les fichiers sur le  système  de  fichiers
                   (consultez stat(2)).

              (4)  root : racine du montage dans le système de fichiers.

              (5)  mount point : point de montage relatif à la racine du processus.

              (6)  mount options : options par montage.

              (7)  optional fields : zéro ou plusieurs champs de la forme « tag[:value] ».

              (8)  separator : indique la fin des champs optionnels.

              (9)  filesystem type : nom du système de fichiers de la forme « type[.subtype] ».

              (10) mount source : informations spécifiques au système de fichiers ou « none ».

              (11) super options : options par superbloc.

              Les  outils  d'analyse  devraient  ignorer  les champs optionnels non reconnus. Les
              champs optionnels actuellement disponibles sont :

                   shared:X          le montage est partagé par le groupe pair X

                   master:X          le montage est esclave pour le groupe pair X

                   propagate_from:X  le montage est esclave et reçoit des propagations  provenant
                                     du groupe pair X (*)

                   unbindable        le point de montage ne peut pas être lié

              (*)  X  est le group pair dominant le plus proche sous la racine du processus. Si X
              est le maître immédiat du montage ou s'il n'y a pas de group pair dominant sous  la
              même  racine,  alors  seul  le  champ  « master:X »  est  présent  et  pas le champ
              « propagate_from:X ».

              Pour   plus   d'informations   sur    les    propagations    de    montage,    voir
              Documentation/filesystems/sharedsubtree.txt  dans  l'arborescence  des  sources  du
              noyau Linux.

       /proc/[pid]/mounts (depuis Linux 2.6.17)
              C'est une liste de tous les systèmes de fichiers montés dans l'espace  de  noms  de
              montage  du  processus. Le format de ce fichier est documenté dans fstab(5). Depuis
              la version 2.6.15 du noyau, ce fichier peut être pollué :  après  avoir  ouvert  le
              fichier  en  lecture, une modification de ce fichier (par exemple, le montage ou le
              démontage  d'un  système  de  fichiers)  provoque  le  marquage  par  select(2)  du
              descripteur de fichier comme étant lisible, et poll(2) et epoll_wait(2) marquent le
              fichier comme étant en erreur.

       /proc/[pid]/mountstats (depuis Linux 2.6.17)
              Ce fichier exporte des informations  (statistiques,  configuration)  relatives  aux
              points de montage dans l'espace de noms du processus. Les lignes de ce fichier sont
              de la forme :

              device /dev/sda7 mounted on /home with fstype ext3 [statistics]
              (       1      )            ( 2 )             (3 ) (4)

              Les champs de chaque ligne sont :

              (1)  Le nom du périphérique monté (ou « nodevice » s'il n'y a pas  de  périphérique
                   correspondant).

              (2)  Le point de montage dans l'arborescence du système de fichiers.

              (3)  Le type du système de fichiers.

              (4)  Statistiques  optionnelles  et  informations  de  configuration.  Actuellement
                   (Linux 2.6.26), seuls les systèmes de fichiers NFS exportent des  informations
                   à travers ce champ.

              Ce fichier n'est accessible en lecture que par le propriétaire du processus.

       /proc/[pid]/ns/ (depuis Linux 3.0)
              Il  s'agit d'un sous-répertoire contenant une entrée pour chaque espace de noms qui
              peut être manipulé avec setns(2). Pour plus de précisions sur les espaces de  noms,
              consultez clone(2).

       /proc/[pid]/ns/ipc (depuis Linux 3.0)
              Le  montage  lié  de  ce  fichier  (consultez mount(2)) ailleurs dans le système de
              fichiers garde l'espace de noms IPC du processus indiqué par pid opérationnel  même
              si tous les processus actuellement dans l'espace de noms se terminent.

              L'ouverture  de  ce fichier renvoie un descripteur de fichier pour l'espace de noms
              IPC du processus indiqué par pid. Tant que ce descripteur de fichier reste  ouvert,
              l'espace  de  noms IPC restera opérationnel, même si tous les processus de l'espace
              de noms se terminent. Le descripteur de fichier peut être passé à setns(2).

       /proc/[pid]/ns/net (depuis Linux 3.0)
              Le montage lié de ce fichier (consultez  mount(2))  ailleurs  dans  le  système  de
              fichiers  garde  l'espace  de noms réseau du processus indiqué par pid opérationnel
              même si tous les processus de l'espace de noms se terminent.

              L'ouverture de ce fichier renvoie un descripteur de fichier pour l'espace  de  noms
              réseau  du  processus  indiqué  par  pid.  Tant que ce descripteur de fichier reste
              ouvert, l'espace de noms réseau restera opérationnel, même si tous les processus de
              l'espace  de  noms  se  terminent.  Le  descripteur  de  fichier  peut être passé à
              setns(2).

       /proc/[pid]/ns/uts (depuis Linux 3.0)
              Le montage lié de ce fichier (consultez  mount(2))  ailleurs  dans  le  système  de
              fichiers  garde l'espace de noms UTS du processus indiqué par pid opérationnel même
              si tous les processus de l'espace de noms se terminent.

              L'ouverture de ce fichier renvoie un descripteur de fichier pour l'espace  de  noms
              UTS  du processus indiqué par pid. Tant que ce descripteur de fichier reste ouvert,
              l'espace de noms UTS restera opérationnel, même si tous les processus  de  l'espace
              de noms se terminent. Le descripteur de fichier peut être passé à setns(2).

       /proc/[pid]/numa_maps (depuis Linux 2.6.14)
              Consultez numa(7).

       /proc/[pid]/oom_adj (depuis Linux 2.6.11)
              Ce fichier permet d'ajuster la notation utilisée pour sélectionner le processus qui
              sera tué dans une situation de mémoire saturée. Le noyau utilise cette valeur  pour
              une  opération  de  décalage  sur  la  valeur  oom_score du processus : les valeurs
              valables sont dans l'intervalle de -16 à +15  plus  la  valeur  spéciale  -17,  qui
              désactive  complètement  la  mise  à  mort  sur  mémoire  saturée du processus. Une
              notation négative diminue la probabilité.

              La valeur par défaut de ce fichier est 0 ; un nouveau processus hérite de la valeur
              oom_adj  de  son  père.  Un  processus doit être privilégié (CAP_SYS_RESOURCE) pour
              mettre à jour ce fichier.

              Depuis Linux 2.6.36, l'utilisation de ce fichier  est  déconseillée  en  faveur  de
              /proc/[pid]/oom_score_adj.

       /proc/[pid]/oom_score (depuis Linux 2.6.11)
              Ce  fichier  indique  la notation actuelle donnée par le noyau pour sélectionner un
              processus pour une mise à mort sur mémoire saturée. Une  notation  élevée  signifie
              que  le  processus  a  plus  de  chance d'être sélectionné pour une mise à mort sur
              mémoire saturée. La base de cette notation est la quantité de mémoire utilisée  par
              le  processus.  Cette  notation  peut augmenter (+) ou diminuer (-) en fonction des
              facteurs suivants :

              * le processus crée beaucoup d'enfants avec fork(2) (+) ;

              * le  processus  s'exécute  depuis  longtemps  ou  a  consommé  beaucoup  de  temps
                processeur (-) ;

              * le processeur a une faible valeur de courtoisie (c'est-à-dire positive) (+) ;

              * le processus est privilégié (-) ; et

              * le processus effectue des accès matériels directs (-).

              oom_score reflète également l'ajustement indiqué dans les réglages oom_score_adj ou
              oom_adj du processus.

       /proc/[pid]/oom_score_adj (depuis Linux 2.6.36)
              Ce fichier  permet  d'ajuster  l'heuristique  de  mauvaise  conduite  (« badness »)
              utilisée  pour sélectionner le processus qui sera tué dans une situation de mémoire
              saturée.

              L'heuristique de mauvaise conduite assigne une  valeur  à  chaque  tâche  candidate
              entre  0  (ne  jamais  tuer)  et  1000 (toujours tuer) pour déterminer le processus
              ciblé. Les unités sont à peu près proportionnelles à la quantité de mémoire allouée
              dont  le processus pourrait bénéficier, à partir de l'estimation de son utilisation
              actuelle de mémoire et d'espace d'échange. Par exemple si une tâche  utilise  toute
              la  mémoire  allouée,  sa  notation de mauvaise conduite sera 1000. S'il utilise la
              moitié de sa mémoire alloué, sa notation sera 500.

              Un autre facteur est inclus dans la notation de mauvaise conduite : 3 % de  mémoire
              supplémentaire est allouée aux processus du superutilisateur par rapport aux autres
              tâches.

              La quantité de mémoire « permise » dépend du contexte dans lequel la  mise  à  mort
              sur  mémoire  saturée  a  été  effectuée.  Si  elle est causée par la saturation de
              mémoire assignée au  cpuset  de  tâche  allouant,  la  mémoire  permise  représente
              l'ensemble  de  mems  assignées  à  ce  cpuset  (consultez  cpuset(7)). Si elle est
              provoquée par la saturation de nœud(s) de mempolicy, la mémoire permise  représente
              l'ensemble  de  nœuds  de  mempolicy.  Si elle est due à l'atteinte d'une limite de
              mémoire (ou limite  d'espace  d'échange),  la  mémoire  allouée  est  cette  limite
              configurée.  Enfin, si la cause est la saturation de mémoire du système complet, la
              mémoire permise représente toutes les ressources allouables.

              La valeur de oom_score_adj est ajoutée à la notation  de  mauvaise  conduite  avant
              qu'elle  ne  soit utilisée pour déterminer la tâche à tuer. Les valeurs acceptables
              sont comprises entre -1000 (OOM_SCORE_ADJ_MIN) et +1000  (OOM_SCORE_ADJ_MAX).  Cela
              permet  à  l'espace  utilisateur  de  contrôler  les préférences de mise à mort sur
              mémoire saturée, entre toujours préférer une tâche  en  particulier  ou  désactiver
              complètement  la  mise  à mort sur mémoire saturée. La plus faible valeur possible,
              -1000, est équivalente à désactiver complètement la mise à mort sur mémoire saturée
              pour cette tâche, puisque la notation de mauvaise conduite sera toujours 0.

              Par  conséquent, il est trivial pour l'espace utilisateur de définir la quantité de
              mémoire à considérer pour chaque tâche.  Configurer  une  valeur  oom_score_adj  de
              +500,  par  exemple,  est  à  peu  près  équivalent à permettre au reste des tâches
              partageant les  mêmes  ressources  du  système,  de  cpuset,  de  mempolicy  ou  du
              contrôleur  de  mémoire  d'utiliser au moins 50 % de mémoire en plus. Une valeur de
              -500, au contraire, serait à peu près équivalent à ne  prendre  en  compte  que  la
              moitié de l'espace mémoire alloué à la tâche pour la notation contre cette tâche.

              Pour   des   raisons  de  compatibilité  ascendante  avec  les  précédents  noyaux,
              /proc/[pid]/oom_adj peut encore être utilisé pour ajuster la notation  de  mauvaise
              conduite. Sa valeur est mise à l'échelle linéairement avec oom_score_adj.

              Écrire vers /proc/[pid]/oom_score_adj ou /proc/[pid]/oom_adj modifiera l'autre avec
              sa valeur mise à l'échelle.

       /proc/[pid]/root
              UNIX et Linux gèrent une notion de racine du système  de  fichiers  par  processus,
              configurée  avec  l'appel  système chroot(2). Ce fichier est un lien symbolique qui
              pointe vers le répertoire racine du processus, et se comporte de la même façon  que
              exe et fd/*.

              Dans un traitement multiprocessus (multithreaded), le contenu de ce lien symbolique
              n'est pas disponible si le processus principal est déjà terminé (typiquement par un
              appel à pthread_exit(3).

       /proc/[pid]/smaps (depuis Linux 2.6.14)
              Ce fichier affiche la mémoire utilisée par les cartes de chacun des processus. Pour
              chacune des cartes, il y a une série de lignes comme les suivantes :

                  00400000-0048a000 r-xp 00000000 fd:03 960637       /bin/bash
                  Size:                552 kB
                  Rss:                 460 kB
                  Pss:                 100 kB
                  Shared_Clean:        452 kB
                  Shared_Dirty:          0 kB
                  Private_Clean:         8 kB
                  Private_Dirty:         0 kB
                  Referenced:          460 kB
                  Anonymous:             0 kB
                  AnonHugePages:         0 kB
                  Swap:                  0 kB
                  KernelPageSize:        4 kB
                  MMUPageSize:           4 kB
                  Locked:                0 kB

              La première de ces lignes montre les mêmes informations que celles  affichées  pour
              la  projection  mémoire  dans  /proc/[pid]/maps.  Les  lignes suivantes montrent la
              taille de la projection,  la  quantité  de  projection  actuellement  résidente  en
              mémoire  vive  (« Rss »),  le  partage  équitable (« proportional share ») de cette
              projection pour le processus (« Pss »), le nombre de  pages  partagées  propres  ou
              sales   de  la  projection  et  le  nombre  de  pages  privées  propres  ou  sales.
              « Referenced » indique la quantité de mémoire actuellement marquée comme référencée
              ou  accédée.  « Anonymous »  montre la quantité de mémoire qui n’appartient à aucun
              fichier. « Swap » montre la quantité de mémoire aussi utilisée qui serait  anonyme,
              mais est en espace d’échange.

              L’entrée  « KernelPageSize »  est  la  taille  de  page  utilisée par le noyau pour
              sauvegarder une zone de mémoire  virtuelle  (VMA).  Cela  correspond  à  la  taille
              utilisée  par  le MMU dans la majorité des cas. Cependant, un contre-exemple existe
              sur les noyaux PPC64 où un noyau utilisant  64 K  comme  taille  de  page  de  base
              pourrait encore utiliser 4 K pages pour le MMU sur les anciens processeurs. Pour se
              démarquer, ce correctif signale « MMUPageSize » comme taille de page  utilisée  par
              le MMU.

              Le « Locked » indique si la projection est verrouillée en mémoire.

              Le  champ  « VmFlags »  représente  les  attributs  du noyau, associés à la zone de
              mémoire virtuelle  particulière,  encodés  en  deux  lettre.  Les  codes  sont  les
              suivants :

                  rd  - lisible
                  wr  - accessible en écriture
                  ex  - exécutable
                  sh  - partagé
                  mr  - peut lire
                  mw  - peut écrire
                  me  - peut exécuter
                  ms  - peut partager
                  gd  - le segment de pile diminue
                  pf  - intervalle PFN pur
                  dw  - écriture désactivée vers le fichier projeté
                  lo  - les pages sont verrouillée en mémoire
                  io  - zone d’E/S de mémoire projetée
                  sr  - conseil de lecture séquentielle fourni
                  rr  - conseil de lecture aléatoire fourni
                  dc  - ne pas copier la zone lors d’une création de fils
                  de  - ne pas étendre la zone lors d’une reprojection
                  ac  - la zone est responsable
                  nr  - l’espace d’échange n’est pas réservé pour la zone
                  ht  - la zone utilise des pages immenses TLB
                  nl  - projection non linéaire
                  ar  - attribut spécifique à l’architecture
                  dd  - ne pas inclure la zone dans l’image mémoire (core dump)
                  sd  - attribut soft-dirty
                  mm  - zone de carte mélangée
                  hg  - attribut de conseil de page immense
                  nh  - attribut de conseil de page non immense
                  mg  - attribut de conseil fusionnable

              Le  fichier  /proc/[pid]/smaps  n'est  présent  que si l'option de configuration du
              noyau CONFIG_PROC_PAGE_MONITOR a été validée.

       /proc/[pid]/stack (depuis Linux 2.6.29)
              Ce fichier fournit une trace symbolique des appels  de  fonction  dans  cette  pile
              noyau du processus. Ce fichier n'existe que si le noyau a été compilé avec l'option
              de configuration CONFIG_STACKTRACE.

       /proc/[pid]/stat
              Informations sur l'état du processus. C'est utilisé par  ps(1).  La  définition  se
              trouve dans /usr/src/linux/fs/proc/array.c.

              Les  champs sont, dans l'ordre, et avec leur propre spécificateur de format de type
              scanf(3) :

              pid %d      (1) Identifiant du processus.

              comm %s     (2) Nom du fichier exécutable entre parenthèses.  Il  est  visible  que
                          l'exécutable  ait  été  déchargé sur l'espace d'échange (« swappé ») ou
                          pas.

              state %c    (3) Un caractère parmi « RSDZTW » ou R signifie que le processus est en
                          cours  d'exécution,  S  endormi  dans  un  état non interruptible, D en
                          attente de disque de manière non interruptible, Z zombie, T  qu'il  est
                          suivi  pour  une  trace ou arrêté par un signal et W qu'il effectue une
                          pagination vers l'espace d'échange.

              ppid %d     (4) PID du processus parent.

              pgrp %d     (5) Identifiant de groupe de processus du processus.

              session %d  (6) Identifiant de session du processus.

              tty_nr %d   (7) Terminal de contrôle du processus (le numéro mineur de périphérique
                          dans  la  combinaison  des bits 31 à 20 et 7 à 0 ; le numéro majeur est
                          dans les bits 15 à 8).

              tpgid %d    (8) Identifiant du groupe de processus d'arrière-plan  du  terminal  de
                          contrôle du processus.

              flags %u (était %lu avant Linux 2.6.22)
                          (9)  Mot  contenant les indicateurs du noyau pour le processus. Pour en
                          savoir plus sur la signification des bits, consultez les définitions de
                          PF_*  dans  le  fichier <linux/sched.h> des sources du noyau Linux. Les
                          détails dépendent de la version du noyau.

              minflt %lu  (10) Nombre de fautes mineures que le processus a  déclenchées  et  qui
                          n'ont pas nécessité le chargement d'une page mémoire depuis le disque.

              cminflt %lu (11)  Nombre de fautes mineures que les enfants en attente du processus
                          ont déclenchées.

              majflt %lu  (12) Nombre de fautes majeures que le processus a  déclenchées  et  qui
                          ont nécessité un chargement de page mémoire depuis le disque.

              cmajflt %lu (13)  Nombre de fautes majeures que les enfants en attente du processus
                          ont déclenchées.

              utime %ld   (14) Temps passé en mode utilisateur par le processus,  mesuré  en  top
                          d'horloge  (divisé par sysconf(_SC_CLK_TCK)). Cela comprend le temps de
                          client, guest_time (temps passé à exécuter un processeur virtuel,  voir
                          plus loin), de sorte que les applications qui ne sont pas au courant du
                          champ « temps de client » ne perdent pas ce temps dans leurs calculs.

              stime %ld   (15) Temps passé  en  mode  noyau  par  le  processus,  mesuré  en  top
                          d'horloge (divisé par sysconf(_SC_CLK_TCK)).

              cutime %ld  (16)   Temps  passé  en  mode  utilisateur  par  le  processus  et  ses
                          descendants, mesuré en top d'horloge (divisé par sysconf(_SC_CLK_TCK)).
                          Consultez   aussi   times(2)).   Cela  comprend  le  temps  de  client,
                          cguest_time (temps passé à exécuter un processeur  virtuel,  voir  plus
                          loin).

              cstime %ld  (17)  Temps  passé  en  mode noyau par le processus et ses descendants,
                          mesuré en top d'horloge (divisé par sysconf(_SC_CLK_TCK)).

              priority %ld
                          (18) (Explications pour Linux 2.6) Pour les processus s'exécutant  sous
                          une  politique  d'ordonnancement  temps  réel  (policy plus loin ; voir
                          sched_setscheduler(2)), il s'agit de la valeur négative de la politique
                          d'ordonnancement,  moins  un ; c'est-à-dire un nombre dans l'intervalle
                          -2 à -100, correspondant aux priorités temps réel  1  à  99.  Pour  les
                          processus  s'exécutant  sous une politique d'ordonnancement qui ne soit
                          pas  temps  réel,  il  s'agit  de  la  valeur   brute   de   courtoisie
                          (setpriority(2))  comme  représentée dans le noyau. Le noyau enregistre
                          les valeurs de courtoisie  sous  forme  de  nombre  de  l'intervalle  0
                          (haute)  à  39  (faible),  correspondant  à un intervalle de courtoisie
                          visible par l'utilisateur de -20 à 19.

                          Avant Linux 2.6, c'était une valeur d'échelle basée sur la  pondération
                          de l'ordonnanceur fournie au processus.

              nice %ld    (19)  Valeur  de courtoisie (consultez setpriority(2)), une valeur dans
                          l'intervalle 19 (faible priorité) à -19 (haute priorité).

              num_threads %ld
                          (20) Nombre de threads dans ce processus (depuis Linux 2.6).  Avant  le
                          noyau 2.6,  ce  champ  était  codé  en  dur à 0 pour remplacer un champ
                          supprimé auparavant.

              itrealvalue %lu
                          (21) Nombre de jiffies avant que le signal SIGALRM suivant soit  envoyé
                          au  processus  par un temporisateur interne. Depuis le noyau 2.6.17, ce
                          champ n'est plus maintenu et est codé en dur à 0.

              starttime %llu (était %lu avant Linux 2.6)
                          (22) Instant auquel le  processus  a  démarré  après  le  démarrage  du
                          système.  Exprimé  en  jiffies  avant  le  noyau 2.6,  il est désormais
                          exprimé en top d'horloge (divisé par sysconf(_SC_CLK_TCK)).

              vsize %lu   (23) Taille de la mémoire virtuelle en octet.

              rss %lu     (24) Taille de l'ensemble résident  (Resident  Set  Size) :  nombre  de
                          pages dont le processus dispose en mémoire réelle. Il ne s'agit que des
                          pages contenant les espaces de code, donnée et pile. Cela  n'inclut  ni
                          les pages en attente de chargement ni celles qui ont été déchargées.

              rsslim %lu  (25) Limite souple actuelle en octet du RSS du processus ; consultez la
                          description de RLIMIT_RSS dans getrlimit(2).

              startcode %lu
                          (26)  Adresse  au-dessus  de  laquelle  le  code  du   programme   peut
                          s'exécuter.

              endcode %lu (27)   Adresse  au-dessous  de  laquelle  le  code  du  programme  peut
                          s'exécuter.

              startstack %lu
                          (28) Adresse de début (c'est-à-dire le bas) de la pile.

              kstkesp %lu (29) Valeur actuelle du pointeur de pile (ESP), telle qu'on  la  trouve
                          dans la page de pile du noyau pour ce processus.

              kstkeip %lu (30) EIP actuel (pointeur d'instructions).

              signal %ld  (31)  Masque  des  signaux  en  attente, affiché sous forme d'un nombre
                          décimal. Obsolète car il ne fournit pas d'informations sur les  signaux
                          temps réel ; utilisez plutôt /proc/[pid]/status.

              blocked %ld (31)  Masque  des  signaux  bloqués,  affiché  sous  forme  d'un nombre
                          décimal. Obsolète car il ne fournit pas d'informations sur les  signaux
                          temps réel ; utilisez plutôt /proc/[pid]/status.

              sigignore %ld
                          (33)  Masque  des  signaux  ignorés,  affiché  sous  forme  d'un nombre
                          décimal. Obsolète car il ne fournit pas d'informations sur les  signaux
                          temps réel ; utilisez plutôt /proc/[pid]/status.

              sigcatch %ld
                          (34)  Masque  des  signaux  interceptés, affiché sous forme d'un nombre
                          décimal. Obsolète car il ne fournit pas d'informations sur les  signaux
                          temps réel ; utilisez plutôt /proc/[pid]/status.

              wchan %lu   (35)  « canal » sur lequel le processus est en attente. C'est l'adresse
                          d’un endroit dans  le  noyau  où  le  processus  est  endormi.  Le  nom
                          symbolique correspondant est dans /proc/[pid]/wchan.

              nswap %lu   (36) Nombre de pages déplacées sur l'espace d'échange (non maintenu).

              cnswap %lu  (37) Champ nswap cumulé pour les processus enfants (non maintenu).

              exit_signal %d (depuis Linux 2.1.22)
                          (38) Signal à envoyer au parent lors de la mort du processus.

              processor %d (depuis Linux 2.2.8)
                          (39) Numéro du processeur utilisé lors de la dernière exécution.

              rt_priority %u (depuis Linux 2.5.19 ; était %lu avant Linux 2.6.22)
                          (40)  Priorité d'ordonnancement temps réel, un nombre dans l'intervalle
                          1 à 99 pour les processus ordonnancés sous une politique temps réel, ou
                          0 pour les processus non temps réel (consultez sched_setscheduler(2)).

              policy %u (depuis Linux 2.5.19 ; était %lu avant Linux 2.6.22)
                          (41)   Politique  d'ordonnancement  (consultez  sched_setscheduler(2)).
                          Décoder avec les constantes SCHED_* de linux/sched.h.

              delayacct_blkio_ticks %llu (depuis Linux 2.6.18)
                          (42) Cumul des délais d'entrées  et  sorties,  mesuré  en  top  horloge
                          (centième de seconde).

              guest_time %lu (depuis Linux 2.6.24)
                          (43) Temps de client du processus (temps passé à exécuter un processeur
                          virtuel pour un système d'exploitation client), mesuré en top d'horloge
                          (divisé par sysconf(_SC_CLK_TCK)).

              cguest_time %ld (depuis Linux 2.6.24)
                          (44)  Temps  de  client  des fils du processus, mesuré en top d'horloge
                          (divisé par sysconf(_SC_CLK_TCK)).

       /proc/[pid]/statm
              Donne des informations sur l'utilisation de  la  mémoire,  mesurée  en  pages.  Les
              colonnes représentent :

                  size       (1) taille totale du programme
                             (comme pour VmSize dans /proc/[pid]/status)
                  resident   (2) taille résidant en mémoire
                             (comme pour VmRSS dans /proc/[pid]/status)
                  share      (3) pages partagées (c'est-à-dire sauvegardées
                             dans un fichier)
                  text       (4) texte (code)
                  lib        (5) bibliothèque (non utilisé dans Linux 2.6)
                  data       (6) données et pile
                  dt         (7) pages touchées (dirty, non utilisé dans
                             Linux 2.6)

       /proc/[pid]/status
              Fournit  l'essentiel des informations de /proc/[pid]/stat et /proc/[pid]/statm dans
              un format plus facile à lire pour les humains. Voici un exemple :

                  $ cat /proc/$$/status
                  Name:   bash
                  State:  S (sleeping)
                  Tgid:   3515
                  Pid:    3515
                  PPid:   3452
                  TracerPid:      0
                  Uid:    1000    1000    1000    1000
                  Gid:    100     100     100     100
                  FDSize: 256
                  Groups: 16 33 100
                  VmPeak:     9136 kB
                  VmSize:     7896 kB
                  VmLck:         0 kB
                  VmHWM:      7572 kB
                  VmRSS:      6316 kB
                  VmData:     5224 kB
                  VmStk:        88 kB
                  VmExe:       572 kB
                  VmLib:      1708 kB
                  VmPTE:        20 kB
                  Threads:        1
                  SigQ:   0/3067
                  SigPnd: 0000000000000000
                  ShdPnd: 0000000000000000
                  SigBlk: 0000000000010000
                  SigIgn: 0000000000384004
                  SigCgt: 000000004b813efb
                  CapInh: 0000000000000000
                  CapPrm: 0000000000000000
                  CapEff: 0000000000000000
                  CapBnd: ffffffffffffffff
                  Cpus_allowed:   00000001
                  Cpus_allowed_list:      0
                  Mems_allowed:   1
                  Mems_allowed_list:      0
                  voluntary_ctxt_switches:        150
                  nonvoluntary_ctxt_switches:     545

              Les champs sont les suivants.

              * Name : Commande lancée par ce processus.

              * State : État actuel  du  processus  parmi  les  valeurs :  « R  (running) »,  « S
                (sleeping) »,  « D  (disk  sleep) »,  « T  (stopped) », « T (tracing stop) », « Z
                (zombie) » ou « X (dead) ».

              * Tgid : Identifiant du groupe de threads (c'est-à-dire, identifiant  du  processus
                PID).

              * Pid : Identifiant de thread (consultez gettid(2)).

              * PPid : PID du processus parent.

              * TracerPid : PID du processus traçant ce processus (0 s'il n'est pas tracé).

              * Uid, Gid : UID (et GID) réel, effectif, sauvé et de système de fichiers.

              * FDSize : Nombre d'entrées de descripteurs de fichier actuellement alloués.

              * Groups : Liste des groupes supplémentaires.

              * VmPeak : Taille de pointe de mémoire virtuelle.

              * VmSize : Taille de mémoire virtuelle.

              * VmLck : Taille de mémoire verrouillée (consultez mlock(3)).

              * VmHWM : Taille de pointe de mémoire résidente (« High Water Mark »).

              * VmRSS : Taille de mémoire résidente

              * VmData, VmStk, VmExe : Taille des segments de données, de pile et de texte.

              * VmLib : Taille du code de bibliothèque partagée.

              * VmPTE : Taille des entrées de table de pages (depuis Linux 2.6.10).

              * Threads : Nombre de threads dans le processus contenant ce thread.

              * SigQ :  Ce  champ  contient  deux  nombres  séparés par une barre oblique, qui se
                réfèrent aux signaux en attente  pour  l'identifiant  d'utilisateur  réel  de  ce
                processus.  Le  premier  est le nombre de signaux en attente pour cet identifiant
                d'utilisateur réel ; le second est la limite du nombre de  signaux  pouvant  être
                mis  en  attente pour ce processus (consultez la description de RLIMIT_SIGPENDING
                dans getrlimit(2)).

              * SigPnd, ShdPnd : Nombre de signaux en attente du thread et du processus dans  son
                ensemble (consultez pthreads(7) et signal(7)).

              * SigBlk,  SigIgn,  SigCgt :  Masques  indiquant  les  signaux  bloqués, ignorés et
                interceptés (consultez signal(7)).

              * CapInh, CapPrm,  CapEff :  Masques  des  capacités  actives  dans  les  ensembles
                transmissibles, permis et effectifs (consultez capabilities(7)).

              * CapBnd : Ensemble de limitation de capacités (Capability Bounding set ; depuis le
                noyau 2.6.26, consultez capabilities(7)).

              * Cpus_allowed : Masque des processeurs sur lesquels le processus  peut  s'exécuter
                (depuis Linux 2.6.24, consultez cpuset(7)).

              * Cpus_allowed_list :  Pareil  que précédemment, mais au format liste (depuis Linux
                2.6.26, consultez cpuset(7)).

              * Mems_allowed : Masque des nœuds  mémoire  autorisés  pour  ce  processus  (depuis
                Linux 2.6.24, consultez cpuset(7)).

              * Mems_allowed_list :  Pareil  que précédemment, mais au format liste (depuis Linux
                2.6.26, consultez cpuset(7)).

              * voluntary_context_switches, nonvoluntary_context_switches : Nombre de basculement
                de contexte, volontaire ou non (depuis Linux 2.6.23).

       /proc/[pid]/task (depuis Linux 2.6.0-test6)
              C'est  un  répertoire  qui  comporte  un  sous-répertoire pour chacun des processus
              légers  (threads)  de  la  tâche.  Le  nom  de  chacun  des  sous-répertoires   est
              l'identifiant   ([tid])   du  thread  (consultez  gettid(2).  Dans  chacun  de  ces
              sous-répertoire se trouvent un ensemble de fichiers ayant le même  nom  et  contenu
              que dans les répertoires /proc/[pid]. Pour les attributs qui sont partagés par tous
              les  processus,  le  contenu  de  chacun  des  fichiers   se   trouvant   dans   le
              sous-répertoire  task/[tid] sera identique à celui qui se trouve dans le répertoire
              parent /proc/[pid] (par ex., pour  une  tâche  multiprocessus,  tous  les  fichiers
              task/[tid]/cwd  auront  le  même  contenu  que  le  fichier /proc/[pid]/cwd dans le
              répertoire parent, puisque tous les processus d'une  même  tâche  partage  le  même
              répertoire  de  travail.  Pour  les  attributs  qui  sont distincts pour chacun des
              processus, les fichiers correspondants sous task/[tid] peuvent être différents (par
              ex.,   certains  champs  de  chacun  de  fichiers  task/[tid]/status  peuvent  être
              différents pour chaque processus).

              Dans un traitement multiprocessus, le contenu du répertoire /proc/[pid]/task  n'est
              pas  disponible  si  le  processus  principal est déjà terminé (typiquement lors de
              l'appel pthread_exit(3).

       /proc/[pid]/wchan (depuis Linux 2.6.0)
              Le nom symbolique correspondant à l’endroit dans  le  noyau  où  le  processus  est
              endormi.

       /proc/apm
              La version du système de gestion de puissance APM et les informations sur l'état de
              la batterie si la constante CONFIG_APM était définie à la compilation du noyau.

       /proc/bus
              Contient des sous-répertoires pour les bus installés.

       /proc/bus/pccard
              Répertoire pour les  périphériques  PCMCIA  si  la  constante  CONFIG_PCMCIA  était
              définie à la compilation du noyau.

       /proc/[pid]/timers (depuis Linux 3.10)
              Une  liste  des  temporisateurs  POSIX  pour ce processus. Chaque temporisateur est
              indiqué par une ligne commençant par « ID: ». Par exemple :

                  ID: 1
                  signal: 60/00007fff86e452a8
                  notify: signal/pid.2634
                  ClockID: 0
                  ID: 0
                  signal: 60/00007fff86e452a8
                  notify: signal/pid.2634
                  ClockID: 1

              Les lignes montrées pour chaque temporisateur ont les significations suivantes :

              ID     L’identifiant  de  ce  temporisateur.  Ce  n’est  pas  la  même  chose   que
                     l’identifiant  de temporisateur renvoyé par timer_create(2). C’est plutôt le
                     même identifiant interne au noyau qui est disponible dans  champ  si_timerid
                     de la structure siginfo_t (consultez sigaction(2)).

              signal C’est  le  numéro  du  signal que ce temporisateur utilise pour délivrer les
                     notifications,   suivi   d’une   barre   oblique,   puis   de   la    valeur
                     sigev_value.sival_ptr  fournie  au  gestionnaire de signal. Ce n’est valable
                     que pour les temporisateurs qui notifient à l’aide d’un signal.

              notify La partie  qui  précède  la  barre  oblique  indique  le  mécanisme  que  ce
                     temporisateur  utilise  pour  délivrer  des notifications, c’est « thread »,
                     « signal » ou « none » (aucun). Directement après la  barre  oblique,  c’est
                     soit   la   chaîne   « tid »   pour  les  temporisateurs  avec  notification
                     SIGEV_THREAD_ID, soit « pid » pour les  temporisateurs  qui  notifient  avec
                     d’autres  mécanismes.  Après  le  « . », c’est le PID du processus auquel un
                     signal sera délivré si le temporisateur délivre les notifications  à  l’aide
                     d’un signal.

              ClockID
                     Ce  champs identifie l’horloge utilisée par le temporisateur pour mesurer le
                     temps. Pour la plupart des horloges, c’est un nombre qui  correspond  à  une
                     ces  constantes CLOCK_* exposées en espace utilisateur à l’aide de <time.h>.
                     Les temporisateurs CLOCK_PROCESS_CPUTIME_ID affichent la valeur -6  dans  ce
                     champ.  Les  temporisateurs  CLOCK_THREAD_CPUTIME_ID  affichent la valeur -2
                     dans ce champ.

       /proc/bus/pccard/drivers

       /proc/bus/pci
              Contient divers  sous-répertoires  de  bus,  et  des  pseudofichiers  recélant  des
              informations  sur  les  bus  PCI,  les  périphériques  installés  et leurs pilotes.
              Certains de ces fichiers ne sont pas en ASCII pur.

       /proc/bus/pci/devices
              Informations sur les périphériques PCI. Peut-être  consulté  grâce  à  lspci(8)  et
              setpci(8).

       /proc/cmdline
              Arguments passés au noyau Linux lors du boot. Généralement par l'intermédiaire d'un
              gestionnaire de boot comme lilo(8) ou grub(8).

       /proc/config.gz (depuis Linux 2.6)
              Ce fichier indique  les  options  de  configuration  qui  ont  été  utilisées  pour
              construire  le  noyau actuel, dans le même format que celui utilisé pour le fichier
              .config résultant de la configuration du noyau (en  utilisant  make  xconfig,  make
              config,  ou autre). Le contenu du fichier est compressé ; parcourez le ou effectuez
              vos recherches avec zcat(1) et zgrep(1). Tant qu'il n'y a pas  de  changement  dans
              les  fichiers  qui  suivent,  le  contenu  de /proc/config.gz est identique à celui
              fournit par :

                  cat /lib/modules/$(uname -r)/build/.config

              /proc/config.gz  n'est  fourni  que  si  le  noyau  est  configuré  avec   l'option
              CONFIG_IKCONFIG_PROC.

       /proc/cpuinfo
              Il  s'agit  d'informations  dépendantes de l'architecture et du processeur utilisé.
              Les deux seules entrées toujours présentes sont processor qui donne  le  nombre  de
              processeurs et bogomips, une constante système calculée pendant l'initialisation du
              noyau. Les machines SMP ont une ligne d'informations  pour  chaque  processeur.  La
              commande lscpu(1) récupère ses informations depuis ce fichier.

       /proc/devices
              Liste  littérale  des  groupes  de  périphériques et des numéros majeurs. Cela peut
              servir dans les scripts MAKEDEV pour rester cohérent avec le noyau.

       /proc/diskstats (depuis Linux 2.5.69)
              Ce fichier contient les statistiques d'entrées et sorties  du  disque  pour  chaque
              périphérique  disque.  Consultez  le fichier fourni avec les sources du noyau Linux
              Documentation/iostats.txt pour plus d'informations.

       /proc/dma
              Il  s'agit  d'une  liste  des  canaux  DMA  (Direct  Memory  Acess)  ISA  en  cours
              d'utilisation.

       /proc/driver
              Sous-répertoire vide.

       /proc/execdomains
              Liste des domaines d'exécution (personnalités).

       /proc/fb
              Information  sur  la mémoire d'écran Frame Buffer, lorsque la constante CONFIG_FB a
              été définie lors de la compilation du noyau.

       /proc/filesystems
              Liste textuelle des systèmes de fichiers qui sont pris  en  compte  par  le  noyau,
              c'est-à-dire  les  systèmes  de fichiers qui ont été compilés dans le noyau ou dont
              les modules du noyau sont actuellement chargés. (Consultez  aussi  filesystems(5)).
              Si  un  système  de  fichiers est marqué par « nodev », cela signifie qu'il n'a pas
              besoin d'un périphérique bloc pour être monté (par exemple un système  de  fichiers
              virtuel, un système de fichiers réseau).

              Ce  fichier  peut  éventuellement être utilisé par mount(8) lorsqu'aucun système de
              fichiers n'est indiqué et qu'il n'arrive pas à déterminer le  type  du  système  de
              fichiers. Alors, les systèmes de fichiers que comportent ce fichier sont essayés (à
              l'exception de ceux qui sont marqués par « nodev »).

       /proc/fs
              Sous-répertoire vide.

       /proc/ide
              Le répertoire /proc/ide existe sur les systèmes ayant  un  bus  IDE.  Il  y  a  des
              sous-répertoires  pour chaque canal IDE et les périphériques attachés. Les fichiers
              contiennent :

                  cache              taille du tampon en ko
                  capacity           nombre de secteurs
                  driver             version du pilote
                  geometry           géométries physique et logique
                  identify           identification en hexadécimal
                  media              type de support
                  model              référence fournisseur
                  settings           configuration du pilote
                  smart_thresholds   seuils en hexadécimal
                  smart_values       paramètres in hexadécimal

              L'utilitaire hdparm(8) fournit un accès convivial à ces informations.

       /proc/interrupts
              Utilisé pour enregistrer le nombre d'interruptions  par  CPU  et  par  périphérique
              d'entrées et sorties. Depuis Linux 2.6.24, pour les architectures i386 et x86_64 au
              moins, il comprend également les interruptions internes  au  système  (c'est-à-dire
              pas  directement  attachées  à  un  périphérique),  comme  les  NMI  (« nonmaskable
              interrupt »,  interruption  non  masquable),  LOC   (« local   timer   interrupt »,
              interruption  de  temporisateur  local), et pour les systèmes SMP, TLB (« TLB flush
              interrupt »),  RES  (« rescheduling  interrupt »),  CAL  (« remote  function   call
              interrupt ») et peut-être d'autres. Le format est très facile à lire, en ASCII.

       /proc/iomem
              Projection des entrées et sorties en mémoire, depuis Linux 2.4.

       /proc/ioports
              Il s'agit d'une liste des régions d'entrées et sorties en cours d'utilisation.

       /proc/kallsyms (depuis Linux 2.5.71)
              Ce  fichier  contient les symboles exportés par le noyau et utilisés par les outils
              des modules(X) pour assurer l'édition dynamique des liens des modules  chargeables.
              Dans  Linux  2.5.47 et précédents, un fichier similaire avec une syntaxe légèrement
              différente s'appelait ksyms.

       /proc/kcore
              Ce fichier représente la mémoire physique du système  sous  forme  de  fichier  ELF
              core.   À  l'aide  de  ce  pseudofichier  et  d'un  binaire  du  noyau  non  stripé
              (/usr/src/linux/vmlinux), gdb peut servir à inspecter l'état  de  n'importe  quelle
              structure de données du noyau.

              La  longueur  totale  de ce fichier est la taille de la mémoire RAM physique plus 4
              Ko.

       /proc/kmsg
              Ce fichier peut  être  utilisé  à  la  place  de  l'appel  système  syslog(2)  pour
              journaliser  les  messages  du  noyau.  Un  processus  doit  avoir  les  privilèges
              superutilisateur pour lire ce fichier, et un seul processus à la fois peut le lire.
              Ce  fichier  ne  devrait  pas  être lu si un processus syslogd en cours d’exécution
              utilise l'appel système syslog(2) pour journaliser les messages du noyau.

              Les informations de ce fichier sont consultées par le programme dmesg(1).

       /proc/ksyms (Linux 1.1.23-2.5.47)
              Consultez /proc/kallsyms.

       /proc/loadavg
              Les trois premiers champs de ce fichier sont des valeurs de charge moyenne  donnant
              le  nombre  de travaux dans la file d'exécution (état R) ou en attente d'E/S disque
              (état D) moyennés sur 1, 5 ou 15 minutes. Ils sont identiques aux valeurs de charge
              moyenne  données  par  uptime(1)  et  d'autres  programmes.  Le quatrième champ est
              constitué de deux nombres séparés par une barre oblique (/). Le premier d'entre eux
              est  le nombre d'entités d'ordonnancement du noyau (tâches, processus) actuellement
              exécutables.  La  valeur  qui  suit  la  barre  oblique  est  le  nombre  d'entités
              d'ordonnancement  du  noyau  qui existent actuellement sur le système. Le cinquième
              champ est le PID du processus le plus récemment créé sur le système.

       /proc/locks
              Ce fichier montre les verrouillages actuels des fichiers (flock(2) et fcntl(2))  et
              les baux (fcntl(2)).

       /proc/malloc (seulement jusqu'à Linux 2.2 inclus)
              Ce  fichier  n'est  présent  que  si  CONFIG_DEBUG_MALLOC  a  été défini lors de la
              compilation du noyau.

       /proc/meminfo
              Ce fichier fournit des statistiques sur l'utilisation mémoire du système.  Il  sert
              au  programme free(1) pour indiquer la quantité de mémoires (physique et d'échange)
              libre et utilisée, ainsi que la mémoire partagée et les  tampons  utilisés  par  le
              noyau. Chaque ligne du ficher contient un nom de paramètre, suivi d'un deux points,
              la valeur du paramètre et une unité éventuelle de mesure (par exemple  « kB »  pour
              « ko »).  La  liste  suivante  décrit  les noms de paramètre et le spécificateur de
              format nécessaire pour lire la valeur du champ. À part si précisé  autrement,  tous
              les  champs  sont  présents  depuis  au  moins Linux 2.6.0. Certains champs ne sont
              affichés que si le noyau a été configuré avec plusieurs options ;  ces  dépendances
              sont notées dans la liste.

              MemTotal %lu
                     Total  de  RAM  utilisable (c'est-à-dire la RAM physique moins quelques bits
                     réservés et le code binaire du noyau).

              MemFree %lu
                     La somme de LowFree et HighFree.

              Buffers %lu
                     Stockage relativement temporaire pour les  blocs  de  disque  bruts  qui  ne
                     devraient pas devenir trop gros (environ 20 Mo).

              Cached %lu
                     Cache  en  mémoire  pour  les  fichiers  sur  le disque (le cache de pages).
                     N'inclut pas SwapCached.

              SwapCached %lu
                     La mémoire qui avait été placée en espace d'échange (« swap »), qui en a été
                     retirée,  mais  qui et toujours dans le fichier d'échange (si la pression en
                     mémoire est importante, ces pages n'ont pas besoin d'être de nouveau placées
                     dans l'espace d'échange, car elles sont déjà dans le fichier d'échange. Cela
                     évite des E/S).

              Active %lu
                     La mémoire qui a été utilisée plus récemment mais n'est  pas  réclamée  tant
                     que ce n'est pas absolument nécessaire.

              Inactive %lu
                     La mémoire qui a été utilisée moins récemment. Elle est plus éligible à être
                     réclamée pour autre chose.

              Active(anon) %lu (depuis Linux 2.6.28)
                     [À documenter.]

              Inactive(anon) %lu (depuis Linux 2.6.28)
                     [À documenter.]

              Active(file) %lu (depuis Linux 2.6.28)
                     [À documenter.]

              Inactive(file) %lu (depuis Linux 2.6.28)
                     [À documenter.]

              Unevictable %lu (depuis Linux 2.6.28)
                     (De Linux 2.6.28 à  2.6.30,  CONFIG_UNEVICTABLE_LRU  était  nécessaire.)  [À
                     documenter.]

              Mlocked %lu (depuis Linux 2.6.28)
                     (De  Linux 2.6.28  à  2.6.30,  CONFIG_UNEVICTABLE_LRU  était nécessaire.) [À
                     documenter.]

              HighTotal %lu
                     (Depuis Linux 2.6.19, CONFIG_HIGHMEM est  nécessaire.)  Quantité  totale  de
                     mémoire  haute.  La  mémoire  haute  est  toute la mémoire au-delà d'environ
                     860 Mo de mémoire physique. Les espaces  de  mémoire  haute  sont  pour  les
                     programmes  en  espace  utilisateur, ou pour le cache de page. Le noyau doit
                     utiliser des astuces pour utiliser cette  mémoire,  la  rendant  plus  lente
                     d'accès que la mémoire basse.

              HighFree %lu
                     (Depuis  Linux 2.6.19,  CONFIG_HIGHMEM  est nécessaire.) Quantité de mémoire
                     haute libre.

              LowTotal %lu
                     (Depuis Linux 2.6.19, CONFIG_HIGHMEM est  nécessaire.)  Quantité  totale  de
                     mémoire  basse.  La mémoire basse est la mémoire qui peut être utilisée pour
                     les mêmes choses que la mémoire haute, mais est aussi  disponible  au  noyau
                     pour ses propres structures de données. Entre autres choses, c'est là qu'est
                     alloué tout Slab. Des problèmes peuvent  survenir  en  cas  d'épuisement  de
                     mémoire basse.

              LowFree %lu
                     (Depuis  Linux 2.6.19,  CONFIG_HIGHMEM  est nécessaire.) Quantité de mémoire
                     basse libre.

              MmapCopy %lu (depuis Linux 2.6.29)
                     (CONFIG_MMU est nécessaire.) [À documenter.]

              SwapTotal %lu
                     Quantité totale d'espace d'échange disponible.

              SwapFree %lu
                     Quantité d'espace d'échange non utilisée.

              Dirty %lu
                     Mémoire en attente d'être réécrite sur disque.

              Writeback %lu
                     Mémoire en cours de réécriture sur disque.

              AnonPages %lu (depuis Linux 2.6.18)
                     Pages sauvées sous une autre forme qu'un fichier, projetées dans des  tables
                     de pages en espace utilisateur.

              Mapped %lu
                     Fichier qui ont été projetés en mémoire, comme les bibliothèques.

              Shmem %lu (depuis Linux 2.6.32)
                     [À documenter.]

              Slab %lu
                     Cache de structures de données dans le noyau.

              SReclaimable %lu (depuis Linux 2.6.19)
                     Partie de Slab qui pourrait être réclamée, comme les caches.

              SUnreclaim %lu (depuis Linux 2.6.19)
                     Partie de Slab qui ne peut pas être réclamée en cas de pression en mémoire.

              KernelStack %lu (depuis Linux 2.6.32)
                     Quantité de mémoire allouée aux piles du noyau.

              PageTables %lu (depuis Linux 2.6.18)
                     Quantité de mémoire dédiée au plus bas niveau des tables de pages.

              Quicklists %lu (depuis Linux 2.6.27)
                     (CONFIG_QUICKLIST est nécessaire.) [À documenter.]

              NFS_Unstable %lu (depuis Linux 2.6.18)
                     Pages  NFS  envoyées au serveur, mais pas encore enregistrées sur le support
                     stable.

              Bounce %lu (depuis Linux 2.6.18)
                     Mémoire utilisée pour les « tampons de rebond » des périphériques blocs.

              WritebackTmp %lu (depuis Linux 2.6.24)
                     Mémoire utilisée par FUSE pour les tampons de réécriture temporaire.

              CommitLimit %lu (depuis Linux 2.6.10)
                     Basée   sur    le    rapport    du    dépassement    d'allocation    mémoire
                     (« vm.overcommit_ratio »),  c'est la quantité totale de mémoire actuellement
                     disponible pour allouer dans le système. Cette limite n'est respectée que si
                     la    gestion    stricte   du   dépassement   est   activée   (mode 2   dans
                     /proc/sys/vm/overcommit_ratio). CommitLimit est  calculée  en  utilisant  la
                     formule suivante :

                         CommitLimit =
                             ([total de pages de RAM] - [total de pages immenses TLB]) *
                             overcommit_ratio / 100 + [total de pages d’espace d’échange]

                     Par  exemple,  sur  un  système  ayant 1 Go de RAM physique et 7 Go d'espace
                     d'échange  avec  un  overcommit_ratio  de  30,  cette  formule  renvoie   un
                     CommitLimit  de  7.3 Go. Pour plus de précisions, consultez la documentation
                     du     dépassement     d'allocation     mémoire     dans     le      fichier
                     Documentation/vm/overcommit-accounting des sources du noyau.

              Committed_AS %lu
                     La  quantité  de mémoire actuellement allouée dans le système. Cette mémoire
                     est la somme de toute la mémoire qui a été allouée par les  processus,  même
                     s'ils  ne  l'ont  pas  encore  « utilisée ». Un processus qui alloue 1 Go de
                     mémoire (en utilisant malloc(3) ou équivalent), mais ne touche  qu'à  300 Mo
                     de cette mémoire, sera vu comme n'utilisant que 300 Mo de mémoire, même s'il
                     a l'espace d'adresses alloué pour 1 Go. Ce 1 Go est la  mémoire  qui  a  été
                     « réservée »  par la mémoire virtuelle et peut être utilisée n'importe quand
                     par l'application d'allocation.  Avec  la  gestion  stricte  du  dépassement
                     activée  (mode 2  dans  /proc/sys/vm/overcommit_memory), les allocations qui
                     pourraient dépasser CommitLimit (précisée ci-dessus) ne sont  pas  permises.
                     C'est  utile  s'il  est nécessaire de garantir que les processus ne vont pas
                     échouer  à  cause  du  manque  de  mémoire  une  fois  la  mémoire   allouée
                     correctement.

              VmallocTotal %lu
                     Taille totale d'allocation de mémoire virtuelle.

              VmallocUsed %lu
                     Taille d'allocation de mémoire virtuelle utilisée.

              VmallocChunk %lu
                     Plus grand bloc contigu d'allocation de mémoire virtuelle libérée.

              HardwareCorrupted %lu (depuis Linux 2.6.32)
                     (CONFIG_MEMORY_FAILURE est nécessaire.) [À documenter.]

              AnonHugePages %lu (depuis Linux 2.6.38)
                     (CONFIG_TRANSPARENT_HUGEPAGE  est  nécessaire.)  Pages immenses sauvées sous
                     une autre forme qu'un fichier, projetées dans des tables de pages en  espace
                     utilisateur.

              HugePages_Total %lu
                     (CONFIG_HUGETLB_PAGE  est  nécessaire.)  La  taille  d'espace pour les pages
                     immenses.

              HugePages_Free %lu
                     (CONFIG_HUGETLB_PAGE est nécessaire.)  Le  nombre  de  pages  immenses  dans
                     l'espace qui ne sont pas encore allouées.

              HugePages_Rsvd %lu (depuis Linux 2.6.17)
                     (CONFIG_HUGETLB_PAGE est nécessaire.) C'est le nombre de pages immenses pour
                     lesquelles un engagement a été fait pour les allouer dans l'espace, mais qui
                     n'ont  pas  encore  été  allouées. Ces pages immenses réservées garantissent
                     qu'une application pourra allouer une page immense dans l'espace  des  pages
                     immenses au moment nécessaire.

              HugePages_Surp %lu (depuis Linux 2.6.24)
                     (CONFIG_HUGETLB_PAGE est nécessaire.) C'est le nombre de pages immenses dans
                     l'espace au-delà  de  la  valeur  de  /proc/sys/vm/nr_hugepages.  Le  nombre
                     maximal     de    pages    immenses    en    excès    est    contrôlé    par
                     /proc/sys/vm/nr_overcommit_hugepages.

              Hugepagesize %lu
                     (CONFIG_HUGETLB_PAGE est nécessaire.) La taille des pages immenses.

       /proc/modules
              Liste littérale des modules qui ont été chargés par le système. Consultez lsmod(8).

       /proc/mounts
              Avant le noyau 2.4.19, ce fichier était une liste de tous les systèmes de  fichiers
              actuellement  monté  sur  le  système.  Avec  l'introduction des espaces de noms de
              montage par processus dans  Linux 2.4.19,  ce  fichier  est  devenu  un  lien  vers
              /proc/self/mounts,  qui  liste les points de montage de l'espace de noms de montage
              du processus. Le format de ce fichier est documenté dans fstab(5).

       /proc/mtrr
              Memory Type Range Registers. Consultez Documentation/mtrr.txt dans les  sources  du
              noyau Linux pour plus d'informations.

       /proc/net
              Ce  répertoire  regroupe divers pseudofichiers relatifs aux fonctionnalités réseau.
              Chaque fichier fournit des informations concernant  une  couche  particulière.  Ces
              fichiers  sont  en  ASCII  et  sont  donc lisible grâce à cat(1), mais le programme
              standard netstat(8) fournit un accès plus propre à ces données.

       /proc/net/arp
              Ce fichier contient un affichage ASCII lisible des tables ARP du noyau servant à la
              résolution  d'adresse.  Il  indique à la fois les entrées apprises dynamiquement et
              celles préprogrammées. Le format est le suivant :

        Adresse IP    Matériel  Attribut   Adresse matérielle Masque  Périph.
        192.168.0.50   0x1       0x2       00:50:BF:25:68:F3   *      eth0
        192.168.0.250  0x1       0xc       00:00:00:00:00:00   *      eth0

              Où « adresse IP » est l'adresse IPv4 de la machine, le type de matériel est issu de
              la  RFC  826. L'attribut correspond aux attributs de la structure ARP (définie dans
              /usr/include/linux/if_arp.h)  et  l'adresse  matérielle  est  celle  de  la  couche
              physique de l'adaptateur correspondant à l'adresse IP (si elle est connue).

       /proc/net/dev
              Ce  pseudofichier contient des informations d'état sur les périphériques réseau. Il
              contient les  nombres  de  paquets  émis  et  reçus,  le  nombre  d'erreurs  et  de
              collisions,  ainsi que d'autres données statistiques. Ce fichier est utilisé par le
              programme ifconfig(8). Le format est le suivant :

 Inter-|   Receive                                                |  Transmit
  face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
     lo: 2776770   11307    0    0    0     0          0         0  2776770   11307    0    0    0     0       0          0
   eth0: 1215645    2751    0    0    0     0          0         0  1782404    4324    0    0    0   427       0          0
   ppp0: 1622270    5552    1    0    0     0          0         0   354130    5669    0    0    0     0       0          0
   tap0:    7714      81    0    0    0     0          0         0     7714      81    0    0    0     0       0          0

       /proc/net/dev_mcast
              Définie dans /usr/src/linux/net/core/dev_mcast.c :
                   indx interface_name  dmi_u dmi_g dmi_address
                   2    eth0            1     0     01005e000001
                   3    eth1            1     0     01005e000001
                   4    eth2            1     0     01005e000001

       /proc/net/igmp
              Protocole     Internet     Group     Management     Protocol.      Défini      dans
              /usr/src/linux/net/core/igmp.c.

       /proc/net/rarp
              Ce  fichier  emploie  le  même format que le fichier arp, et contient la projection
              inverse de la base de données utilisée  pour  fournir  les  services  de  recherche
              inversée  de  rarp(8).  Si  RARP  n'est pas configuré dans le noyau, ce fichier est
              absent.

       /proc/net/raw
              Fournit  le  contenu  de  la  table  des  sockets  RAW  (brutes).  La  plupart  des
              informations ne sert que pour le débogage. La valeur « sl » est l'emplacement de la
              socket dans la table de hachage  du  noyau.  Le  champ  « local_address »  contient
              l'adresse  locale  ainsi  que la paire de numéros associée au protocole. « St » est
              l'état interne de la socket. « tx_queue » et « rx_queue »  représentent  les  files
              d'attente  en  émission  et  en  réception  en  ce qui concerne l'utilisation de la
              mémoire par le noyau. Les champs « tr », « tm->when » et « rexmits »  ne  sont  pas
              utilisés  par  « RAW ».  Le  champ  uid  contient l'identifiant d'utilisateur (UID)
              effectif du créateur de la socket.

       /proc/net/snmp
              Ce fichier contient les données ASCII nécessaires  pour  les  bases  d'informations
              d'IP, ICMP, TCP et UDP pour un agent SNMP.

       /proc/net/tcp
              Fournit le contenu de la table des sockets TCP. La plupart des informations ne sert
              que pour le débogage. La valeur « sl » est l'emplacement de la socket dans la table
              de hachage du noyau. Le champ « local_address » contient l'adresse locale ainsi que
              la pair de numéros de port. Le champ « rem_address » contient l'adresse distante et
              la paire de numéros de port (si la socket est connectée). « St » est l'état interne
              de la socket. « tx_queue » et « rx_queue »  représentent  les  files  d'attente  en
              émission  et  en  réception  en  ce qui concerne l'utilisation de la mémoire par le
              noyau. Les champs « tr »,  « tm->when »  et  « rexmits »  contiennent  des  données
              internes  au  noyau  ne servant qu'au débogage. Le champ uid contient l'identifiant
              d'utilisateur (UID) effectif du créateur de la socket.

       /proc/net/udp
              Fournit le contenu de la table des sockets UDP. La plupart des informations ne sert
              que pour le débogage. La valeur « sl » est l'emplacement de la socket dans la table
              de hachage du noyau. Le champ « local_address » contient l'adresse locale ainsi que
              la  paire  de numéros de port. Le champ « rem_address » contient l'adresse distante
              et la paire de numéros de port (si la socket  est  connectée).  « St »  est  l'état
              interne de la socket. « tx_queue » et « rx_queue » représentent les files d'attente
              en émission et en réception en ce qui concerne l'utilisation de la mémoire  par  le
              noyau. Les champs « tr », « tm->when » et « rexmits » ne sont pas utilisés par UDP.
              Le champ uid contient l'identifiant d'utilisateur (UID) effectif du créateur de  la
              socket. Le format est :

 sl  local_address rem_address   st tx_queue rx_queue tr rexmits  tm->when uid
  1: 01642C89:0201 0C642C89:03FF 01 00000000:00000001 01:000071BA 00000000 0
  1: 00000000:0801 00000000:0000 0A 00000000:00000000 00:00000000 6F000100 0
  1: 00000000:0201 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0

       /proc/net/unix
              Liste des sockets dans le domaine UNIX présentes sur le système, et leurs états. Le
              format est :
              Num RefCount Protocol Flags    Type St Path
               0: 00000002 00000000 00000000 0001 03
               1: 00000001 00000000 00010000 0001 01 /dev/printer

              Où « Num » est l'emplacement dans la table du noyau.  « Refcount »  est  le  nombre
              d'utilisateurs  de la socket. « Protocol » est toujours 0 pour le moment. « Flags »
              représente un attribut interne du noyau correspondant à l'état  de  la  socket.  Le
              type est toujours 1 pour le moment (Les sockets de datagrammes dans le domaine UNIX
              ne sont pas encore supportés par le noyau).  « St »  est  un  état  interne  de  la
              socket, et Path correspond à l'éventuel chemin d'accès de la socket.

       /proc/partitions
              Contient  les  numéros majeur et mineur de chaque partition, ainsi que le nombre de
              blocs de 1024 octets et le nom de la partition.

       /proc/pci
              Il  s'agit  d'une  liste  de  tous   les   périphériques   PCI   détectés   pendant
              l'initialisation ainsi que leur configuration.

              Ce  fichiers  a  été  déprécié au profit d'une nouvelle interface /proc pour le PCI
              (/proc/bus/pci).  Il  est  devenu  optionnel  dans  Linux   2.2   (disponible   par
              l'intermédiaire  de  CONFIG_PCI_OLD_PROC, défini à la compilation du noyau). Il est
              devenu non optionnel une fois de plus dans Linux 2.4. Ensuite, il  a  été  déprécié
              dans  Linux  2.6  (il  reste  disponible  par  l'intermédiaire du positionnement de
              CONFIG_PCI_LEGACY_PROC), et il a finalement été entièrement supprimé  depuis  Linux
              2.6.17.

       /proc/profile (depuis Linux 2.4)
              Ce  fichier n'est présent que si le noyau a été démarré avec l'option profile=1. Il
              met à disposition des informations de profilage sous une forme binaire lisible  par
              readprofile(1).  Une  écriture  (par  exemple  d'une  chaîne  vide) dans le fichier
              réinitialise les compteurs de profilage. Dans le cas  de  certaines  architectures,
              l'écriture d'un entier « multiple de profilage » de taille sizeof(int) configure la
              fréquence d'interruption du profilage.

       /proc/scsi
              Répertoire regroupant les pseudofichiers du niveau  scsi  intermédiaire  et  divers
              sous-répertoires  pour  les  pilotes SCSI de bas niveau. Ils contiennent un fichier
              pour chaque hôte SCSI du système, chacun d'entre eux donnant l'état d'une partie du
              sous-système  d'E/S SCSI. Les fichiers contiennent des structures sous forme ASCII,
              et sont donc lisibles avec cat(1).

              On peut également écrire dans certains fichiers pour reconfigurer  le  sous-système
              SCSI, ou activer/désactiver certaines fonctionnalités.

       /proc/scsi/scsi
              Il  s'agit  d'une liste de tous les périphériques SCSI reconnus par le noyau. Cette
              liste est la même que celle affichée durant  le  démarrage.  Le  sous-système  SCSI
              n'accepte   pour  le  moment  que  la  commande  add-single-device  qui  permet  au
              superutilisateur  d'ajouter  un  périphérique  branché  à  chaud  à  la  liste  des
              périphériques connus.

              La commande

                  echo 'scsi add-single-device 1 0 5 0' > /proc/scsi/scsi

              fera  examiner  le  canal SCSI 0 par l'hôte scsi1, à la recherche d'un périphérique
              identifié ID 5 LUN 0. S'il y a déjà un périphérique à cette adresse ou si l'adresse
              est inconnue, une erreur sera renvoyée.

       /proc/scsi/[nom_de_pilote]
              Le  [nom_de_pilote]  peut être actuellement : NCR53c7xx, aha152x, aha1542, aha1740,
              aic7xxx, buslogic, eata_dma, eata_pio, fdomain, in2000, pas16, qlogic,  scsi_debug,
              seagate,  t128,  u15-24f,  ultrastore  ou  wd7000.  Ces répertoires correspondent à
              chaque pilote qui pilote au moins  un  HBA  SCSI.  Chaque  répertoire  contient  un
              fichier par hôte enregistré. Chaque fichier hôte est baptisé avec le numéro assigné
              à l'hôte durant l'initialisation.

              La lecture de ces fichiers montrera en général la configuration  de  l'hôte  et  du
              pilote, des statistiques, etc.

              L'écriture  dans  ces  fichiers permettra différentes choses suivant les hôtes. Par
              exemple, avec les commandes latency et nolatency, le superutilisateur peut  activer
              ou inhiber le code de mesure de latence des commandes dans le pilote eata_dma. Avec
              les commandes lockup et unlock, il peut contrôler les verrouillages de bus  simulés
              par le pilote scsi_debug.

       /proc/self
              Ce  répertoire  se  rapporte au processus accédant au système de fichiers /proc, et
              est identique au sous-répertoire de /proc  ayant  pour  nom  le  PID  du  processus
              appelant.

       /proc/slabinfo
              Information  concernant  les caches du noyau. Depuis Linux 2.6.16, ce fichier n'est
              présent que si l'option de configuration du  noyau  CONFIG_SLAB  est  validée.  Les
              colonnes de  /proc/slabinfo sont :

                  nom-du-cache
                  nombre-d'objets-actifs
                  nombre-total-d'objets
                  taille-d-'objet
                  nombre-de-tampons-actifs
                  nombre-total-de-tampons
                  nombre-de-pages-par-tampon

              Consultez slabinfo(5) pour plus de précisions.

       /proc/stat
              Statistiques  du  noyau,  et  du  système.  Varie  avec l'architecture, les entrées
              communes sont les suivantes.

              cpu  3357 0 4313 1362393
                     Temps, mesuré en unités de USER_HZ (centième de seconde sur la  plupart  des
                     architectures,   utilisez  sysconf(_SC_CLK_TCK)  pour  connaître  la  valeur
                     correcte), que le système a passé dans les différents états suivants.

                     utilisateur (user)
                            (1) Temps passé en mode utilisateur.

                     basse priorité (nice)
                            (2)  Temps  passé  en  mode  utilisateur  avec  une  priorité   basse
                            (courtoisie élevée : « nice »).

                     système (system)
                            (3) Temps passé en mode système.

                     inactivité (idle)
                            (4)  Temps passé en tâche inactive. Cette valeur devrait correspondre
                            à USER_HZ fois la deuxième entrée du pseudofichier /proc/uptime.

                     attente d'entrées et sorties (iowait, depuis Linux 2.5.41)
                            (4) Temps attendu jusqu'à la fin des entrées et sorties.

                     interruptions (irq, depuis Linux 2.6.0-test4)
                            (6) Temps d'entretien des interruptions.

                     softirq (depuis Linux 2.6.0-test4)
                            (7) Temps d'entretien des softirqs.

                     volé (steal, depuis Linux 2.6.11)
                            Temps  volé,  qui  est  le  temps  passé   dans   d'autres   systèmes
                            d'exploitation lorsqu'un environnement virtualisé est actif

                     client (guest, depuis Linux 2.6.24)
                            (9)  Temps  passé  à exécuter un processeur virtuel pour des systèmes
                            d'exploitation clients sous le contrôle du noyau Linux.

                     client basse priorité guest_nice (depuis Linux 2.6.33)
                            (10) Temps passé  à  exécuter  un  client  avec  une  priorité  basse
                            (processeur  virtuel pour des systèmes d'exploitation clients sous le
                            contrôle du noyau Linux).

              page 5741 1808
                     Le nombre de pages que le système a paginé en entrée et en sortie.

              swap 1 0
                     Le nombre de pages de swap que le système a échangé en entrée et en sortie.

              intr 1462898
                     Cette ligne contient le nombre d'interruptions qui ont été prises en  compte
                     depuis le démarrage du système, pour chacune des interruptions possibles. La
                     première colonne est le total de toutes les interruptions ayant  été  prises
                     en  compte ;  chacune  des  colonnes  suivantes représente le total pour une
                     interruption particulière.

              disk_io: (2,0):(31,30,5764,1,2) (3,0):...
                     (major,disk_idx):(noinfo,     read_io_ops,     blks_read,      write_io_ops,
                     blks_written)
                     (Linux 2.4 seulement)

              ctxt 115315
                     Le nombre de changements de contexte effectués par le système.

              btime 769041601
                     La  date  de  démarrage  du  système  en  secondes écoulées depuis l'époque,
                     1er janvier 1970 à 00:00:00 (UTC).

              processes 86031
                     Le nombre de processus exécutés sur le système depuis le démarrage.

              procs_running 6
                     Nombre de processus dans un état exécutable. (à partir de Linux 2.5.45).

              procs_blocked 2
                     Nombre de processus bloqués en attente de fin  d'E/S.  (À  partir  de  Linux
                     2.5.45).

       /proc/swaps
              Les zones de swap utilisées. Consultez aussi swapon(8).

       /proc/sys
              Ce  répertoire (présent depuis le noyau 1.3.57) contient un ensemble de fichiers et
              de sous-répertoires correspondant à des  variables  internes  du  noyau.  Celles-ci
              peuvent  être  lues  et parfois modifiées en utilisant le pseudosystème de fichiers
              /proc, et en utilisant l'appel système (obsolète) sysctl(2).

       /proc/sys/abi (depuis Linux 2.4.10)
              Ce répertoire  peut  contenir  des  fichiers  d'informations  sur  l'exécutable  de
              l'application.  Consultez  le  fichier  fourni  avec  les  sources  du  noyau Linux
              Documentation/sysctl/abi.txt pour plus d'informations.

       /proc/sys/debug
              Ce répertoire peut être vide.

       /proc/sys/dev
              Ce répertoire contient des informations  spécifiques  sur  les  périphériques  (par
              exemple dev/cdrom/info). Sur certains systèmes, il peut être vide.

       /proc/sys/fs
              Ce  répertoire  contient  les  fichiers  et répertoires pour les variables du noyau
              relatives aux systèmes de fichiers.

       /proc/sys/fs/binfmt_misc
              La documentation concernant les fichiers  de  ce  répertoire  se  trouve  dans  les
              sources du noyau Linux, dans Documentation/binfmt_misc.txt.

       /proc/sys/fs/dentry-state (depuis Linux 2.2)
              Ce fichier contient des informations sur l'état du cache de répertoire (dcache). Ce
              fichier contient six nombres nr_dentry, nr_unused,  age_limit  (age  en  secondes),
              want_pages (pages réclamées par le système) et deux valeurs inutiles.

              * nr_dentry  est  le  nombre  d'entrées dcache allouées. Ce champ n'est pas utilisé
                dans Linux 2.2.

              * nr_unused est le nombre d'entrées de répertoire libres.

              * age_limit est l'âge en seconde après lequel les entrées  de  cache  peuvent  être
                réclamées quand la mémoire libre diminue.

              * want_pages  n'est pas nul quand le noyau a appelé shrink_dcache_pages() et que le
                cache de répertoire n'a pas encore été élagué.

       /proc/sys/fs/dir-notify-enable
              Ce fichier permet d'activer ou inhiber l'interface dnotify décrite dans fcntl(2) au
              niveau système Une valeur nulle inhibe cette interface, et la valeur 1 l'active.

       /proc/sys/fs/dquot-max
              Ce  fichier  montre  le  nombre  maximal d'entrées de quota de disque en cache. Sur
              certains systèmes (2.4), il est absent. Si le nombre de quotas de disque libres est
              très  bas,  et  si  vous  avez  un nombre important d'utilisateurs simultanés, vous
              pouvez augmenter cette valeur.

       /proc/sys/fs/dquot-nr
              Ce fichier montre le nombre d'entrées de quota de  disque  allouées  et  le  nombre
              d'entrées libres.

       /proc/sys/fs/epoll (depuis Linux 2.6.28)
              Ce  répertoire  contient  le  fichier  max_user_watches, qui peut être utilisé pour
              limiter la quantité de mémoire du noyau utilisée par l'interface  epoll.  Consultez
              epoll(7) pour davantage d'informations.

       /proc/sys/fs/file-max
              Ce  fichier  est  la limite système du nombre de fichiers ouverts par un processus.
              (Consultez aussi setrlimit(2) qui peut servir à définir la  limite  par  processus,
              RLIMIT_NOFILE).  Si  vous  avez  beaucoup  de messages d'erreurs dans le journal du
              noyau indiquant un manque de descripteurs de  fichiers  (cherchez  « VFS:  file-max
              limit <number> reached »), essayez d'augmenter cette valeur.

                  echo 100000 > /proc/sys/fs/file-max

              La  constante  NR_OPEN  du  noyau impose une limite supérieure à la valeur que l'on
              peut placer dans file-max.

              Les processus privilégiés (CAP_SYS_ADMIN) peuvent écraser la limite file-max.

       /proc/sys/fs/file-nr
              Ce fichier en lecture seule contient trois nombres : le nombre de  descripteurs  de
              fichiers  alloués  (c'est-à-dire  le  nombre  de fichiers actuellement ouverts), le
              nombre de descripteurs de fichiers libres et le nombre maximum de  descripteurs  de
              fichiers  (c'est-à-dire  la même valeur que /proc/sys/fs/file-max). Si le nombre de
              descripteurs alloués est proche du maximum, vous devriez envisager  d'augmenter  le
              maximum. Avant Linux 2.6, le noyau allouait les descripteurs dynamiquement, mais ne
              les libèrait pas. Au lieu de cela, les  descripteurs  de  fichiers  libres  étaient
              stockés  dans  une  liste pour être réalloués, le nombre « descripteurs de fichiers
              libres » référant à la taille de cette liste. Un nombre élevé  de  descripteurs  de
              fichiers  libres  était  l'indication qu'un pic d'utilisation s'est produit. Depuis
              Linux 2.6, le noyau désalloue les descripteurs de fichiers libres, et  ce  compteur
              est toujours nul.

       /proc/sys/fs/inode-max (avant Linux 2.2)
              Ce  fichier  contient  le  nombre maximal d'inœuds en mémoire. Cette valeur devrait
              être 3 à 4 fois plus grande que le nombre file-max,  car  les  descripteurs  stdin,
              stdout,  et  les  sockets  réseau  nécessitent aussi un inœud. Lorsque vous manquez
              régulièrement d'inœuds, augmentez cette valeur.

              Depuis Linux 2.4, il n'y a plus de limite statique du nombre d'inœuds et ce fichier
              n'existe plus.

       /proc/sys/fs/inode-nr
              Ce fichier contient les deux premières valeurs d'inode-state.

       /proc/sys/fs/inode-state
              Ce  fichier  contient sept nombres : nr_inodes, nr_free_inodes, preshrink et quatre
              valeurs non significatives.

              nr_inodes est le nombre d'inœuds alloués par le système. nr_free_inodes  représente
              le nombre d'inœuds libres.

              preshrink  est  non nul lorsque nr_inodes > inode-max et que le système doit purger
              la liste d'inœuds plutôt qu'en allouer davantage. Ce champ n'est plus  significatif
              depuis Linux 2.4.

       /proc/sys/fs/inotify (depuis Linux 2.6.13)
              Ce  répertoire  contient  les  fichiers  max_queued_events,  max_user_instances, et
              max_user_watches, qui peuvent être utilisés pour limiter la quantité de mémoire  du
              noyau  utilisée  par  l'interface  inotify.  Consultez  inotify(7)  pour  davantage
              d'informations.

       /proc/sys/fs/lease-break-time
              Ce fichier indique le délai de grâce que le noyau accorde à un  processus  détenant
              un  blocage de fichier (file lease, consultez fcntl(2)) après qu'il lui a envoyé un
              signal indiquant qu'un autre processus attend pour ouvrir le fichier. Si, durant le
              délai  de grâce, le détenteur du blocage ne le supprime pas, en n'en diminue pas la
              portée, le noyau éliminera de force le blocage.

       /proc/sys/fs/leases-enable
              Ce fichier permet d'activer ou d'inhiber les  blocages  de  fichiers  (file  lease,
              consultez  fcntl(2))  pour tout le système. Si ce fichier contient la valeur 0, les
              blocages sont désactivés, une valeur non nulle les active.

       /proc/sys/fs/mqueue (depuis Linux 2.6.6)
              Ce répertoire contient  les  fichiers  msg_max,  msgsize_max,  et  queues_max,  qui
              contrôlent  les  ressources  utilisées  par  les files de messages POSIX. Consultez
              mq_overview(7) pour davantage d'informations.

       /proc/sys/fs/overflowgid et /proc/sys/fs/overflowuid
              Ces fichiers contiennent des valeurs de GID  et  UID  de  débordement,  par  défaut
              65534.  Certains systèmes de fichiers ne supportent que des UID et GID sur 16 bits,
              bien que le noyau Linux les gère sur 32 bits.  Lorsque  l'un  de  ces  systèmes  de
              fichiers  est  monté  en  lecture/écriture,  tout  UID  ou  GID dépassant 65535 est
              remplacé par la valeur de débordement avant l'écriture sur le disque.

       /proc/sys/fs/pipe-max-size (depuis Linux 2.6.35)
              La valeur de ce fichier définit une limite supérieure pour  augmenter  la  capacité
              d'un   tube  en  utilisant  l'opération  fcntl(2)  F_SETPIPE_SZ.  Cette  limite  ne
              s'applique qu'aux processus ordinaires (sans privilèges). La valeur par  défaut  de
              ce  fichier  est  1048576.  La  valeur  employée  par ce fichier peut être arrondie
              supérieurement, pour refléter la valeur réellement employée pour une implémentation
              adaptée.  Pour  connaître la valeur arrondie, il suffit d'afficher le contenu de ce
              fichier après en avoir changé la valeur. La valeur minimale qui peut être  assignée
              à ce fichier est la taille de la page.

       /proc/sys/fs/protected_hardlinks (depuis Linux 3.6)
              Quand  la valeur dans ce fichier est 0, aucune restriction n'empêche la création de
              liens physiques (c'est-à-dire le comportement historique avant Linux 3.6). Quand la
              valeur  de  ce  fichier  est  1, un lien physique ne peut être créé vers un fichier
              cible que si une des conditions suivantes est vraie.

              *  L'appelant a la capacité CAP_FOWNER.

              *  L'UID  de  système  de  fichier  du  processus  créant  le  lien  correspond  au
                 propriétaire   (UID)   du  fichier  cible  (conformément  à  la  description  de
                 credentials(7), l'UID de système de fichier d'un processus  est  normalement  le
                 même que son UID effectif).

              *  Toutes les conditions suivantes sont vraies :

                  •  la cible est un fichier régulier ;

                  •  le fichier cible n'a pas son bit de droits Set-UID activé ;

                  •  le  fichier  cible n'a aucun de ses bits de droits Set-GID et exécutable par
                     le groupe activé ;

                  •  l'appelant a le droit de lire et écrire le fichier cible (soit par le masque
                     des droits du fichier, soit car il dispose de la capacité nécessaire).

              La  valeur  par  défaut dans ce fichier est 0. Définir cette valeur à 1 empêche une
              classe de problèmes de sécurité de longue date  provoqués  par  des  situations  de
              compétition  de date de vérifications ou de date d'utilisation basées sur les liens
              physiques, la plupart du  temps  constatés  dans  des  répertoires  accessibles  en
              écriture  à  tous comme /tmp. La méthode habituelle pour exploiter ce défaut est de
              croiser les limites de droits lors du suivi d'un lien physique donné  (c'est-à-dire
              qu'un processus du superutilisateur suit un lien créé par un autre utilisateur). De
              plus, sur les systèmes sans partitions séparées, cela empêche les utilisateurs  non
              autorisés  d'« épingler »  les  fichier  Set-UID  et  Set-GID vulnérables, pour les
              empêcher d'être mis à jour par l'administrateur ou d'être liés  vers  des  fichiers
              spéciaux.

       /proc/sys/fs/protected_symlinks (depuis Linux 3.6)
              Quand  la  valeur  dans  ce fichier est 0, aucune restriction n'empêche le suivi de
              liens symboliques (c'est-à-dire le comportement historique avant Linux 3.6).  Quand
              la  valeur de ce fichier est 1, les liens symboliques ne sont suivis que dans l'une
              des circonstances suivantes :

              *  l'UID de  système  de  fichier  du  processus  suivant  le  lien  correspond  au
                 propriétaire  (UID)  du  lien  symbolique  (conformément  à  la  description  de
                 credentials(7), l'UID de système de fichier d'un processus  est  normalement  le
                 même que son UID effectif) ;

              *  le  lien  n'est  pas  dans un répertoire accessibles en écriture à tous de façon
                 « sticky » ;

              *  le lien symbolique et son répertoire parent ont le même propriétaire (UID).

              Un appel système qui  n'arrive  pas  à  suivre  un  lien  symbolique  à  cause  des
              restrictions ci-dessus renvoie l'erreur EACCES dans errno.

              La  valeur  par  défaut dans ce fichier est 0. Définir cette valeur à 1 empêche une
              classe de problèmes de  sécurité  de  longue  date  basés  sur  des  situations  de
              compétition  de  date de vérifications ou de date d'utilisation lors de l'accès aux
              liens symboliques.

       /proc/sys/fs/suid_dumpable (depuis Linux 2.6.13)
              La valeur de ce fichier détermine si des fichiers d'images mémoire ont été produits
              pour  « set-user-ID »  ou d'autre binaires protégés ou corrompus. Trois différentes
              valeurs entières peuvent être indiquées :

              0 (par défaut)
                     Cela donne le comportement  traditionnel  (antérieur  à  Linux 2.6.13).  Une
                     image  mémoire  ne  sera  pas  produite  pour un processus qui a modifié ses
                     droits (en appelant seteuid(2), setgid(2), ou  autre,  ou  en  exécutant  un
                     programme  set-user-ID  ou set-group-ID) ou dont le binaire n'a pas le droit
                     de lecture actif.

              1  débogage »)
                     Des images mémoire de tous les processus seront faites si possible.  L'image
                     mémoire  appartient  à l'identifiant d'utilisateur du système de fichiers du
                     processus dont l'image a été créée et aucune mesure de sécurité n'est prise.
                     Cela  n'est  prévu  que  dans  des  situations  où l'on souhaite déboguer le
                     système. Ptrace n'est pas vérifié.

              2  suidsafe »)
                     L'image mémoire d'un binaire qui  n'aurait  normalement  pas  été  effectuée
                     (voir  « 0 »  ci-dessus)  est  prise  lisible par le superutilisateur (root)
                     seulement. Cela permet à l'utilisateur de pourvoir supprimer l'image mémoire
                     mais  pas  de  la  lire.  Pour  des raisons de sécurité, les images mémoires
                     prises dans ce mode n'en écraseront pas une autre ou d'autres  fichiers.  Ce
                     mode  est  adéquat lorsque l'administrateur essaie de déboguer des problèmes
                     dans un environnement normal.

                     De plus, depuis Linux 3.6, /proc/sys/kernel/core_pattern doit être  soit  un
                     chemin  absolu,  soit  une  commande  de tube (« pipe »), comme précisé dans
                     core(5). Des avertissements seront  écrits  dans  le  journal  du  noyau  si
                     core_pattern  ne  suit  pas  ces  règles  et  aucune  image  mémoire ne sera
                     produite.

       /proc/sys/fs/super-max
              Ce fichier indique le nombre maximal de superblocs, et donc le  nombre  maximal  de
              systèmes  de  fichiers  que  le  noyau  peut monter. Vous n'avez besoin d'augmenter
              super-max que si vous désirez monter plus de systèmes de fichiers  que  ce  que  la
              valeur actuelle de super-max vous permet.

       /proc/sys/fs/super-nr
              contient le nombre de systèmes de fichiers montés actuellement.

       /proc/sys/kernel
              Ce  répertoire  contient  des  fichiers  contrôlant  tout  une série de paramètres,
              décrits ci-dessous.

       /proc/sys/kernel/acct
              Ce fichier contient trois nombres : un seuil haut, un seuil bas et une période.  Si
              la comptabilité des processus à la manière BSD est activée, ses valeurs déterminent
              son comportement. Si l'espace disque sur le système  de  fichiers  accueillant  les
              statistiques  descend  sous  le  seuil  bas,  (en pourcentage), la comptabilité est
              suspendue. Si l'espace remonte au-dessus du seuil haut, elle  reprend.  La  période
              (en  seconde)  est celle avec laquelle le noyau vérifie l'espace disque disponible.
              Les valeurs par défaut sont 4, 2 et 30.  Cela  signifie  que  la  comptabilité  est
              suspendue  en  dessous  de  2 %  d'espace libre, elle reprend à partir de 4 % et la
              vérification a lieu toutes les 30 secondes.

       /proc/sys/kernel/cap_last_cap (depuis Linux 3.2)
              Consultez capabilities(7).

       /proc/sys/kernel/cap-bound (de Linux 2.2 à 2.6.24)
              Ce fichier conserve la valeur de limitation de capacités du noyau  (exprimée  comme
              un  nombre  décimal  signé).  Cet  ensemble  est  filtré par un ET binaire avec les
              capacités du processus lors d'un execve(2). À partir de Linux 2.6.25, la limitation
              de capacités à l'échelle du système a disparu pour être remplacé par une limitation
              au niveau des threads ; voir capabilities(7).

       /proc/sys/kernel/core_pattern
              Consultez core(5).

       /proc/sys/kernel/core_uses_pid
              Consultez core(5).

       /proc/sys/kernel/ctrl-alt-del
              Ce fichier contrôle la gestion de  la  séquence  Ctrl-Alt-Suppr  du  clavier.  S'il
              contient  la valeur zéro, Ctrl-Alt-Suppr est capturé et envoyé au programme init(8)
              pour relancer le système correctement. Si la  valeur  est  supérieure  à  zéro,  la
              réaction  de  Linux à ce Coup-de-pied Au C.. est un redémarrage immédiat, sans même
              écrire le contenu des tampons en attente. Note : lorsqu'un programme (comme dosemu)
              utilise   le  clavier  en  mode  « raw »  (brut),  la  séquence  ctl-alt-suppr  est
              interceptée par le programme avant même d'atteindre le gestionnaire de  console  du
              noyau, et c'est à ce programme de décider qu'en faire.

       /proc/sys/kernel/dmesg_restrict (depuis Linux 2.6.37)
              La  valeur  de  ce fichier détermine qui peut voir le contenu du journal système du
              noyau. Une valeur nulle dans ce fichier n'impose aucune restriction. Si  la  valeur
              est  1,  seuls  les utilisateurs autorisés peuvent lire le journal système du noyau
              (consultez  syslog(2)  pour  plus  de  précisions).  Depuis  Linux 3.4,  seuls  les
              utilisateurs  avec  la  capacité  CAP_SYS_ADMIN  peuvent  modifier  la valeur de ce
              fichier.

       /proc/sys/kernel/domainname et /proc/sys/kernel/hostname
              Ces fichiers servent à indiquer les noms NIS/YP de domaine et d'hôte, exactement de
              la même manière que les commandes domainname(1) et hostname(1). C'est-à-dire :

                  # echo 'darkstar' > /proc/sys/kernel/hostname
                  # echo 'mydomain' > /proc/sys/kernel/domainname

              a exactement le même effet que

                  # hostname 'darkstar'
                  # domainname 'mydomain'

              Notez  toutefois, que le classique darkstar.frop.org a le nom d'hôte darkstar et le
              nom de domaine DNS (Internet Domain Name Server) "frop.org",  à  ne  pas  confondre
              avec  le nom de domaine NIS (Network Information Service) ou YP (Yellow Pages). Ces
              noms de domaines sont généralement différents. Pour plus de  détail,  consultez  la
              page hostname(1).

       /proc/sys/kernel/hotplug
              Ce  fichier  contient  le chemin de l'agent du mécanisme de branchement à chaud. La
              valeur par défaut est /sbin/hotplug.

       /proc/sys/kernel/htab-reclaim
              (PowerPC seulement) Si ce fichier contient une valeur non nulle, la htab du PowerPC
              (voir  le fichier Documentation/powerpc/ppc_htab.txt du noyau) est parcourue chaque
              fois que le système atteint la boucle d'inactivité.

       /proc/sys/kernel/kptr_restrict (depuis Linux 2.6.38)
              La valeur de ce fichier détermine si  des  adresses  du  noyau  sont  exposées  par
              l'intermédiaire  de fichiers /proc et d'autres interfaces. Une valeur nulle dans ce
              fichier n'impose aucune restriction. Si la valeur est 1,  les  pointeurs  du  noyau
              affichés en utilisant le spécificateur de format %pK seront remplacés par des zéros
              sauf si l'utilisateur a la capacité CAP_SYSLOG. Si la valeur est 2,  les  pointeurs
              du  noyau affichés en utilisant le spécificateur de format %pK seront remplacés par
              des zéros quelles que soient les capacités de l'utilisateur. La valeur  par  défaut
              pour  ce  fichier  était  1 initialement, mais la valeur par défaut a été changée à
              zéro avec Linux 2.6.39. Depuis Linux 3.4, seuls les utilisateurs avec  la  capacité
              CAP_SYS_ADMIN peuvent modifier la valeur de ce fichier.

       /proc/sys/kernel/l2cr
              (Sur  PowerPC  seulement). Ce fichier contient un indicateur commandant le cache L2
              des cartes à processeur G3. Le cache est désactivé si la valeur est  nulle,  activé
              sinon.

       /proc/sys/kernel/modprobe
              Ce fichier comporte le chemin du chargeur de modules du noyau. Sa valeur par défaut
              est /sbin/modprobe. Ce fichier n'est présent que si le  noyau  est  construit  avec
              l'option   CONFIG_MODULES   activée   (CONFIG_KMOD   dans  les  versions 2.6.26  et
              antérieures). C'est décrit dans le fichier du  noyau  Linux  Documentation/kmod.txt
              (il n'est présent que dans les versions de noyau 2.4 et antérieures).

       /proc/sys/kernel/modules_disabled (depuis Linux 2.6.31)
              Une  valeur  booléenne indiquant si les modules ont le droit d'être chargés dans un
              noyau sinon modulaire. La valeur par défaut est fausse (0), mais peut être  définie
              à  vraie (1). Une fois vraie, les modules ne peuvent ni être chargés, ni déchargés,
              et la valeur ne peut plus être redéfinie à fausse. Le fichier n'est présent que  si
              le noyau est construit avec l'option CONFIG_MODULES activée.

       /proc/sys/kernel/msgmax (disponible depuis Linux 2.2)
              Ce  fichier  est  une limite pour l'ensemble du système précisant le nombre maximal
              d'octets par message écrit dans une file de message System V.

       /proc/sys/kernel/msgmni (disponible depuis Linux 2.4)
              Ce fichier définit la limite pour le système du nombre d'identifiants de  files  de
              messages.

       /proc/sys/kernel/msgmnb (disponible depuis Linux 2.2)
              Ce  fichier  définit  un  paramètre valable pour l'ensemble du système utilisé pour
              initialiser la valeur msg_qbytes pour la création ultérieure de files de  messages.
              La  valeur  msg_qbytes  indique le nombre maximal d'octets qui pourront être écrits
              dans une file de messages.

       /proc/sys/kernel/ngroups_max (depuis Linux 2.6.4)
              Ce fichier est  en  lecture  seule  et  affiche  la  limite  supérieure  du  nombre
              d’appartenances à un groupe pour un processus.

       /proc/sys/kernel/ostype et /proc/sys/kernel/osrelease
              Ces fichiers donnent des sous-chaînes de /proc/version.

       /proc/sys/kernel/overflowgid et /proc/sys/kernel/overflowuid
              Ces   fichiers   remplissent   le   même   rôle   que  /proc/sys/fs/overflowgid  et
              /proc/sys/fs/overflowuid.

       /proc/sys/kernel/panic
              Ce fichier donne un accès en lecture et écriture à  la  variable  panic_timeout  du
              noyau.  Si  elle  vaut zéro, le noyau se mettra en boucle en cas de panique ; sinon
              elle indique que le noyau devra redémarrer de lui-même après le nombre de  secondes
              qu'elle  contient. Si vous utilisez le pilote logiciel de surveillance watchdog, la
              valeur recommandée est de 60.

       /proc/sys/kernel/panic_on_oops (depuis Linux 2.5.68)
              Ce fichier contrôle le comportement du noyau lorsqu'un Oops (défaut)  ou  un  bogue
              est  rencontré.  Si  ce  fichier  contient 0, alors le système tente de continuer à
              travailler. S'il contient 1,  alors  le  système  attend  quelques  secondes  (pour
              laisser  à  klogd  le  temps  d'enregistrer  la  sortie du Oops) puis déclenche une
              panique. Si le fichier  /proc/sys/kernel/panic  est  également  non  nul  alors  la
              machine redémarrera.

       /proc/sys/kernel/pid_max (depuis Linux 2.5.34)
              Ce fichier indique la valeur à partir de laquelle la numérotation des PID reprendra
              à sa valeur initiale (ce qui signifie que la valeur dans ce fichier  est  celle  du
              PID  maximum  plus un). La valeur par défaut est 32768, ce qui correspond à la même
              plage de PID que sur les noyaux antérieurs.  Pour  les  plates-formes  32 bits,  la
              valeur  maximum  de  pid_max  est de 32768. Pour les systèmes 64 bits, pid_max peut
              avoir n'importe quelle valeur  jusqu'à  2^22  (PID_MAX_LIMIT,  approximativement  4
              millions).

       /proc/sys/kernel/powersave-nap (PowerPC seulement)
              Ce  fichier  contient  un indicateur. S'il est non nul, Linux-PPC utilisera le mode
              « nap » d'économie d'énergie, sinon il utilisera le mode « doze ».

       /proc/sys/kernel/printk
              Les   quatre   valeurs   dans   ce   fichier   sont    nommées    console_loglevel,
              default_message_loglevel,  minimum_console_level  et  default_console_loglevel. Ces
              valeurs influencent le comportement de  printk()  lors  de  l'affichage  ou  de  la
              journalisation  de  message  d'erreurs. Consultez syslog(2) pour plus d'information
              sur les différents  niveaux.  Les  messages  avec  une  priorité  plus  élevée  que
              console_loglevel  seront  affichés  sur  la  console.  Les  messages  sans priorité
              explicite utiliseront la priorité  default_message_level.  minimum_console_loglevel
              est   la   valeur   maximale   à   laquelle  console_loglevel  puisse  être  élevé.
              default_console_loglevel est la valeur par défaut pour console_loglevel.

       /proc/sys/kernel/pty (depuis Linux 2.6.4)
              Ce répertoire contient deux fichiers relatifs au nombre de pseudoterminaux UNIX  98
              (consultez pts(4)) sur le système.

       /proc/sys/kernel/pty/max
              Ce fichier définit le nombre maximal de pseudoterminaux.

       /proc/sys/kernel/pty/nr
              Ce  fichier,  en  lecture  seule,  indique  le  nombre  de pseudoterminaux en cours
              d'utilisation.

       /proc/sys/kernel/random
              Ce répertoire contient divers paramètres contrôlant le  fonctionnement  du  fichier
              /dev/random. Consultez random(4) pour davantage d'informations.

       /proc/sys/kernel/random/uuid (disponible depuis Linux 2.4)
              Chaque  lecture  de  ce  fichier  en  lecture  seule  renvoie  un UUID aléatoire de
              128 bits, sous forme de chaîne au format UUID normalisé.

       /proc/sys/kernel/real-root-dev
              Ce fichier est documenté dans le fichier Documentation/initrd.txt  des  sources  du
              noyau Linux.

       /proc/sys/kernel/reboot-cmd (Sparc seulement)
              permet  apparemment  de  fournir  un  argument au chargeur de boot ROM/Flash Sparc.
              Peut-être indique-t-il que faire après redémarrage ?

       /proc/sys/kernel/rtsig-max
              (Uniquement pour les  noyaux  jusqu'à  2.6.7  inclus ;  consultez  setrlimit(2)).Ce
              fichier  peut  être  utilisé  pour  ajuster  le  nombre  maximal  de  signaux POSIX
              temps-réel (en file d'attente) pouvant se trouver en attente sur le système.

       /proc/sys/kernel/rtsig-nr
              (Uniquement pour les noyaux de Linux jusqu'à 2.6.7 inclus). Ce fichier  indique  le
              nombre de signaux POSIX temps-réel actuellement en file attente.

       /proc/sys/kernel/sched_rr_timeslice_ms (disponible depuis Linux 3.9)
              Consultez sched_rr_get_interval(2).

       /proc/sys/kernel/sem (disponible depuis Linux 2.4)
              contient 4 limites pour les sémaphores System V. Ces valeurs sont respectivement :

              SEMMSL  Le nombre maximal de sémaphores par ensemble.

              SEMMNS  Une  limite  générale au système pour le nombre de sémaphores dans tous les
                      ensembles.

              SEMOPM  Le nombre maximal  d'opérations  que  l'on  peut  indiquer  dans  un  appel
                      semop(2).

              SEMNI   Une limite générale sur le nombre maximal d'identifiants de sémaphores.

       /proc/sys/kernel/sg-big-buff
              Ce  fichier  montre la taille du tampon pour le pilote SCSI générique (sg). Vous ne
              pourrez pas y écrire pour le moment, mais  vous  pouvez  changer  sa  valeur  à  la
              compilation en éditant include/scsi/sg.h et en modifiant SG_BIG_BUFF. Toutefois, il
              ne devrait y avoir aucune raison de le modifier.

       /proc/sys/kernel/shm_rmid_forced (disponible depuis Linux 3.1)
              Si ce fichier est configuré à la valeur 1, tous les segments  de  mémoire  partagée
              System V  seront  marqués  pour destruction dès que le nombre de processus attachés
              tombe à zéro. Autrement dit, il n'est  plus  possible  de  créer  des  segments  de
              mémoire partagée qui existent indépendamment des autres processus attachés.

              Par  conséquent  un  shmctl(2) IPC_RMID est réalisé sur tous les segments existants
              ainsi que sur tous les segments attachés par la suite. Remarquez que  les  segments
              existants  qui  ne  sont  attachés  à aucun processus seront immédiatement détruits
              quand ce fichier est configuré à la valeur 1. Définir cette option  détruira  aussi
              les  segments  qui  ont  été  créés,  mais jamais attachés, à la fin d'exécution du
              processus qui a créé le segment avec shmget(2).

              Définir ce fichier à la valeur 1  fournit  un  moyen  de  s'assurer  que  tous  les
              segments  de  mémoire partagée System V sont comptés par rapport à l'utilisation et
              limites de ressources (consultez la description  de  RLIMIT_AS  dans  getrlimit(2))
              d'au moins un processus.

              Puisque  définir  ce fichier à la valeur 1 produit un comportement non normalisé et
              pourrait aussi casser des applications existantes, la valeur par défaut est  0.  Ne
              configurez la valeur de ce fichier à 1 que si vous avez une bonne compréhension des
              sémantiques des applications utilisant la mémoire partagée System V du système.

       /proc/sys/kernel/shmall (disponible depuis Linux 2.2)
              Ce fichier contient le nombre maximal de pages de mémoire partagée  (IPC  System V)
              au niveau du système.

       /proc/sys/kernel/shmmax (disponible depuis Linux 2.2)
              Ce  fichier  permet  de lire ou modifier la taille maximale des segments de mémoire
              partagée (IPC System V) que l'on peut créer. Les segments de  mémoire  jusqu'à  1Go
              sont à présent autorisés par le noyau. La valeur par défaut est SHMMAX.

       /proc/sys/kernel/shmmni (disponible depuis Linux 2.4)
              Ce  fichier  indique le nombre maximal de segments de mémoire partagée System V que
              l'on peut créer.

       /proc/sys/kernel/sysrq
              Ce fichier contrôle les fonctions qui peuvent être appelées  par  les  combinaisons
              SysRq.  Par défaut, le fichier contient un « 1 », ce qui signifie que toute demande
              SysRq est autorisée (dans les anciennes versions du noyau,  SysRq  était  désactivé
              par  défaut,  et  il  fallait  l'activer explicitement lors de l'exécution, mais ce
              n'est plus le cas). Les valeurs possibles dans ce fichier sont :

                 0 - désactiver sysrq complètement
                 1 - activer toutes les fonctions de sysrq
                >1 - masque de bits des sysrq autorisées, défini comme ceci :
                        2 - active le contrôle du niveau de journalisation de la console
                        4 - active le contrôle du clavier (SAK, unraw
                        8 - active la production d'images de débogue des processus, etc.
                       16 - active la commande sync
                       32 - active le remontage en lecture seule
                       64 - active l'envoi de signaux aux processus (term, kill, oom-kill)
                      128 - autorise reboot/poweroff
                      256 - autorise la définition de la politesse de  toutes  les  tâches  temps
              réel

              Ce   fichier   n'est   présent   que   si   l'option   de  configuration  du  noyau
              CONFIG_MAGIC_SYSRQ   a   été   validée.   Pour   plus   d'informations,   consultez
              Documentation/sysrq.txt dans les sources du noyau Linux.

       /proc/sys/kernel/version
              Ce fichier contient une chaîne du type :

                  #5 Wed Feb 25 21:49:24 MET 1998

              Le  champ  « #5 »  indique  que  c'est la cinquième compilation du noyau depuis ces
              sources, et la date correspond à celle de la compilation.

       /proc/sys/kernel/threads-max (disponible depuis Linux 2.3.11)
              Ce fichier contient le nombre maximal de threads (tâches) qui  peuvent  être  créés
              sur le système.

       /proc/sys/kernel/zero-paged (PowerPC seulement)
              Ce  fichier  contient un drapeau. S'il est activé (non nul), Linux-PPC effacera les
              pages dans sa boucle d'inactivité, accélérant éventuellement get_free_pages.

       /proc/sys/net
              Ce répertoire contient des  éléments  relatif  au  réseau.  Des  explications  pour
              certains des fichiers de ce répertoire peuvent être trouvées dans tcp(7) et ip(7).

       /proc/sys/net/core/somaxconn
              Ce  fichier  défini  une  valeur  plafond  pour le paramètre backlog de listen(2) ;
              consultez la page de manuel listen(2) pour plus de précisions.

       /proc/sys/proc
              Ce répertoire peut être vide.

       /proc/sys/sunrpc
              Ce répertoire correspond aux appels de procédures à distance (RPC) sur  un  système
              de fichiers NFS. Sur certains systèmes, il est absent.

       /proc/sys/vm
              Ce  répertoire  contient  des fichiers de paramétrage de la gestion de mémoire, des
              tampons, et du cache.

       /proc/sys/vm/drop_caches (depuis Linux 2.6.16)
              Écrire dans ce fichier force le noyau à libérer  les  caches,  dentries  et  inœuds
              propres de la mémoire, en libérant ainsi cette mémoire. Ce peut être utile pour les
              tests de gestion de mémoire et la réalisation  de  comparaisons  reproductibles  de
              systèmes  de  fichiers.  Puisqu’une  écriture  dans ce fichier fait perdre tous les
              avantages du cache, cela peut dégrader l’intégralité des performances du système.

              Pour libérer les pagecache, utilisez :

                  echo 1 > /proc/sys/vm/drop_caches

              Pour libérer les dentries et les inœuds, utilisez :

                  echo 2 > /proc/sys/vm/drop_caches

              Pour libérer les pagecache, dentries et inœuds, utilisez :

                  echo 3 > /proc/sys/vm/drop_caches

              Parce que l’écriture dans ce fichier est non destructive, et que les  objets  sales
              ne  sont  pas  libérables,  l'utilisateur  devrait  utiliser la commande sync(8) au
              préalable.

       /proc/sys/vm/legacy_va_layout (depuis Linux 2.6.9)
              S'il est non nul, cela désactive la nouvelle disposition de carte mémoire  32 bit ;
              le  noyau  utilisera  alors  la disposition habituelle (legacy) (2.4) pour tous les
              processus.

       /proc/sys/vm/memory_failure_early_kill (depuis Linux 2.6.32)
              Contrôle  comment  tuer  les  processus  lorsqu'une  erreur  mémoire  non  corrigée
              (typiquement  une  erreur sur 2 bits sur un module de mémoire) qui ne peut pas être
              gérée par le noyau est détectée en tâche de fond par le matériel. Dans certains cas
              (par  exemple  s'il  existe  une  copie valide de la page sur disque), le noyau est
              capable  de  récupérer  cette  erreur  de  manière  transparente   sans   qu'aucune
              application  ne soit touchée. Mais si le noyau n'a pas de copie à jour des données,
              il va tuer des processus afin  d'empêcher  la  propagation  de  la  corruption  des
              données.

              Ce fichier peut contenir l'une des valeurs suivantes :

              1:  Tuer  dès  que  la  corruption  est  détectée  tous  les  processus qui ont une
                  projection de la page corrompue et non rechargeable. Notez que cela  n'est  pas
                  possible  avec  quelques  types de pages, comme les données allouées en interne
                  par le noyau ou le cache d'échange (swap cache), mais cela fonctionne  avec  la
                  majorité des pages utilisateur.

              0:  Ne supprimer que la projection de la page corrompue dans tous les processus, et
                  ne tuer que les processus qui essaient d'y accéder.

              L'action de tuer le processus est effectuée  en  envoyant  un  signal  SIGBUS  avec
              si_code  mis  à BUS_MCEERR_AO. Les processus peuvent gérer cette situation s'ils le
              souhaitent ; consultez sigaction(2)  pour plus de précisions.

              Cette fonctionnalité n'est disponible que sur  les  architectures/plateformes  avec
              une  gestion  avancée  de  vérification de la machine et dépend des possibilités du
              matériel.

              Les    applications    peuvent    modifier    individuellement     le     paramètre
              memory_failure_early_kill avec  l'opération prctl(2)  PR_MCE_KILL.

              N'est disponible que si le noyau est configuré avec l'option CONFIG_MEMORY_FAILURE.

       /proc/sys/vm/memory_failure_recovery (depuis Linux 2.6.32)
              Activer la récupération sur une erreur mémoire (si la plateforme le permet)

              1:  Tenter une récupération.

              0:  Toujours sortir en mode panique sur une erreur mémoire.

              N'est disponible que si le noyau est configuré avec l'option CONFIG_MEMORY_FAILURE.

       /proc/sys/vm/oom_dump_tasks (depuis Linux 2.6.25)
              Active  la  production d'une image des tâches du système (à l'exception des threads
              du noyau) lors  des  mises  à  mort  sur  mémoire  saturée.  L'image  contient  les
              informations  suivantes  pour  chaque  tâche (thread ou processus) : identifiant de
              thread,  identifiant  d'utilisateur  réel,  identifiant   du   groupe   de   thread
              (identifiant  du  processus)  taille  de la mémoire virtuelle, taille de la mémoire
              résidente, CPU sur lequel la tâche était ordonnancée, valeur de  oom_adj  (voir  la
              description  de  /proc/[pid]/oom_adj)  et  le  nom de la commande. C'est utile pour
              trouver la raison de la mise à mort sur mémoire saturée et pour identifier la tâche
              défectueuse qui en est la cause.

              Avec  la  valeur  zéro, l'information est supprimée. Sur les très gros système avec
              des milliers de tâches, il peut ne pas être faisable  de  créer  l'image  avec  les
              informations  sur  chacune. Ces systèmes ne devraient pas être obligés de pénaliser
              leurs performances dans ces cas de pénurie de mémoire si ces informations  ne  sont
              pas désirées.

              Pour  toute valeur non nulle, les informations sont présentées à chaque mise à mort
              sur mémoire saturée.

              La valeur par défaut est 0.

       /proc/sys/vm/oom_kill_allocating_task (depuis Linux 2.6.24)
              Cela active ou désactive la mise à mort de la tâche qui produit l'erreur  dans  les
              situations de mémoire saturée.

              Avec une valeur de zéro, la liste des tâches sera parcourue et la tâche à tuer sera
              sélectionnée en fonction d'heuristiques. Cela  sélectionne  normalement  une  tâche
              consommant  une  grosse  quantité  de  mémoire  qui  libérera  beaucoup  de mémoire
              lorsqu'elle sera tuée.

              Avec une valeur non nulle, la  tâche  tuée  sera  celle  qui  échouera  lors  d'une
              allocation  de mémoire. Cela évite un parcours de la liste des tâches qui peut être
              coûteux.

              Si /proc/sys/vm/panic_on_oom est non nul,  il  est  prioritaire  sur  toute  valeur
              utilisée dans /proc/sys/vm/oom_kill_allocating_task.

              La valeur par défaut est 0.

       /proc/sys/vm/overcommit_memory
              Ce fichier contient le mode pour les statistiques de la mémoire virtuelle du noyau.
              Les valeurs sont :

                     0 : gestion heuristique du dépassement d'allocation mémoire (c'est la valeur
                     par défaut)
                     1 : pas de gestion du dépassement, ne jamais vérifier
                     2 : toujours vérifier, gestion stricte du dépassement

              En  mode 0, les appels à mmap(2) utilisant MAP_NORESERVE ne sont pas vérifiés et le
              niveau de vérification par défaut est très faible, laissant le  risque  d'avoir  un
              processus  tué à cause du manque de mémoire (« OOM-killed »). Sous Linux 2.4, toute
              valeur non nulle implique le  mode 1.  En  mode 2  (disponible  depuis  Linux 2.6),
              l'espace  d'adressage virtuel total sur le système est limité à (SS + RAM*(r/100)),
              où SS est la taille de l'espace d'échange (« swap »), RAM la taille de  la  mémoire
              physique, et r le contenu du fichier /proc/sys/vm/overcommit_ratio.

       /proc/sys/vm/overcommit_ratio
              Consultez la description de /proc/sys/vm/overcommit_memory.

       /proc/sys/vm/panic_on_oom (depuis Linux 2.6.18)
              Cela  active  ou  désactive  le  déclenchement d'une panique dans les situations de
              mémoire saturée.

              Si ce fichier est configuré à la valeur 0, le noyau (le  « OOM-killer »)  tuera  un
              processus  perturbateur.  D'habitude,  il peut tuer un processus perturbateur et le
              système survivra.

              Si ce fichier est configuré à la valeur 1, le noyau paniquera dans une situation de
              mémoire saturée. Cependant, si un processus limite les allocations que sur certains
              nœuds en  utilisant  des  politiques  mémoire  (MPOL_BIND  dans  mbind(2))  ou  des
              ensembles  de processeurs (cpuset(7)), et si ces nœuds voient leur mémoire saturée,
              un processus peut être tué par le OOM-killer. Aucune panique ne  survient  dans  ce
              cas.  Comme  de  la  mémoire  est disponible sur d'autres nœuds, le système n'a pas
              entièrement atteint une situation de mémoire saturée.

              Si ce fichier est configuré à la valeur 2,  le  noyau  panique  toujours  dans  une
              situation de mémoire saturée.

              La  valeur par défaut est 0. Les valeurs 1 et 2 sont utilisées pour la récupération
              en cas d'erreur de groupements. Sélectionnez l'un ou l'autre en fonction  de  votre
              politique de récupération en cas d'erreur.

       /proc/sys/vm/swappiness
              La  valeur  dans  ce  fichier contrôle le niveau d'agressivité utilisé par le noyau
              pour déplacer des pages  mémoire  dans  l'espace  d'échange.  Les  valeurs  élevées
              indique une agressivité plus importante. La valeur par défaut est de 60.

       /proc/sysrq-trigger (depuis Linux 2.4.21)
              L'écriture  d'un  caractère dans ce fichier déclenche la même fonction SysRq que la
              combinaison ALT-SysRq-<caractère> (voir la description de  /proc/sys/kernel/sysrq).
              Ce  fichier  est  normalement  accessible  en  écriture  que  pour  root. Pour plus
              d'informations, consultez le fichier Documentation/sysrq.txt dans  les  sources  du
              noyau Linux.

       /proc/sysvipc
              Sous-répertoire  contenant les pseudofichiers msg, sem et shm. Ces fichiers listent
              les objets d'IPC System V (soient les files de  messages,  les  sémaphores,  et  la
              mémoire  partagée)  existant  actuellement  sur  le  système,  en donnant les mêmes
              informations que celles disponibles par la commande ipcs(1). Ces fichiers  ont  des
              en-têtes  et  sont formatés (à raison d'un objet IPC par ligne) de façon à être lus
              facilement. La page svipc(7) donne davantage d'informations concernant les  données
              fournies par ces fichiers.

       /proc/tty
              Sous-répertoire  contenant  les  pseudofichiers  et  les  sous-répertoires pour les
              pilotes de tty et la gestion de la ligne.

       /proc/uptime
              Ce fichier contient deux valeurs : la durée de fonctionnement (uptime) en secondes,
              et le temps écoulé à ne rien faire (idle), en secondes également.

       /proc/version
              Cette  chaîne  identifie  la  version du noyau en cours d'exécution. Elle inclue le
              contenu     de     /proc/sys/kernel/ostype,      /proc/sys/kernel/osrelease      et
              /proc/sys/kernel/version. Par exemple :
            Linux version 1.0.9 (quinlan@phaze) #1 Sat May 14 01:51:54 EDT 1994

       /proc/vmstat (depuis Linux 2.6)
              Ce fichier contient diverses statistiques sur la mémoire virtuelle.

       /proc/zoneinfo (depuis Linux 2.6.13)
              Ce  fichier affiche des informations concernant les zones mémoire. C'est utile pour
              analyser le comportement de la mémoire virtuelle.

NOTES

       De nombreuses chaînes (par exemple, l'environnement et  de  la  ligne  de  commande)  sont
       affichées dans un format interne, ses champs terminés par un caractère nul. Il est parfois
       plus lisible d'utiliser od -c ou tr  "\000"  "\n"  pour  les  lire.  En  remplacement,  la
       commande echo `cat <file>` fonctionne bien.

       Cette page de manuel est incomplète, incertaine, et devrait être mise à jour très souvent.

VOIR AUSSI

       cat(1),   dmesg(1),   find(1),  free(1),  ps(1),  tr(1),  uptime(1),  chroot(2),  mmap(2),
       readlink(2), syslog(2), slabinfo(5), hier(7),  time(7),  arp(8),  hdparm(8),  ifconfig(8),
       init(8), lsmod(8), lspci(8), mount(8), netstat(8), procinfo(8), route(8), sysctl(8)

       Les    fichiers    source    du    noyau    Linux :    Documentation/filesystems/proc.txt,
       Documentation/sysctl/fs.txt, Documentation/sysctl/kernel.txt, Documentation/sysctl/net.txt
       et Documentation/sysctl/vm.txt.

COLOPHON

       Cette  page  fait partie de la publication 3.65 du projet man-pages Linux. Une description
       du projet et des  instructions  pour  signaler  des  anomalies  peuvent  être  trouvées  à
       l'adresse http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Depuis    2010,    cette   traduction   est   maintenue   à   l'aide   de   l'outil   po4a
       <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du  projet
       perkamon <http://perkamon.alioth.debian.org/>.

       Christophe    Blaess    <http://www.blaess.fr/christophe/>   (1996-2003),   Alain   Portal
       <http://manpagesfr.free.fr/> (2003-2006).  Jean-Luc  Coulon  et  l'équipe  francophone  de
       traduction de Debian (2006-2009).

       Veuillez     signaler     toute     erreur     de     traduction     en     écrivant     à
       <debian-l10n-french@lists.debian.org>  ou  par  un  rapport  de  bogue   sur   le   paquet
       manpages-fr.

       Vous  pouvez  toujours  avoir  accès  à la version anglaise de ce document en utilisant la
       commande « man -L C <section> <page_de_man> ».