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> ».