.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (C) 1994, 1995 by Daniel Quinlan (quinlan@yggdrasil.com) .\" and Copyright (C) 2002-2008,2017 Michael Kerrisk .\" with networking additions from Alan Cox (A.Cox@swansea.ac.uk) .\" and scsi additions from Michael Neuffer (neuffer@mail.uni-mainz.de) .\" and sysctl additions from Andries Brouwer (aeb@cwi.nl) .\" and System V IPC (as well as various other) additions from .\" Michael Kerrisk .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\" Modified 1995-05-17 by faith@cs.unc.edu .\" Minor changes by aeb and Marty Leisner (leisner@sdsp.mc.xerox.com). .\" Modified 1996-04-13, 1996-07-22 by aeb@cwi.nl .\" Modified 2001-12-16 by rwhron@earthlink.net .\" Modified 2002-07-13 by jbelton@shaw.ca .\" Modified 2002-07-22, 2003-05-27, 2004-04-06, 2004-05-25 .\" by Michael Kerrisk .\" 2004-11-17, mtk -- updated notes on /proc/loadavg .\" 2004-12-01, mtk, rtsig-max and rtsig-nr went away in Linux 2.6.8 .\" 2004-12-14, mtk, updated 'statm', and fixed error in order of list .\" 2005-05-12, mtk, updated 'stat' .\" 2005-07-13, mtk, added /proc/sys/fs/mqueue/* .\" 2005-09-16, mtk, Added /proc/sys/fs/suid_dumpable .\" 2005-09-19, mtk, added /proc/zoneinfo .\" 2005-03-01, mtk, moved /proc/sys/fs/mqueue/* material to mq_overview.7. .\" 2008-06-05, mtk, Added /proc/[pid]/oom_score, /proc/[pid]/oom_adj, .\" /proc/[pid]/limits, /proc/[pid]/mountinfo, /proc/[pid]/mountstats, .\" and /proc/[pid]/fdinfo/*. .\" 2008-06-19, mtk, Documented /proc/[pid]/status. .\" 2008-07-15, mtk, added /proc/config.gz .\" .\" FIXME cross check against Documentation/filesystems/proc.txt .\" to see what information could be imported from that file .\" into this file. .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH proc 5 "8 juillet 2023" "Pages du manuel de Linux 6.05.01" .SH NOM proc –\ informations de processus, informations du système et pseudo\-système de fichiers sysctl .SH DESCRIPTION Le système de fichiers \fIproc\fP est un pseudosystème de fichiers qui fournit une interface pour les structures de données du noyau. Il est généralement monté sur \fI/proc\fP. Ordinairement, il est monté automatiquement par le système, mais il peut aussi l’être manuellement en utilisant une commande telle que\ : .PP .in +4n .EX mount \-t proc proc /proc .EE .in .PP .\" La plupart des fichiers dans le système de fichiers \fBproc\fP sont en lecture seule, mais certains sont éditables, permettant aux variables du noyau d’être modifiées. .SS "Options de montage" Le système de fichiers \fBproc\fP gère les options de montage suivantes\ : .TP \fBhidepid\fP=\fIn\fP (depuis Linux 3.3) .\" commit 0499680a42141d86417a8fbaa8c8db806bea1201 Cette option contrôle qui a accès aux informations dans les répertoires \fI/proc/\fPpid. L’argument \fIn\fP possède une des valeurs suivantes\ : .RS .TP 4 0 Tout le monde peut accéder à tous les répertoires \fI/proc/\fPpid. C’est le comportement traditionnel et celui par défaut si cette option de montage n’est pas précisée. .TP 1 .\" As an additional bonus, since .\" .IR /proc/[pid]/cmdline .\" is inaccessible for other users, .\" poorly written programs passing sensitive information via .\" program arguments are now protected against local eavesdroppers. Les utilisateurs ne peuvent accéder aux fichiers et sous\-répertoires dans n’importe quel répertoire \fI/proc/\fPpid sauf dans les leurs (les répertoires \fI/proc/\fPpid demeurent visibles). Les fichiers sensibles tels que \fI/proc/\fPpid\fI/cmdline\fP et \fI/proc/\fPpid\fI/status\fP sont maintenant protégés des autres utilisateurs. Cela rend impossible de savoir si n’importe quel utilisateur exécute un programme particulier (aussi longtemps que le programme ne se révèle de lui\-même par son comportement). .TP 2 Comme pour le mode\ 1, mais en plus les répertoires \fI/proc/\fPpid appartenant aux autres utilisateurs deviennent invisibles. Cela signifie que les enregistrements \fI/proc/\fPpid ne peuvent plus être utilisés pour découvrir les PID du système. Cela ne dissimule pas le fait qu’une valeur de PID particulière existe (elle peut être connue d’une autre manière, par exemple, avec «\ kill\ \-0\ $PID\ »), mais les UID et GID d’un processus sont cachés, qui peuvent être connus d'une autre manière en utilisant \fBstat\fP(2) sur un répertoire \fI/proc/\fPpid. Cela complique grandement la récolte par un attaquant d’informations sur les processus en cours (par exemple, découvrir si un démon est en cours d’exécution avec des privilèges élevés, si un autre utilisateur utilise un programme sensible, si d’autres utilisateurs exécutent un programme quelconque,\ etc.). .RE .TP \fBgid\fP=\fIgid\fP (depuis Linux 3.3) .\" commit 0499680a42141d86417a8fbaa8c8db806bea1201 .\" Indication de l’ID d’un groupe dont les membres sont autorisés à connaitre les informations sur un processus autrement interdites par \fBhidepid\fP (c’est\-à\-dire que les utilisateurs dans ce groupe se comportent comme si \fI/proc\fP était monté avec \fIhidepid=0\fP). Ce groupe doit être utilisé à la place d’approches telles que mettre les utilisateurs normaux dans le fichier \fBsudoers\fP(5). .SS Aperçu Sous \fI/proc\fP, on trouve les groupes et sous\-répertoires suivants\ : .TP Sous\-répertoires \fI/proc/\fPpid Chacun de ces sous\-répertoires contient des fichiers et des sous\-répertoires exposant les informations sur le processus ayant l’ID correspondant. .IP Sous chacun des répertoires \fI/proc/\fPpid, un sous\-répertoire \fItask\fP contient des sous\-répertoires de la forme \fItask/\fPtid qui contiennent des informations sur chacun des threads dans le processus, où \fItid\fP est l’ID de thread du noyau du thread. .IP Les sous\-répertoires \fI/proc/\fPpid sont visibles lors de l’itération à travers \fI/proc\fP avec \fBgetdents\fP(2) (et donc visibles lors de l’utilisation de \fBls\fP(1) pour voir le contenu de \fI/proc\fP). .TP Sous\-répertoires \fI/proc/\fPtid Chacun de ces sous\-répertoires contient des fichiers et des sous\-répertoires exposant des informations sur le thread avec l’ID du thread correspondant. Le contenu de ces répertoires est le même que celui des répertoires \fI/proc/\fPpid\fI/task/\fPtid correspondants. .IP Les sous\-répertoires \fI/proc/\fPtid ne sont \fIpas\fP visibles lors d’itérations à travers \fI/proc\fP avec \fBgetdents\fP(2) (et donc ne sont \fIpas\fP visibles si on utilise \fBls\fP(1) pour voir le contenu de \fI/proc\fP). .TP \fI/proc/self\fP Quand un processus accède à ce lien symbolique magique, il l’interprète comme son propre répertoire \fI/proc/\fPpid. .TP \fI/proc/thread\-self\fP Quand un thread accède à ce lien symbolique magique, il l’interprète comme son propre répertoire \fI/proc/self/task/\fPtid. .TP \fI/proc/[a\-z]*\fP D’autres fichiers et répertoires divers sous \fI/proc\fP exposent des informations concernant le système en entier. .PP .\" Tout ce qui précède est décrit plus en détails ci\-après. .SS "Fichiers et répertoires" La liste suivante fournit des détails sur de nombreux fichiers et répertoires dans la hiérarchie de \fI/proc\fP. .TP \fI/proc/\fPpid Il existe un sous\-répertoire numérique pour chaque processus actif. Le sous\-répertoire prend comme nom le PID du processus. Chaque sous\-répertoire \fI/proc/\fPpid contient les pseudofichiers et répertoires décrits ci\-dessous. .IP Les fichiers dans chaque répertoire \fI/proc/\fPpid sont normalement la propriété de l’ID d’utilisateur et groupe effectifs du processus. Cependant, comme mesure de sécurité, la propriété est transférée à \fIroot:root\fP si l’attribut «\ dumpable\ » est défini à une autre valeur que\ 1. .IP .\" commit 68eb94f16227336a5773b83ecfa8290f1d6b78ce Avant Linux\ 4.11, \fIroot:root\fP signifiait les ID utilisateur et groupe root «\ globaux\ » (c’est\-à\-dire UID\ 0 et GID\ 0 dans l’espace de noms utilisateur initial). Depuis Linux\ 4.11, en revanche, si le processus est dans un espace de noms non initial qui possède un mappage valable pour l’ID\ 0 utilisateur (groupe) dans l’espace de noms, l’appartenance utilisateur (groupe) des fichiers sous \fI/proc/\fPpid est définie à l’ID utilisateur (groupe) root de l’espace de noms. Cela signifie qu’à l’intérieur d’un conteneur, tout se passe comme prévu pour l’utilisateur «\ root\ » du conteneur. .IP L’attribut «\ dumpable\ » peut changer pour les raisons suivantes\ : .RS .IP \- 3 l’attribut a été explicitement défini à l’aide de l’opération \fBPR_SET_DUMPABLE\fP de \fBprctl\fP(2)\ ; .IP \- l’attribut a été redéfini à la valeur dans le fichier \fI/proc/sys/fs/suid_dumpable\fP (décrit ci\-après), pour des raisons décrites dans \fBprctl\fP(2). .RE .IP Redéfinir l’attribut «\ dumpable\ » à\ 1 revient à transmettre la propriété des fichiers \fI/proc/\fPpid\fI/*\fP aux UID et GID effectifs du processus. Cependant, il est à remarquer que si les UID et GID effectifs sont modifiés par la suite, alors l’attribut «\ dumpable\ » peut être redéfini comme décrit dans \fBprctl\fP(2). Par conséquent il peut être souhaitable de redéfinir l’attribut «\ dumpable\ » \fIaprès\fP tout changement souhaité des UID et GID effectifs. .TP \fI/proc/\fPpid\fI/attr\fP .\" https://lwn.net/Articles/28222/ .\" From: Stephen Smalley .\" To: LKML and others .\" Subject: [RFC][PATCH] Process Attribute API for Security Modules .\" Date: 08 Apr 2003 16:17:52 -0400 .\" .\" http://www.nsa.gov/research/_files/selinux/papers/module/x362.shtml .\" Les fichiers dans ce répertoire fournissent une API pour des modules de sécurité. Le contenu de ce répertoire se compose de fichiers pouvant être lus et édités dans le but de définir des attributs relatifs à la sécurité. Ce répertoire a été ajouté pour prendre en charge SELinux, mais l’intention était que l’API soit suffisamment générale pour prendre en charge d’autres modules de sécurité. Dans un but explicatif, des exemples d'utilisation de ces fichiers par SELinux sont fournis ci\-après. .IP Ce répertoire n’est présent que si le noyau est configuré avec l'option \fBCONFIG_SECURITY\fP. .TP \fI/proc/\fPpid\fI/attr/current\fP (depuis Linux 2.6.0) Le contenu de ce fichier correspond aux attributs de sécurité actuels du processus. .IP Dans SELinux, ce fichier est utilisé pour obtenir le contexte de sécurité d’un processus. Avant Linux\ 2.6.11, ce fichier ne pouvait pas être utilisé pour définir le contexte de sécurité (une écriture était toujours refusée) puisque SELinux limitait les transitions de sécurité de processus à \fBexecve\fP(2) (consulter la description de \fI/proc/\fPpid\fI/attr/exec\fP ci\-après). Depuis Linux\ 2.6.11, SELinux a levé cette restriction et a commencé à prendre en charge les opérations «\ set\ » à travers des écritures sur ce nœud si la politique l’autorise, bien que cette opération ne soit adaptée qu’aux applications qui sont fiables pour l’entretien de toute séparation désirée entre les anciens et nouveaux contextes de sécurité. .IP Avant Linux\ 2.6.28, SELinux ne permettait pas que les threads dans un processus multithread définissent leur contexte de sécurité à l’aide de ce nœud car cela pouvait amener une incohérence parmi les contextes de sécurité des threads partageant le même espace mémoire. Depuis Linux\ 2.6.28, SELinux a levé cette restriction et a commencé à prendre en charge les opérations «\ set\ » pour les threads dans un processus multithread si le nouveau contexte de sécurité est lié à l’ancien contexte de sécurité et où la relation de liaison est définie dans la politique et garantit que le nouveau contexte de sécurité possède un sous\-ensemble des permissions de l’ancien contexte de sécurité. .IP D’autres modules de sécurité peuvent décider de prendre en charge les opérations «\ set\ » à l’aide d’écritures dans ce nœud. .TP \fI/proc/\fPpid\fI/attr/exec\fP (depuis Linux 2.6.0) Ce fichier décrit les attributs à assigner au processus lors d’un prochain \fBexecve\fP(2). .IP Dans SELinux, cela est nécessaire pour prendre en charge les transitions de rôle ou de domaine et un \fBexecve\fP(2) est la fonction préférée pour réaliser de telles transitions parce qu’elle offre un meilleur contrôle sur l’initialisation du processus dans le nouveau contexte de sécurité et dans l’héritage d’état. Dans SELinux, cet attribut est redéfini lors d’un \fBexecve\fP(2) de façon que le nouveau programme revienne au comportement par défaut pour tout appel \fBexecve\fP(2) qu’il peut provoquer. Dans SELinux, un processus peut définir seulement son propre attribut \fI/proc/\fPpid\fI/attr/exec\fP. .TP \fI/proc/\fPpid\fI/attr/fscreate\fP (depuis Linux 2.6.0) Ce fichier décrit les attributs à assigner aux fichiers créés par des appels subséquents à \fBopen\fP(2), \fBmkdir\fP(2), \fBsymlink\fP(2) et \fBmknod\fP(2) .IP SELinux utilise ce fichier pour prendre en charge la création d’un fichier (en utilisant les appels système précédemment mentionnés) dans un état sécurisé, de façon à éviter tout risque d’accès inapproprié obtenu entre le moment de la création et le moment où les attributs sont définis. Dans SELinux, cet attribut est redéfini lors d’un \fBexecve\fP(2), de façon que le nouveau programme revienne au comportement par défaut pour tout appel de création de fichier qu’il peut provoquer, mais l’attribut persiste à travers plusieurs appels de création de fichier dans un programme à moins qu’il ne soit explicitement redéfini. Dans SELinux, un processus peut seulement définir son propre attribut \fI/proc/\fPpid\fI/attr/fscreate\fP. .TP \fI/proc/\fPpid\fI/attr/keycreate\fP (depuis Linux 2.6.18) .\" commit 4eb582cf1fbd7b9e5f466e3718a59c957e75254e .\" commit b68101a1e8f0263dbc7b8375d2a7c57c6216fb76 .\" commit d410fa4ef99112386de5f218dd7df7b4fca910b4 Si un processus écrit un contexte de sécurité dans ce fichier, toutes les clés créées par la suite (\fBadd_key\fP(2)) seront étiquetées avec ce contexte. Pour de plus amples informations, consulter le fichier source du noyau \fIDocumentation/security/keys/core.rst\fP (ou le fichier \fIDocumentation/security/keys.txt\fP entre Linux\ 3.0 et Linux\ 4.13 ou \fIDocumentation/keys.txt\fP avant Linux\ 3.0). .TP \fI/proc/\fPpid\fI/attr/prev\fP (depuis Linux 2.6.0) Ce fichier contient le contexte de sécurité du processus avant le dernier \fBexecve\fP(2), c’est\-à\-dire la valeur précédente de \fI/proc/\fPpid\fI/attr/current\fP. .TP \fI/proc/\fPpid\fI/attr/socketcreate\fP (depuis Linux 2.6.18) .\" commit 42c3e03ef6b298813557cdb997bd6db619cd65a2 Si un processus écrit un contexte de sécurité dans ce fichier, tous les sockets créés par la suite seront étiquetés avec ce contexte. .TP \fI/proc/\fPpid\fI/autogroup\fP (depuis Linux 2.6.38) .\" commit 5091faa449ee0b7d73bc296a93bca9540fc51d0a Consulter \fBsched\fP(7). .TP \fI/proc/\fPpid\fI/auxv\fP (depuis Linux 2.6.0) .\" Precisely: Linux 2.6.0-test7 Ce fichier contient les informations de l’interpréteur ELF passées au processus au moment de son exécution. Le format est constitué, pour chacun des enregistrements, d'un ID \fIunsigned long\fP suivi d'une valeur \fIunsigned long\fP. Le dernier enregistrement comporte deux zéros. Consulter aussi \fBgetauxval\fP(3). .IP La permission d’accéder à ce fichier est régie par une vérification \fBPTRACE_MODE_READ_FSCREDS\fP de mode d’accès ptrace. Consulter \fBptrace\fP(2). .TP \fI/proc/\fPpid\fI/cgroup\fP (depuis Linux 2.6.24) Consulter \fBcgroups\fP(7). .TP \fI/proc/\fPpid\fI/clear_refs\fP (depuis Linux 2.6.22) .\" commit b813e931b4c8235bb42e301096ea97dbdee3e8fe (2.6.22) .\" commit 398499d5f3613c47f2143b8c54a04efb5d7a6da9 (2.6.32) .\" commit 040fa02077de01c7e08fa75be6125e4ca5636011 (3.11) .\" .\" "Clears page referenced bits shown in smaps output" .\" write-only, writable only by the owner of the process .IP Ce fichier n'est accessible qu'en écriture, et uniquement par le propriétaire du processus. .IP Les valeurs suivantes peuvent être écrites dans le fichier\ : .RS .TP 1 (depuis Linux 2.6.22) .\" Internally: CLEAR_REFS_ALL 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 différente de zéro dans ce fichier avait le même impact. .TP 2 (depuis Linux 2.6.32) .\" Internally: CLEAR_REFS_ANON Réinitialiser les bits PG_Referenced et ACCESSED/YOUNG de toutes les pages anonymes liées au processus. .TP 3 (depuis Linux 2.6.32) .\" Internally: CLEAR_REFS_MAPPED Réinitialiser les bits PG_Referenced et ACCESSED/YOUNG de toutes les pages mappées dans un fichier et liées au processus. .RE .IP 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. On inspecte d’abord les valeurs des champs «\ Referenced\ » des zones de mémoire virtuelle (VMA) de \fI/proc/\fPpid\fI/smaps\fP pour se faire une idée de l’empreinte mémoire du processus. On réinitialise ensuite les bits PG_Referenced et ACCESSED/YOUNG et, après un intervalle de temps mesuré, on inspecte de nouveau les valeurs des champs «\ Referenced\ » pour se faire 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 mappage, on peut utiliser les valeurs\ 2 ou 3 à la place de\ 1. .IP D'autres valeurs permettent d'affecter différentes propriétés\ : .RS .TP 4 (depuis Linux 3.11) .\" Internally: CLEAR_REFS_SOFT_DIRTY Effacer le bit soft\-dirty pour toutes les pages associées au processus. Utilisé (en conjonction avec \fI/proc/\fPpid\fI/pagemap\fP) par le système de point de restauration pour découvrir les pages qu’un processus a souillées depuis que le fichier \fI/proc/\fPpid\fI/clear_refs\fP a été écrit. .TP 5 (depuis Linux 4.0) .\" Internally: CLEAR_REFS_MM_HIWATER_RSS Réinitialiser la taille du jeu résident («\ high water mark\ ») à la valeur du jeu résident actuel. .RE .IP L'écriture dans \fI/proc/\fPpid\fI/clear_refs\fP d'une valeur différente de celles listées ci\-dessus n'a aucun effet. .IP Le fichier \fI/proc/\fPpid\fI/clear_refs\fP n'est présent que si l'option de configuration du noyau \fBCONFIG_PROC_PAGE_MONITOR\fP a été activée. .TP \fI/proc/\fPpid\fI/cmdline\fP .\" In Linux 2.3.26, this also used to be true if the process was swapped out. Ce fichier en lecture seule contient la ligne de commande complète pour le 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. .IP Pour les processus toujours en cours d’exécution, les arguments de ligne de commande apparaissent dans la même disposition que dans la mémoire du processus\ : si le processus est bien configuré, il est défini à une suite de chaînes séparées par des octets NULL («\ \e0\ »), avec un octet NULL supplémentaire après la dernière chaîne. .IP C’est le cas le plus commun, mais les processus ont la liberté d’outrepasser la région de mémoire et de ne pas tenir compte des suppositions de contenu ou de format du fichier \fI/proc/\fPpid\fI/cmdline\fP. .IP Si, après un \fBexecve\fP(2), le processus modifie ses chaînes \fIargv\fP, ces changements apparaitront ici. Ce n’est pas la même chose que de modifier le tableau \fIargv\fP. .IP De plus, un processus peut modifier l’emplacement de mémoire référencé par ce fichier à travers des opérations \fBprctl\fP(2) telles que \fBPR_SET_MM_ARG_START\fP. .IP Il faut penser à ce fichier comme une ligne de commande que le processus veut montrer. .TP \fI/proc/\fPpid\fI/comm\fP (depuis Linux 2.6.33) .\" commit 4614a696bd1c3a9af3a08f0e5874830a85b889d4 Ce fichier expose la valeur \fIcomm\fP du processus, c’est\-à\-dire le nom de commande associé au processus. Des threads différents dans le même processus peuvent avoir des valeurs différentes de \fIcomm\fP, accessibles à travers \fI/proc/\fPpid\fI/task/\fPtid\fI/comm\fP. Un thread peut modifier sa valeur \fIcomm\fP ou celui de n’importe quel autre thread dans le même groupe de threads (consulter les explications au sujet de \fBCLONE_THREAD\fP dans \fBclone\fP(2)) en écrivant dans le fichier \fI/proc/self/task/\fPtid\fI/comm\fP. Les chaînes plus longues que \fBTASK_COMM_LEN\fP (16) caractères (incluant l’octet NULL final) sont silencieusement tronquées. .IP Ce fichier fournit un surensemble des opérations \fBprctl\fP(2), \fBPR_SET_NAME\fP et \fBPR_GET_NAME\fP, et est employé par \fBpthread_setname_np\fP(3) lorsqu’utilisé pour renommer des threads autres que l’appelant. La valeur dans ce fichier est utilisée pour le spécificateur \fI%e\fP dans \fI/proc/sys/kernel/core_pattern\fP\ ; consulter \fBcore\fP(5). .TP \fI/proc/\fPpid\fI/coredump_filter\fP (depuis Linux 2.6.23) Consulter \fBcore\fP(5). .TP \fI/proc/\fPpid\fI/cpuset\fP (depuis Linux 2.6.12) .\" and/proc/[pid]/task/[tid]/cpuset Consulter \fBcpuset\fP(7). .TP \fI/proc/\fPpid\fI/cwd\fP C’est un 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\ : .IP .in +4n .EX $\fB cd /proc/20/cwd; pwd \-P\fP .EE .in .IP .\" The following was still true as at kernel 2.6.13 Dans un traitement multiprocessus, le contenu de ce lien symbolique n'est pas disponible si le processus principal est déjà terminé (typiquement par un appel à \fBpthread_exit\fP(3). .IP La permission de déréférencer ou de lire (\fBreadlink\fP(2)) ce lien symbolique est régie par une vérification du mode d’accès ptrace \fBPTRACE_MODE_READ_FSCREDS\fP\ ; consulter \fBptrace\fP(2). .TP \fI/proc/\fPpid\fI/environ\fP Ce fichier contient l'environnement initial qui a été défini quand le programme d’exécution actuel a été démarré à travers \fBexecve\fP(2). Les enregistrements sont séparés par des octets NULL («\ \e0\ »), et il devrait y en avoir un à la fin du fichier. Ainsi, pour afficher l'environnement du processus numéro\ 1, on peut utiliser ce qui suit\ : .IP .in +4n .EX $\fB cat /proc/1/environ | tr \[aq]\e000\[aq] \[aq]\en\[aq]\fP .EE .in .IP Si, après un \fBexecve\fP(2), le processus modifie son environnement (par exemple, en appelant des fonctions telles que \fBputenv\fP(3) ou en modifiant directement la variable \fBenviron\fP(7)), ce fichier ne reflétera \fIpas\fP ces changements. .IP De plus, un processus peut modifier l’emplacement de mémoire référencé par ce fichier à travers des opérations \fBprctl\fP(2) telles que \fBPR_SET_MM_ENV_START\fP. .IP La permission d’accéder à ce fichier est régie par une vérification \fBPTRACE_MODE_READ_FSCREDS\fP de mode d’accès ptrace. Consulter \fBptrace\fP(2). .TP \fI/proc/\fPpid\fI/exe\fP .\" The following was still true as at kernel 2.6.13 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 \fI/proc/\fPpid\fI/exe\fP pour lancer une autre copie du même exécutable qui est en cours d’exécution par le processus \fIpid\fP. Si le lien du chemin a été supprimé, le lien symbolique contiendra la chaîne «\ supprimée\ » ajoutée au chemin originel. Dans un processus multithread, le contenu de ce lien symbolique n'est pas disponible si le processus principal s'est déjà terminé (typiquement par l'appel de \fBpthread_exit\fP(3)). .IP La permission de déréférencer ou de lire (\fBreadlink\fP(2)) ce lien symbolique est régie par une vérification du mode d’accès ptrace \fBPTRACE_MODE_READ_FSCREDS\fP\ ; consulter \fBptrace\fP(2). .IP Sous Linux\ 2.0 et précédents, \fI/proc/\fPpid\fI/exe\fP était un pointeur sur le fichier binaire exécuté, qui apparaissait sous forme de lien symbolique. Un appel système \fBreadlink\fP(2) sous Linux\ 2.0 sur ce fichier renvoyait une chaîne de la forme\ : .IP .in +4n .EX [périphérique]:inœud .EE .in .IP 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). .IP \fBfind\fP(1) peut être utilisé avec l'option \fI\-inum\fP pour retrouver le fichier exécutable à partir du numéro d'inœud. .TP \fI/proc/\fPpid\fI/fd/\fP Il s'agit d'un sous\-répertoire contenant un enregistrement pour chaque fichier ouvert par le processus. Chaque enregistrement a le descripteur du fichier pour nom, et est un lien symbolique vers le vrai fichier. Ainsi,\ 0 correspond à l'entrée standard,\ 1 à la sortie standard,\ 2 à la sortie d'erreur,\ etc. .IP Pour les descripteurs de fichier de tubes et de sockets, les enregistrements seront des liens symboliques dont le contenu est le type de fichier avec l’inœud. Un appel de \fBreadlink\fP(2) sur ce fichier renvoie une chaîne au format\ : .IP .in +4n .EX type:[inœud] .EE .in .IP Par exemple, \fIsocket:[2248868]\fP sera un socket et son inœud est 2248868. Pour les sockets, cet inœud permet de trouver plus de renseignements dans un des fichiers de \fI/proc/net/\fP. .IP Pour les descripteurs de fichier sans inœud correspondant (par exemple les descripteurs de fichier produits par \fBbpf\fP(2), \fBepoll_create\fP(2), \fBeventfd\fP(2), \fBinotify_init\fP(2), \fBperf_event_open\fP(2), \fBsignalfd\fP(2), \fBtimerfd_create\fP(2) et \fBuserfaultfd\fP(2)), l’enregistrement sera un lien symbolique avec un contenu de la forme\ : .IP .in +4n .EX anon_inode:\fItype_fichier\fP .EE .in .IP Dans de nombreux cas (mais pas tous), le \fItype_fichier\fP est entouré de crochets. .IP Par exemple, un descripteur de fichier epoll aura un lien symbolique dont le contenu est la chaîne \fIanon_inode:[eventpoll]\fP. .IP .\"The following was still true as at kernel 2.6.13 Dans un processus multithread, le contenu de ce répertoire n'est pas disponible si le processus principal est déjà terminé (typiquement par l'appel de \fBpthread_exit\fP(3)). .IP Les programmes qui prennent un nom de fichier comme paramètre de la ligne de commande, mais qui ne prennent pas leur entrée sur 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 envoyer la sortie 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 des fichiers \fI/proc/\fPpid\fI/fd\fP comme arguments de ligne de commande. Par exemple, en supposant que l'option \fI\-i\fP indique le nom du fichier d'entrée et l'option \fI\-o\fP le nom du fichier de sortie\ : .IP .in +4n .EX $\fB tototiti \-i /proc/self/fd/0 \-o /proc/self/fd/1 ...\fP .EE .in .IP .\" The following is not true in my tests (MTK): .\" Note that this will not work for .\" programs that seek on their files, as the files in the fd directory .\" are not seekable. et vous avez alors réalisé un filtre fonctionnel. .IP \fI/proc/self/fd/N\fP est approximativement identique à \fI/dev/fd/N\fP sur certains systèmes UNIX ou de type UNIX. En fait, la plupart des scripts MAKEDEV de Linux lient symboliquement \fI/dev/fd\fP à \fI/proc/self/fd\fP. .IP La plupart des systèmes fournissent les liens symboliques \fI/dev/stdin\fP, \fI/dev/stdout\fP et \fI/dev/stderr\fP, qui sont respectivement liés aux fichiers \fI0\fP, \fI1\fP et \fI2\fP de \fI/proc/self/fd\fP. Par conséquent, l'exemple précédent peut être écrit de la façon suivante\ : .IP .in +4n .EX $\fB tototiti \-i /dev/stdin \-o /dev/stdout ...\fP .EE .in .IP La permission de déréférencer ou de lire (\fBreadlink\fP(2)) ces liens symboliques dans ce répertoire est régie par une vérification du mode d’accès ptrace \fBPTRACE_MODE_READ_FSCREDS\fP\ ; consulter \fBptrace\fP(2). .IP Remarquez que pour les descripteurs de fichier référençant des inœuds (tubes et sockets, voir ci\-dessus), ces inœuds ont toujours les bits de permission et les informations d’appartenance distincts de ceux de l’enregistrement \fI/proc/\fPpid\fI/fd\fP, et le propriétaire peut être différent des ID utilisateur et groupe du processus. Un processus non privilégié peut ne pas avoir les permissions suffisantes pour les ouvrir, comme dans cet exemple\ : .IP .in +4n .EX $\fB echo test | sudo \-u nobody cat\fP test $\fB echo test | sudo \-u nobody cat /proc/self/fd/0\fP cat: /proc/self/fd/0: Permission denied .EE .in .IP Le descripteur de fichier\ 0 se réfère au tube créé par l’interpréteur et ayant pour propriétaire cet utilisateur d’interpréteur, qui est \fInobody\fP, aussi \fBcat\fP n’a pas la permission de créer un nouveau descripteur de fichier pour lire cet inœud, même s’il peut toujours lire à partir de son descripteur de fichier\ 0 existant. .TP \fI/proc/\fPpid\fI/fdinfo/\fP (depuis Linux 2.6.22) Il s'agit d'un sous\-répertoire contenant un enregistrement pour chaque fichier ouvert par le processus, nommé par son descripteur de fichier. Les fichiers dans ce répertoire ne sont lisibles que par le propriétaire du processus. Le contenu de chaque fichier peut être lu afin d'obtenir des informations sur le descripteur de fichier correspondant. Le contenu dépend du type de fichier référencé par le descripteur de fichier correspondant. .IP Pour les fichiers normaux et les répertoires, on aura quelque chose du style\ : .IP .in +4n .EX $\fB cat /proc/12015/fdinfo/4\fP pos: 1000 flags: 01002002 mnt_id: 21 .EE .in .IP Les champs sont les suivants\ : .RS .TP \fIpos\fP C’est un nombre décimal affichant le décalage dans le fichier. .TP \fIflags\fP C’est un nombre octal affichant le mode d’accès au fichier et les drapeaux d’états du fichier (consulter \fBopen\fP(2)). Si le drapeau «\ close\-on\-exec\ » de descripteur de fichier est défini, alors \fIdrapeaux\fP inclura aussi la valeur \fBO_CLOEXEC\fP. .IP .\" commit 1117f72ea0217ba0cc19f05adbbd8b9a397f5ab7 Avant Linux\ 3.1, ce champ affichait de manière incorrecte la valeur de \fBO_CLOEXEC\fP au moment où le fichier était ouvert à la place de la valeur en cours du drapeau «\ close\-on\-exec\ ». .TP \fImnt_id\fP .\" commit 49d063cb353265c3af701bab215ac438ca7df36d Ce champ, présent depuis Linux\ 3.15, est l’ID du montage contenant ce fichier. Consulter la description de \fI/proc/\fPpid\fI/mountinfo\fP. .RE .IP .\" commit cbac5542d48127b546a23d816380a7926eee1c25 Pour les descripteurs de fichier eventfd (consulter \fBeventfd\fP(2)), les champs suivants (depuis Linux\ 3.8) sont affichés\ : .IP .in +4n .EX pos: 0 flags: 02 mnt_id: 10 eventfd\-count: 40 .EE .in .IP \fIeventfd\-count\fP est la valeur en cours du compteur eventfd, en hexadécimal. .IP .\" commit 138d22b58696c506799f8de759804083ff9effae Pour les descripteurs de fichier epoll (consulter \fBepoll\fP(7)), les champs suivants (depuis Linux\ 3.8) sont affichés\ : .IP .in +4n .EX pos: 0 flags: 02 mnt_id: 10 tfd: 9 events: 19 data: 74253d2500000009 tfd: 7 events: 19 data: 74253d2500000007 .EE .in .IP Chacune des lignes commençant par \fItfd\fP décrivent un des descripteurs de fichier supervisés à travers le descripteur de fichier epoll (consulter \fBepoll_ctl\fP(2) pour plus de détails). Le champ \fItfd\fP est le numéro du descripteur de fichier. Le champ \fIevents\fP est un masque hexadécimal des évènements supervisés pour ce descripteur de fichier. Le champ \fIdata\fP est la valeur des données associées à ce descripteur de fichier. .IP .\" commit 138d22b58696c506799f8de759804083ff9effae Pour les descripteurs de fichier signalfd (consulter \fBsignalfd\fP(2)), les champs suivants (depuis Linux\ 3.8) sont affichés\ : .IP .in +4n .EX pos: 0 flags: 02 mnt_id: 10 sigmask: 0000000000000006 .EE .in .IP \fIsigmask\fP est le masque hexadécimal de signaux qui sont acceptés à l’aide du descripteur de fichier signalfd (dans cet exemple, les bits\ 2 et\ 3 sont définis, correspondant aux signaux \fBSIGINT\fP et \fBSIGQUIT\fP. Consulter \fBsignal\fP(7)). .IP Pour les descripteurs de fichier inotify (consulter \fBinotify\fP(7)), les champs suivants (depuis Linux\ 3.8) sont affichés\ : .IP .in +4n .EX pos: 0 flags: 00 mnt_id: 11 inotify wd:2 ino:7ef82a sdev:800001 mask:800afff ignored_mask:0 fhandle\-bytes:8 fhandle\-type:1 f_handle:2af87e00220ffd73 inotify wd:1 ino:192627 sdev:800001 mask:800afff ignored_mask:0 fhandle\-bytes:8 fhandle\-type:1 f_handle:27261900802dfd73 .EE .in .IP Chacune des lignes commençant par «\ inotify\ » affiche des informations sur un fichier ou un répertoire qui est en cours de supervision. Les champs dans ce genre de ligne sont les suivants\ : .RS .TP \fIwd\fP numéro du descripteur de fichier supervisé (en décimal)\ ; .TP \fIino\fP numéro d’inœud du fichier cible (en hexadécimal)\ ; .TP \fIsdev\fP ID du périphérique dans lequel réside le fichier (en hexadécimal)\ ; .TP \fImask\fP le masque d’évènements supervisés pour le fichier cible (en hexadécimal). .RE .IP Si le noyau a été construit avec la prise en charge d’exportfs, le chemin du fichier cible est exposé sous forme de gestionnaire de fichiers à travers trois champs hexadécimaux\ : \fIfhandle\-bytes\fP, \fIfhandle\-type\fP et \fIf_handle\fP. .IP Pour les descripteurs de fichier fanotify (consulter \fBfanotify\fP(7)), les champs suivants (depuis Linux\ 3.8) sont affichés\ : .IP .in +4n .EX pos: 0 flags: 02 mnt_id: 11 fanotify flags:0 event\-flags:88002 fanotify ino:19264f sdev:800001 mflags:0 mask:1 ignored_mask:0 fhandle\-bytes:8 fhandle\-type:1 f_handle:4f261900a82dfd73 .EE .in .IP La quatrième ligne affiche des informations définies lors de la création du groupe à travers \fBfanotify_init\fP(2)\ : .RS .TP \fIflags\fP l’argument \fIflags\fP indiqué à \fBfanotify_init\fP(2) (exprimé en hexadécimal)\ ; .TP \fIevent\-flags\fP l’argument \fIevent_f_flags\fP indiqué à \fBfanotify_init\fP(2) (exprimé en hexadécimal). .RE .IP Chaque ligne supplémentaire montrée dans le fichier contient des informations sur une des marques dans le groupe fanotify. La plupart de ces champs sont comme pour inotify, sauf\ : .RS .TP \fImflags\fP les drapeaux associés à la marque (exprimé en hexadécimal)\ ; .TP \fImask\fP le masque des évènements pour cette marque (exprimé en hexadécimal)\ ; .TP \fIignored_mask\fP le masque d’évènements ignorés pour cette marque (exprimé en hexadécimal). .RE .IP Pour plus de détails sur ces champs, consulter \fBfanotify_mark\fP(2). .IP .\" commit af9c4957cf212ad9cf0bee34c95cb11de5426e85 Pour les descripteurs de fichier timerfd (consulter \fBtimerfd\fP(2)), les champs suivants (depuis Linux\ 3.17) sont affichés\ : .IP .in +4n .EX pos: 0 flags: 02004002 mnt_id: 13 clockid: 0 ticks: 0 settime flags: 03 it_value: (7695568592, 640020877) it_interval: (0, 0) .EE .in .RS .TP \fIclockid\fP C’est la valeur numérique de l’ID d’horloge (correspondant à une des constantes \fBCLOCK_*\fP définie à l’aide de \fI\fP) qui est utilisée pour marquer la progression du temporisateur (dans cet exemple,\ 0 est \fBCLOCK_REALTIME\fP). .TP \fIticks\fP C’est le nombre d’expirations du temporisateur qui se sont produites (c’est\-à\-dire la valeur que \fBread\fP(2) exécuté sur lui renverrait). .TP \fIsettime flags\fP Ce champ liste les drapeaux avec lesquels le timerfd a été dernièrement armé (consulter \fBtimerfd_settime\fP(2)), en octal (dans cet exemple, \fBTFD_TIMER_ABSTIME\fP et \fBTFD_TIMER_CANCEL_ON_SET\fP sont définis). .TP \fIit_value\fP Ce champ contient la durée avant la prochaine expiration du temporisateur exprimée en secondes et nanosecondes. Cela est toujours exprimé comme valeur relative, même si le temporisateur a été créé en utilisant le drapeau \fBTFD_TIMER_ABSTIME\fP. .TP \fIit_interval\fP Ce champ contient l’intervalle du temporisateur, en secondes et nanosecondes (les champs \fIit_value\fP et \fIit_interval\fP contiennent les valeurs que \fBtimerfd_gettime\fP(2) sur ce descripteur de fichier renverrait). .RE .TP \fI/proc/\fPpid\fI/gid_map\fP (depuis Linux 3.5) Consulter \fBuser_namespaces\fP(7). .TP \fI/proc/\fPpid\fI/io\fP (depuis Linux 2.6.20) .\" commit 7c3ab7381e79dfc7db14a67c6f4f3285664e1ec2 Ce fichier contient des statistiques d’entrées et sorties pour le processus, par exemple\ : .IP .in +4n .EX #\fB cat /proc/3828/io\fP rchar: 323934931 wchar: 323929600 syscr: 632687 syscw: 632675 read_bytes: 0 write_bytes: 323932160 cancelled_write_bytes: 0 .EE .in .IP Les champs sont les suivants\ : .RS .TP \fIrchar\fP\ : caractères lus Le nombre d’octets dont cette tâche a provoqué la lecture sur le support de stockage. C’est la somme d’octets que ce processus a passé à \fBread\fP(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 du cache de pages). .TP \fIwchar\fP\ : caractères écrits Le nombre d’octets dont cette tâche a provoqué ou provoquera l'écriture sur le disque. Des limitations similaires à celles de \fIrchar\fP s’appliquent. .TP \fIsyscr\fP\ : appels système de lecture Tentative de décompte du nombre d’opérations d’entrées et sorties lues, c’est\-à\-dire des appels système comme \fBread\fP(2) et \fBpread\fP(2). .TP \fIsyscw\fP\ : appels système d'écriture Tentative de décompte du nombre d’opérations d’entrées et sorties écrites, c’est\-à\-dire des appels système comme \fBwrite\fP(2) et \fBpwrite\fP(2). .TP \fIread_bytes\fP\ : octets lus Tentative de décompte du nombre d’octets dont l'envoi vers la couche de stockage a été réellement provoqué par ce processus. Cette valeur est précise pour les systèmes de fichiers à base de blocs. .TP \fIwrite_bytes\fP\ : octets écrits Tentative de décompte du nombre d’octets dont l'envoi vers la couche de stockage a été provoqué par ce processus. .TP \fIcancelled_write_bytes\fP\ : 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 le cache de pages. Une tâche peut aussi provoquer des entrées et sorties «\ négatives\ ». Si cette tâche tronque un peu de cache de pages sales, certaines des entrées et sorties qui ont été comptabilisées pour une autre tâche (dans son \fIwrite_bytes\fP) ne se produiront pas. .RE .IP \fIRemarque\fP\ : dans l’implémentation actuelle, les choses sont un peu en situation de compétition sur les systèmes 32\ bits\ : si le processus\ A lit le \fI/proc/\fPpid\fI/io\fP 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. .IP La permission d’accéder à ce fichier est régie par une vérification \fBPTRACE_MODE_READ_FSCREDS\fP de mode d’accès ptrace. Consulter \fBptrace\fP(2). .TP \fI/proc/\fPpid\fI/limits\fP (depuis Linux 2.6.24) .\" commit 3036e7b490bf7878c6dae952eec5fb87b1106589 .\" FIXME Describe /proc/[pid]/loginuid .\" Added in Linux 2.6.11; updating requires CAP_AUDIT_CONTROL .\" CONFIG_AUDITSYSCALL Ce fichier indique les limites souples et strictes ainsi que les unités de mesure de chaque limite de ressources du processus (consulter \fBgetrlimit\fP(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 tous les utilisateurs du système. .TP \fI/proc/\fPpid\fI/map_files/\fP (depuis Linux 3.3) .\" commit 640708a2cff7f81e246243b0073c66e6ece7e53e Ce sous\-répertoire contient des enregistrements correspondant aux fichiers projetés en mémoire (consulter \fBmmap\fP(2)). Les enregistrements sont nommés par paires d'adresses (exprimées en nombres hexadécimaux) de début et fin de zone mémoire et sont des liens symboliques vers les fichiers projetés. Voici un exemple, avec la sortie coupée et formatée pour tenir sur un affichage en 80\ colonnes\ : .IP .in +4n .EX #\fB ls \-l /proc/self/map_files/\fP lr\-\-\-\-\-\-\-\-. 1 root root 64 Apr 16 21:31 3252e00000\-3252e20000 \-> /usr/lib64/ld\-2.15.so \&... .EE .in .IP Bien que ces entrées soient présentes pour des zones de mémoire ayant été projetées avec l'attribut \fBMAP_FILE\fP, la façon dont la mémoire partagée anonyme (les zones créées avec les attributs \fBMAP_ANON | MAP_SHARED\fP) 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 \fI/dev/zero\fP effacé\ : .IP .in +4n .EX lrw\-\-\-\-\-\-\-. 1 root root 64 Apr 16 21:33 7fc075d2f000\-7fc075e6f000 \-> /dev/zero (effacé) .EE .in .IP La permission d’accéder à ce fichier est régie par une vérification \fBPTRACE_MODE_READ_FSCREDS\fP de mode d’accès ptrace. Consulter \fBptrace\fP(2). .IP .\" commit bdb4d100afe9818aebd1d98ced575c5ef143456c Jusqu’à Linux\ 4.3, ce répertoire n'existe que si l'option de configuration du noyau \fBCONFIG_CHECKPOINT_RESTORE\fP a été activée. .IP Des capacités sont nécessaires pour lire le contenu des liens symboliques dans ce répertoire\ : avant Linux\ 5.9, le processus lecteur nécessitait \fBCAP_SYS_ADMIN\fP dans l’espace de noms initial. Depuis Linux\ 5.9, le processus lecteur doit avoir soit \fBCAP_SYS_ADMIN\fP ou \fBCAP_CHECKPOINT_RESTORE\fP dans l’espace de noms utilisateur (c’est\-à\-dire root). .TP \fI/proc/\fPpid\fI/maps\fP Ce fichier contient les régions de la mémoire actuellement projetées et leurs autorisations d'accès. Consultez \fBmmap\fP(2) pour de plus amples renseignements sur les projections en mémoire. .IP La permission d’accéder à ce fichier est régie par une vérification \fBPTRACE_MODE_READ_FSCREDS\fP de mode d’accès ptrace. Consulter \fBptrace\fP(2). .IP Le format du fichier est\ : .IP .in +4n .EX \fIadresse droits posit. périph. inœud chemin\fP 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] .EE .in .IP Le champ \fIadresse\fP correspond à l'espace d'adressage dans le processus que la projection occupe. Le champ \fIdroits\fP est un ensemble d'autorisations\ : .IP .in +4n .EX r = lecture w = écriture x = exécution s = partage p = privé (copie lors de l'écriture) .EE .in .IP Le champ \fIposit.\fP est la position dans le fichier ou autre. \fIpériph.\fP correspond à la paire (majeur:mineur). \fIinœud\fP 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). .IP Le champ \fIchemin\fP sera normalement le fichier sur lequel s'appuie la projection. Pour les fichiers ELF, faire correspondre le champ \fIchemin\fP est facile en regardant le champ Offset des en\-têtes du programme ELF (\fIreadelf\ \-l\fP). .IP Des pseudochemins pratiques supplémentaires existent. .RS .TP \fI[stack]\fP La pile du processus initial (aussi connu comme le thread principal). .TP \fI[stack:\fPtid\fI]\fP (de Linux 3.4 à Linux 4.4) .\" commit b76437579d1344b612cf1851ae610c636cec7db0 (added) .\" commit 65376df582174ffcec9e6471bf5b0dd79ba05e4a (removed) Une pile de thread (où \fItid\fP est un identifiant de thread). Cela correspond au chemin \fI/proc/\fPpid\fI/task/\fPtid\fI/\fP. Ce champ a été retiré dans Linux\ 4.5 puisque fournir cette information pour un processus avec un grand nombre de threads coûte cher. .TP \fI[vdso]\fP L'objet virtuel partagé lié dynamiquement. Consulter \fBvdso\fP(7). .TP \fI[heap]\fP Le tas du processus. .TP \fI[anon:\fPnom\fI]\fP (depuis Linux 5.17) .\" Commit 9a10064f5625d5572c3626c1516e0bebc6c9fe9b Un mappage nommé privé anonyme. Il est défini avec \fBprctl\fP(2) \fBPR_SET_VMA_ANON_NAME\fP. .TP \fI[anon_shmem:\fPnom\fI]\fP (depuis Linux 6.2) .\" Commit d09e8ca6cb93bb4b97517a18fbbf7eccb0e9ff43 Un mappage nommé partagé anonyme. Il est défini avec \fBprctl\fP(2) \fBPR_SET_VMA_ANON_NAME\fP. .in .RE .IP Si le champ \fIchemin\fP est vide, c'est un mappage anonyme tel qu’obtenu à l’aide de la fonction \fBmmap\fP(2). Faire correspondre cela à une source de processus est compliqué, sauf en l'exécutant à l'aide de \fBgdb\fP(1), \fBstrace\fP(1) ou similaire. .IP \fIchemin\fP est affiché littéralement sauf pour les caractères de nouvelle ligne qui sont remplacés par une séquence d’échappement octale. En conséquence, il n’est pas possible de savoir si le chemin d’origine contenait un caractère de nouvelle ligne ou la séquence de caractères littérale \fI\e012\fP. .IP Si le mappage est une projection de fichier et que le fichier a été supprimé, la chaîne «\ (deleted)\ » est ajouté au chemin. Cela est aussi ambigu. .IP Sous Linux 2.0, aucun champ n'indique le chemin. .TP \fI/proc/\fPpid\fI/mem\fP Ce fichier permet d'accéder aux pages de la mémoire d'un processus au travers de \fBopen\fP(2), \fBread\fP(2) et \fBlseek\fP(2). .IP La permission d’accéder à ce fichier est régie par une vérification du mode d’accès ptrace \fBPTRACE_MODE_ATTACH_FSCREDS\fP\ ; consulter \fBptrace\fP(2). .TP \fI/proc/\fPpid\fI/mountinfo\fP (depuis Linux 2.6.26) .\" This info adapted from Documentation/filesystems/proc.txt .\" commit 2d4d4864ac08caff5c204a752bd004eed4f08760 Ce fichier contient des informations à propos des montages dans l’espace de noms montage du processus (consulter \fBmount_namespaces\fP(7)). Il fournit diverses informations (par exemple, l’état de propagation, la racine de montage des montages bind, les identifiants pour chaque montage et son parent) qui étaient absentes dans le (ancien) fichier \fI/proc/\fPpid\fI/mounts\fP, et corrige divers autres problèmes avec ce fichier (par exemple, la non extensibilité, l’impossibilité de distinguer entre les options par montage ou par superbloc). .IP Ce fichier contient des lignes de la forme suivante\ : .IP .EX 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) .EE .IP Les nombres entre parenthèses sont des étiquettes pour les descriptions suivantes\ : .RS 7 .TP 5 (1) ID du montage\ : identifiant unique du montage (peut être réutilisé après un \fBumount\fP(2)). .TP (2) ID du parent ID\ : identifiant du montage parent (ou de lui\-même pour la racine de l’arbre de montage de l’espace de noms). .IP Si un nouveau montage est empilé sur un montage préexistant (cachant alors le montage préexistant) au chemin\ P, alors le parent du nouveau montage est le montage préexistant à cet endroit. Par conséquent, lors de l’examen de tous les montages empilés à un endroit particulier, le montage de plus haut niveau est celui qui n’est le parent d’aucun montage à cet endroit (il est à remarquer cependant que ce montage de plus haut niveau ne sera accessible que si le sous\-préfixe le plus long de\ P qui est un point de montage n’est pas lui\-même caché par un montage empilé). .IP .\" Miklos Szeredi, Nov 2017: The hidden one is the initramfs, I believe .\" mtk: In the initial mount namespace, this hidden ID has the value 0 Si le montage parent réside en dehors du répertoire racine du processus (consulter \fBchroot\fP(2)), l’ID montré ici n’aura pas un enregistrement correspondant dans \fImountinfo\fP dont l’ID de montage (champ\ 1) correspond à l’ID du montage parent (parce que les montages qui résident en dehors du répertoire racine du processus ne sont pas montrés dans \fImountinfo\fP). Comme cas spécial de ce point, le montage racine du processus peut avoir un montage parent (pour le système de fichiers initramfs) qui réside en dehors du répertoire racine du processus, et un enregistrement pour ce montage n’apparaîtra pas dans \fImountinfo\fP. .TP (3) majeur:mineur\ : valeur de \fIst_dev\fP pour les fichiers sur ce système de fichiers (consulter \fBstat\fP(2)). .TP (4) racine\ : le chemin du répertoire dans le système de fichiers qui forme la racine de ce montage. .TP (5) point de montage\ : point de montage relatif au répertoire racine du processus. .TP (6) options de montage\ : options par montage (consulter \fBmount\fP(2)). .TP (7) champs facultatifs\ : zéro ou plusieurs champs de la forme «\ étiquette[:valeur]\ » (voir ci\-après). .TP (8) séparateur\ : la fin des champs facultatifs est marquée par un tiret unique. .TP (9) type de système de fichiers\ : type du système de fichiers de la forme «\ type[.soustype]\ ». .TP (10) source du montage\ : informations spécifiques au système de fichiers ou «\ none\ ». .TP (11) options super\ : options par superbloc (consulter \fBmount\fP(2)). .RE .IP Actuellement, les champs facultatifs possibles sont \fIshared\fP, \fImaster\fP, \fIpropagate_from\fP et \fIunbindable\fP. Consulter \fBmount_namespaces\fP(7) pour leurs descriptions. Les analyseurs syntaxiques devraient ignorer tous les champs facultatifs non reconnus. .IP Pour plus d'informations sur les propagations de montage, consulter \fIDocumentation/filesystems/sharedsubtree.rst\fP (ou \fIDocumentation/filesystems/sharedsubtree.txt\fP avant Linux\ 5.8) dans l'arborescence des sources du noyau Linux. .TP \fI/proc/\fPpid\fI/mounts\fP (depuis Linux 2.4.19) Ce fichier liste tous les systèmes de fichiers actuellement montés dans l’espace de noms montage du processus (consulter \fBmount_namespaces\fP(7)). Le format de ce fichier est documenté dans \fBfstab\fP(5). .IP Depuis Linux\ 2.6.15, ce fichier peut être consulté\ : après l’ouverture du fichier en lecture, une modification dans ce fichier (c’est\-à\-dire un montage ou démontage de système de fichiers) fait que \fBselect\fP(2) marque le descripteur de fichier comme ayant une condition exceptionnelle, et \fBpoll\fP(2) et \fBepoll_wait\fP(2) marquent le fichier comme ayant un évènement de priorité (\fBPOLLPRI\fP) (avant Linux\ 2.6.30, une modification dans ce fichier était indiquée en marquant le descripteur de fichier comme lisible pour \fBselect\fP(2) et comme ayant une condition d’erreur pour \fBpoll\fP(2) et \fBepoll_wait\fP(2).) .TP \fI/proc/\fPpid\fI/mountstats\fP (depuis Linux 2.6.17) Ce fichier exporte des informations (statistiques, configuration) relatives aux montages dans l'espace de noms montage du processus (consulter \fBmount_namespaces\fP(7)). Les lignes de ce fichier sont de la forme\ : .IP .in +4n .EX device /dev/sda7 mounted on /home with fstype ext3 [stats] ( 1 ) ( 2 ) (3 ) ( 4 ) .EE .in .IP Les champs de chaque ligne sont\ : .RS 7 .TP 5 (1) Le nom du périphérique monté (ou «\ nodevice\ » s'il n'y a pas de périphérique correspondant). .TP (2) Le point de montage dans l'arborescence du système de fichiers. .TP (3) Le type du système de fichiers. .TP (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. .RE .IP Ce fichier n'est accessible en lecture que par le propriétaire du processus. .TP \fI/proc/\fPpid\fI/net\fP (depuis Linux 2.6.25) Consulter la description de \fI/proc/net\fP. .TP \fI/proc/\fPpid\fI/ns/\fP (depuis Linux 3.0) .\" See commit 6b4e306aa3dc94a0545eb9279475b1ab6209a31f Il s'agit d'un sous\-répertoire contenant un enregistrement pour chaque espace de noms qui peut être manipulé avec \fBsetns\fP(2). Pour plus de précisions, consulter \fBnamespaces\fP(7). .TP \fI/proc/\fPpid\fI/numa_maps\fP (depuis Linux 2.6.14) Consulter \fBnuma\fP(7). .TP \fI/proc/\fPpid\fI/oom_adj\fP (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 \fIoom_score\fP 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é. .IP La valeur par défaut de ce fichier est\ 0. Un nouveau processus hérite de la valeur \fIoom_adj\fP de son parent. Un processus doit être privilégié (\fBCAP_SYS_RESOURCE\fP) pour mettre à jour ce fichier, bien qu’un processus puisse accroître son réglage de \fIoom_adjust\fP (depuis Linux\ 2.6.20). .IP Depuis Linux\ 2.6.36, l'utilisation de ce fichier est déconseillée en faveur de \fI/proc/\fPpid\fI/oom_score_adj\fP, et il a finalement été retiré dans Linux\ 3.7. .TP \fI/proc/\fPpid\fI/oom_score\fP (depuis Linux 2.6.11) .\" See mm/oom_kill.c::badness() before Linux 2.6.36 sources .\" See mm/oom_kill.c::oom_badness() after Linux 2.6.36 .\" commit a63d83f427fbce97a6cea0db2e64b0eb8435cd10 .\" See mm/oom_kill.c::badness() before Linux 2.6.36 sources .\" See mm/oom_kill.c::oom_badness() after Linux 2.6.36 .\" commit a63d83f427fbce97a6cea0db2e64b0eb8435cd10 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\ : .RS .IP \- 3 .\" More precisely, if it has CAP_SYS_ADMIN or (pre 2.6.36) CAP_SYS_RESOURCE le processus est privilégié (\-). .RE .IP Avant Linux\ 2.6.36 les facteurs suivants étaient aussi utilisés dans le calcul de \fIoom_score\fP\ : .RS .IP \- 3 le processus crée beaucoup d'enfants avec \fBfork\fP(2) (+)\ ; .IP \- le processus s'exécute depuis longtemps ou a consommé beaucoup de temps processeur (\-)\ ; .IP \- le processeur a une faible valeur de courtoisie (c'est\-à\-dire positive) (+)\ ; .IP \- .\" More precisely, if it has CAP_SYS_RAWIO le processus effectue des accès matériel directs (\-). .RE .IP \fIoom_score\fP reflète également l'ajustement indiqué dans les réglages \fIoom_score_adj\fP ou \fIoom_adj\fP du processus. .TP \fI/proc/\fPpid\fI/oom_score_adj\fP (depuis Linux 2.6.36) .\" Text taken from Linux 3.7 Documentation/filesystems/proc.txt 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. .IP 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. .IP 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. .IP 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 (accès mémoire) assignés à ce cpuset (consulter \fBcpuset\fP(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. .IP La valeur de \fIoom_score_adj\fP 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. .IP 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 \fIoom_score_adj\fP 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 équivalente à ne prendre en compte que la moitié de l'espace mémoire alloué à la tâche pour la notation contre cette tâche. .IP Pour des raisons de compatibilité ascendante avec les précédents noyaux, \fI/proc/\fPpid\fI/oom_adj\fP peut encore être utilisé pour ajuster la notation de mauvaise conduite. Sa valeur est mise à l'échelle linéairement avec \fIoom_score_adj\fP. .IP Écrire vers \fI/proc/\fPpid\fI/oom_score_adj\fP ou \fI/proc/\fPpid\fI/oom_adj\fP modifiera l'autre avec sa valeur mise à l'échelle. .IP Le programme \fBchoom\fP(1) fournit une interface en ligne de commande pour ajuster la valeur de \fIoom_score_adj\fP d’un processus en cours d’exécution ou d’une commande nouvellement exécutée. .TP \fI/proc/\fPpid\fI/pagemap\fP (depuis Linux 2.6.25) Ce fichier montre le mappage de chacune des pages virtuelles du processus dans les cadres de pages physiques ou de la zone d’échange (swap). Il contient une valeur de 64\ bits pour chacune des pages virtuelles, avec les bits définis ainsi\ : .RS .TP 63 Si défini, la page est présente en RAM. .TP 62 Si défini, la page est dans la zone d’échange. .TP 61 (depuis Linux 3.5) La page est une page mappée dans un fichier ou une page anonyme partagée. .TP 60\[en]58 (depuis Linux 3.11) .\" Not quite true; see commit 541c237c0923f567c9c4cabb8a81635baadc713f Zéro .TP 57 (depuis Linux 5.14) Si défini, la page est protégée en écriture à travers \fBuserfaultfd\fP(2). .TP 56 (depuis Linux 4.2) .\" commit 77bb499bb60f4b79cca7d139c8041662860fcf87 .\" commit 83b4b0bb635eee2b8e075062e4e008d1bc110ed7 La page est exclusivement mappée. .TP 55 (depuis Linux 3.11) PTE est «\ soft\-dirty\ » (consulter le fichier des sources du noyau \fIDocumentation/admin\-guide/mm/soft\-dirty.rst\fP). .TP 54\[en]0 Si la page est présente en RAM (bit\ 63), alors ces bits fournissent le numéro de cadre de page qui peut être utilisé pour indicer \fI/proc/kpageflags\fP et \fI/proc/kpagecount\fP. Si la page est présente en zone d’échange (bit\ 62), alors les bits 4\[en]0 donnent le type de swap et les bits 54\[en]5 encodent le décalage de swap. .RE .IP Avant Linux\ 3.11, les bits 60\[en]55 étaient utilisés pour encoder le log base\ 2 de la taille de page. .IP Pour utiliser \fI/proc/\fPpid\fI/pagemap\fP efficacement, il faut utiliser \fI/proc/\fPpid\fI/maps\fP pour déterminer quelles zones de mémoire sont réellement mappées et chercher à ignorer les régions non mappées. .IP Le fichier \fI/proc/\fPpid\fI/smaps\fP n'est présent que si l'option de configuration du noyau \fBCONFIG_PROC_PAGE_MONITOR\fP a été activée. .IP La permission d’accéder à ce fichier est régie par une vérification \fBPTRACE_MODE_READ_FSCREDS\fP de mode d’accès ptrace. Consulter \fBptrace\fP(2). .TP \fI/proc/\fPpid\fI/personality\fP (depuis Linux 2.6.28) .\" commit 478307230810d7e2a753ed220db9066dfdf88718 Ce fichier en lecture seule expose le domaine d’exécution du processus comme défini par \fBpersonality\fP(2). La valeur est affichée en notation hexadécimale. .IP La permission d’accéder à ce fichier est régie par une vérification du mode d’accès ptrace \fBPTRACE_MODE_ATTACH_FSCREDS\fP\ ; consulter \fBptrace\fP(2). .TP \fI/proc/\fPpid\fI/root\fP UNIX et Linux gèrent une notion de racine du système de fichiers par processus, configurée avec l'appel système \fBchroot\fP(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 \fIexe\fP et \fIfd/*\fP. .IP Il est cependant à remarquer que ce fichier n’est pas simplement un lien symbolique. Il fournit la même vue du système de fichiers (incluant les espaces de noms et l’ensemble des montages par processus) que le processus lui\-même. Un exemple illustre ce point. Dans un terminal, démarrer un interpréteur de commandes dans des nouveaux espaces de noms utilisateur et montage, et dans cet interpréteur créer quelques nouveaux montages\ : .IP .in +4n .EX $ \fBPS1=\[aq]sh1# \[aq] unshare \-Urnm\fP sh1# \fBmount \-t tmpfs tmpfs /etc\fP # Montage d’un tmpfs vide à /etc sh1# \fBmount \-\-bind /usr /dev\fP # Montage de /usr à /dev sh1# \fBecho $$\fP 27123 .EE .in .IP Dans une seconde fenêtre de terminal, dans l’espace de noms initial montage, chercher le contenu des montages correspondants dans les espaces de noms initial et nouveau\ : .IP .in +4n .EX $ \fBPS1=\[aq]sh2# \[aq] sudo sh\fP sh2# \fBls /etc | wc \-l\fP # Dans l’espace de noms initial 309 sh2# \fBls /proc/27123/root/etc | wc \-l\fP # /etc dans un autre espace de noms 0 # Le répertoire vide tmpfs sh2# \fBls /dev | wc \-l\fP # Dans l’espace de noms initial 205 sh2# \fBls /proc/27123/root/dev | wc \-l\fP # /dev dans un autre espace de noms 11 # Réellement monté # bind dans /usr sh2# \fBls /usr | wc \-l\fP # /usr dans l’espace de noms initial 11 .EE .in .IP .\" The following was still true as at kernel 2.6.13 Dans un traitement multiprocessus, le contenu du lien symbolique \fI/proc/\fPpid\fI/root\fP n'est pas disponible si le thread principal est déjà terminé (typiquement par un appel à \fBpthread_exit\fP(3). .IP La permission de déréférencer ou de lire (\fBreadlink\fP(2)) ce lien symbolique est régie par une vérification du mode d’accès ptrace \fBPTRACE_MODE_READ_FSCREDS\fP\ ; consulter \fBptrace\fP(2). .TP \fI/proc/\fPpid\fI/projid_map\fP (depuis Linux 3.7) .\" commit f76d207a66c3a53defea67e7d36c3eb1b7d6d61d Consulter \fBuser_namespaces\fP(7). .TP \fI/proc/\fPpid\fI/seccomp\fP (Linux 2.6.12 à Linux 2.6.22) Ce fichier permet de lire et modifier le réglage du mode seccomp (secure computing) du processus. Il contient la valeur\ 0 si le processus n’est pas dans ce mode et\ 1 si le processus est dans le mode seccomp strict (consulter \fBseccomp\fP(2)). Écrire\ 1 dans ce fichier place le processus en mode seccomp strict de manière irréversible (des tentatives ultérieures d’écrire dans ce fichier échoueront avec l’erreur \fBEPERM\fP). .IP .\" FIXME Describe /proc/[pid]/sessionid .\" commit 1e0bd7550ea9cf474b1ad4c6ff5729a507f75fdc .\" CONFIG_AUDITSYSCALL .\" Added in Linux 2.6.25; read-only; only readable by real UID .\" .\" FIXME Describe /proc/[pid]/sched .\" Added in Linux 2.6.23 .\" CONFIG_SCHED_DEBUG, and additional fields if CONFIG_SCHEDSTATS .\" Displays various scheduling parameters .\" This file can be written, to reset stats .\" The set of fields exposed by this file have changed .\" significantly over time. .\" commit 43ae34cb4cd650d1eb4460a8253a8e747ba052ac .\" .\" FIXME Describe /proc/[pid]/schedstats and .\" /proc/[pid]/task/[tid]/schedstats .\" Added in Linux 2.6.9 .\" CONFIG_SCHEDSTATS Dans Linux_2.6.23, ce fichier a disparu pour être remplacé par les opérations de \fBprctl\fP(2) \fBPR_GET_SECCOMP\fP et \fBPR_SET_SECCOMP\fP (et plus tard par \fBseccomp\fP(2) et le champ \fISeccomp\fP dans \fI/proc/\fPpid\fI/status\fP). .TP \fI/proc/\fPpid\fI/setgroups\fP (depuis Linux 3.19) Consulter \fBuser_namespaces\fP(7). .TP \fI/proc/\fPpid\fI/smaps\fP (depuis Linux 2.6.14) Ce fichier affiche la mémoire utilisée par chacun des mappages du processus (la commande \fBpmap\fP(1) affiche des informations similaires dans une forme plus propice à une analyse). Pour chacun des mappages, il y a une série de lignes telles que les suivantes\ : .IP .in +4n .EX 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 ShmemHugePages: 0 kB ShmemPmdMapped: 0 kB Swap: 0 kB KernelPageSize: 4 kB MMUPageSize: 4 kB Locked: 0 kB ProtectionKey: 0 VmFlags: rd ex mr mw me dw .EE .in .IP La première de ces lignes montre les mêmes informations que celles affichées pour le mappage dans \fI/proc/\fPpid\fI/maps\fP. Les lignes suivantes montrent la taille du mappage, la quantité de mappage actuellement résidente en mémoire vive («\ Rss\ »), le partage équitable («\ proportional share\ ») de ce mappage pour le processus («\ Pss\ »), le nombre de pages partagées propres ou sales du mappage et le nombre de pages privées propres ou sales du mappage. «\ 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. .IP L’entrée «\ KernelPageSize\ » (disponible depuis Linux\ 2.6.29) 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 différencier les deux attributs, la ligne «\ MMUPageSize\ » (disponible aussi depuis Linux\ 2.6.29) indique la taille de page utilisée par le MMU. .IP La ligne «\ Locked\ » indique si le mappage est verrouillée en mémoire. .IP La ligne «\ ProtectionKey\ » (disponible depuis Linux\ 4.9, sur x86 seulement) contient la clé de protection mémoire (consulter \fBpkeys\fP(7)) associée avec la zone de mémoire virtuelle. Cet enregistrement est présent seulement si le noyau a été construit avec l’option de configuration \fBCONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS\fP (depuis Linux\ 4.6). .IP La ligne «\ VmFlags\ » (disponible depuis Linux\ 3.8) représente les attributs du noyau, associés à la zone de mémoire virtuelle, encodés en utilisant les codes de deux lettres suivants\ : .RS .IP .TS l l l. rd \- accessible en lecture wr \- accessible en écriture ex \- exécutable sh \- partagé mr \- peut lire mw \- peut écrire me \- peut exécuter ms \- peut partager gd \- segment de pile diminue pf \- intervalle PFN pur dw \- écriture désactivée sur le fichier projeté lo \- pages verrouillées en mémoire io \- zone E/S mappée en mémoire sr \- avertissement de lecture séquentielle fourni rr \- avertissement de lecture aléatoire fourni dc \- ne pas copier la zone lors d’un fourchage de \- ne pas étendre la zone lors d’un remappage ac \- zone pouvant répondre (accountable) nr \- espace d’échange non réservé pour la zone ht \- zone utilisant des pages tlb volumineuses sf \- accès synchrone aux « page faults » (depuis Linux 4.15) nl \- mappage non linéaire (retiré dans Linux 4.0) ar \- drapeau spécifique à l'architecture wf \- effacement lors d’un fourchage (depuis Linux 4.14) dd \- ne pas inclure la zone lors d’un vidage mémoire sd \- drapeau soft\-dirty (depuis Linux 3.13) mm \- zone de mappage mixte hg \- drapeau d’avertissement de page volumineuse nh \- drapeau d’avertissement de page non volumineuse mg \- drapeau d’avertissement de fusionnable um \- suivi d’userfaultfd de pages manquantes (depuis Linux 4.3) uw \- suivi d’userfaultfd de pages wprotect (depuis Linux 4.3) .TE .RE .IP Le fichier \fI/proc/\fPpid\fI/smaps\fP n'est présent que si l'option de configuration du noyau \fBCONFIG_PROC_PAGE_MONITOR\fP a été utilisée. .TP \fI/proc/\fPpid\fI/stack\fP (depuis Linux 2.6.29) .\" 2ec220e27f5040aec1e88901c1b6ea3d135787ad 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 \fBCONFIG_STACKTRACE\fP. .IP La permission d’accéder à ce fichier est régie par une vérification du mode d’accès ptrace \fBPTRACE_MODE_ATTACH_FSCREDS\fP\ ; consulter \fBptrace\fP(2). .TP \fI/proc/\fPpid\fI/stat\fP Informations sur l'état du processus. Utilisé par \fBps\fP(1). La définition se trouve dans \fIfs/proc/array.c\fP. .IP Les champs, dans l’ordre, avec leurs spécificateurs de format \fBscanf\fP(3), sont listés ci\-après. Que certains de ces champs affichent une information valable ou non est régi par la vérification du mode d’accès ptrace \fBPTRACE_MODE_READ_FSCREDS\fP | \fBPTRACE_MODE_NOAUDIT\fP (consulter \fBptrace\fP(2)). Si la vérification refuse l’accès, la valeur affichée est\ 0. Les champs affectés sont indiqués avec le marquage [PT]. .RS .TP (1) \fIpid\fP \ %d .br Identifiant du processus. .TP (2) \fIcomm\fP \ %s Nom du fichier exécutable entre parenthèses. Les chaînes plus longues que \fBTASK_COMM_LEN\fP (16) caractères (y compris l’octet NULL final) sont silencieusement tronquées. Cela indique si l'exécutable a été déchargé sur l'espace d'échange («\ swappé\ ») ou pas. .TP (3) \fIstate\fP \ %c Un des caractères suivants, indiquant l’état du processus\ : .RS .TP R En cours d’exécution .TP S Endormi avec attente interruptible .TP D Attendant dans un sommeil de disque non interruptible .TP Z Zombie .TP T Stoppé (par un signal) ou (avant Linux\ 2.6.33) trace stoppée .TP t .\" commit 44d90df6b757c59651ddd55f1a84f28132b50d29 Suivi stoppé (depuis Linux\ 2.6.33) .TP W Paging (seulement avant Linux\ 2.6.0) .TP X Mort (depuis Linux\ 2.6.0) .TP x .\" commit 44d90df6b757c59651ddd55f1a84f28132b50d29 .\" commit 74e37200de8e9c4e09b70c21c3f13c2071e77457 Mort (Linux\ 2.6.33 à 3.13 seulement) .TP K .\" commit 44d90df6b757c59651ddd55f1a84f28132b50d29 .\" commit 74e37200de8e9c4e09b70c21c3f13c2071e77457 Wakekill (Linux\ 2.6.33 à 3.13 seulement) .TP W .\" commit 44d90df6b757c59651ddd55f1a84f28132b50d29 .\" commit 74e37200de8e9c4e09b70c21c3f13c2071e77457 Waking (Linux\ 2.6.33 à 3.13 seulement) .TP P .\" commit f2530dc71cf0822f90bb63ea4600caaef33a66bb .\" commit 74e37200de8e9c4e09b70c21c3f13c2071e77457 Parked (Linux\ 3.9 à 3.13 seulement) .TP I .\" commit 06eb61844d841d0032a9950ce7f8e783ee49c0d0 Idle (à partir de Linux\ 4.14) .RE .TP (4) \fIppid\fP \ %d PID du parent du processus. .TP (5) \fIpgrp\fP \ %d Identifiant de groupe de processus du processus. .TP (6) \fIsession\fP \ %d Identifiant de session du processus. .TP (7) \fItty_nr\fP \ %d 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 dans les bits 15\ à\ 8). .TP (8) \fItpgid\fP \ %d .\" This field and following, up to and including wchan added 0.99.1 Identifiant du groupe de processus d'arrière\-plan du terminal de contrôle du processus. .TP (9) \fIflags\fP \ %u Mot contenant les indicateurs du noyau pour le processus. Pour en savoir plus sur la signification des bits, consulter les définitions de PF_* dans le fichier \fIinclude/linux/sched.hE\fP des sources du noyau Linux. Les détails dépendent de la version du noyau. .IP Le format de ce champ était %lu avant Linux\ 2.6. .TP (10) \fIminflt\fP \ %lu 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. .TP (11) \fIcminflt\fP \ %lu Nombre de fautes mineures que les enfants en attente du processus ont déclenchées. .TP (12) \fImajflt\fP \ %lu 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. .TP (13) \fIcmajflt\fP \ %lu Nombre de fautes majeures que les enfants en attente du processus ont déclenchées. .TP (14) \fIutime\fP \ %lu Temps passé en mode utilisateur par le processus, mesuré en top d'horloge (divisé par \fIsysconf(_SC_CLK_TCK)\fP). Cela comprend le temps de client, \fIguest_time\fP (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. .TP (15) \fIstime\fP \ %lu Temps passé en mode noyau par le processus, mesuré en top d'horloge (divisé par \fIsysconf(_SC_CLK_TCK)\fP). .TP (16) \fIcutime\fP \ %ld Temps passé en mode utilisateur par les enfants attendant le processus, mesuré en top d'horloge (divisé par \fIsysconf(_SC_CLK_TCK)\fP). Consulter aussi \fBtimes\fP(2)). Cela comprend le temps de client, \fIcguest_time\fP (temps passé à exécuter un processeur virtuel, voir plus loin). .TP (17) \fIcstime\fP \ %ld Temps passé en mode noyau par les enfants attendant le processus, mesuré en top d'horloge (divisé par \fIsysconf(_SC_CLK_TCK)\fP). .TP (18) \fIpriority\fP \ %ld (Explications pour Linux\ 2.6) Pour les processus s'exécutant sous une politique d'ordonnancement temps réel (\fIpolicy\fP plus loin\ ; voir \fBsched_setscheduler\fP(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 (\fBsetpriority\fP(2)) comme représentée dans le noyau. Le noyau enregistre les valeurs de courtoisie sous forme de nombres dans l'intervalle\ 0 (haute) à 39 (faible), correspondant à un intervalle de courtoisie visible par l'utilisateur de \-20\ à\ 19. .IP .\" And back in Linux 1.2 days things were different again. Avant Linux\ 2.6, c'était une valeur d'échelle basée sur la pondération de l'ordonnanceur fournie au processus. .TP (19) \fInice\fP \ %ld .\" Back in Linux 1.2 days things were different. .\" .TP .\" \fIcounter\fP %ld .\" The current maximum size in jiffies of the process's next timeslice, .\" or what is currently left of its current timeslice, if it is the .\" currently running process. .\" .TP .\" \fItimeout\fP %u .\" The time in jiffies of the process's next timeout. .\" timeout was removed sometime around 2.1/2.2 Valeur de courtoisie (consulter \fBsetpriority\fP(2)), une valeur dans l'intervalle\ 19 (faible priorité) à \-19 (haute priorité). .TP (20) \fInum_threads\fP \ %ld 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. .TP (21) \fIitrealvalue\fP \ %ld Nombre de jiffies avant que le signal \fBSIGALRM\fP 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. .TP (22) \fIstarttime\fP \ %llu Moment 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 \fIsysconf(_SC_CLK_TCK)\fP). .IP Le format de ce champ était %lu avant Linux\ 2.6. .TP (23) \fIvsize\fP \ %lu Taille de la mémoire virtuelle en octets. .TP (24) \fIrss\fP \ %ld 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ées et pile. Cela n'inclut ni les pages en attente de chargement ni celles qui ont été déchargées. Cette valeur est imprécise, consulter \fI/proc/\fPpid\fI/statm\fP ci\-après. .TP (25) \fIrsslim\fP \ %lu Limite souple actuelle en octets du RSS du processus\ ; consulter la description de \fBRLIMIT_RSS\fP dans \fBgetrlimit\fP(2). .TP (26) \fIstartcode\fP \ %lu \ [PT] Adresse au\-dessus de laquelle le code du programme peut s'exécuter. .TP (27) \fIendcode\fP \ %lu \ [PT] Adresse au\-dessous de laquelle le code du programme peut s'exécuter. .TP (28) \fIstartstack\fP \ %lu \ [PT] Adresse de début (c'est\-à\-dire le bas) de la pile. .TP (29) \fIkstkesp\fP \ %lu \ [PT] Valeur actuelle du pointeur de pile (ESP), telle qu'on la trouve dans la page de pile du noyau pour ce processus. .TP (30) \fIkstkeip\fP \ %lu \ [PT] EIP actuel (pointeur d'instructions). .TP (31) \fIsignal\fP \ %lu 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. Utiliser plutôt \fI/proc/\fPpid\fI/status\fP. .TP (32) \fIblocked\fP \ %lu 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. Utiliser plutôt \fI/proc/\fPpid\fI/status\fP. .TP (33) \fIsigignore\fP \ %lu 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. Utiliser plutôt \fI/proc/\fPpid\fI/status\fP. .TP (34) \fIsigcatch\fP \ %lu 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. Utiliser plutôt \fI/proc/\fPpid\fIstatus\fP. .TP (35) \fIwchan\fP \ %lu \ [PT] «\ 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 \fI/proc/\fPpid\fI/wchan\fP. .TP (36) \fInswap\fP \ %lu .\" nswap was added in Linux 2.0 Nombre de pages déplacées sur l'espace d'échange (non maintenu). .TP (37) \fIcnswap\fP \ %lu .\" cnswap was added in Linux 2.0 Champ \fInswap\fP cumulé pour les processus enfant (non maintenu). .TP (38) \fIexit_signal\fP \ %d \ (depuis Linux 2.1.22) Signal à envoyer au parent lors de la mort du processus. .TP (39) \fIprocessor\fP \ %d \ (depuis Linux 2.2.8) Numéro du processeur utilisé lors de la dernière exécution. .TP (40) \fIrt_priority\fP \ %u \ (depuis Linux 2.5.19) 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 (consulter \fBsched_setscheduler\fP(2)). .TP (41) \fIpolicy\fP \ %u \ (depuis Linux 2.5.19) Politique d'ordonnancement (consulter \fBsched_setscheduler\fP(2)). Décoder avec les constantes SCHED_* de \fIlinux/sched.h\fP. .IP Le format de ce champ était %lu avant Linux\ 2.6.22. .TP (42) \fIdelayacct_blkio_ticks\fP \ %llu \ (depuis Linux 2.6.18) Cumul des délais d'entrées et sorties, mesuré en top horloge (centième de seconde). .TP (43) \fIguest_time\fP \ %lu \ (depuis Linux 2.6.24) 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 \fIsysconf(_SC_CLK_TCK)\fP). .TP (44) \fIcguest_time\fP \ %ld \ (depuis Linux 2.6.24) Temps de client des enfants du processus, mesuré en top d'horloge (divisé par \fIsysconf(_SC_CLK_TCK)\fP). .TP (45) \fIstart_data\fP \ %lu \ (depuis Linux 3.3) \ [PT] .\" commit b3f7f573a20081910e34e99cbc91831f4f02f1ff Adresse au\-dessus de laquelle des données (BSS) initialisées ou non sont placées. .TP (46) \fIend_data\fP \ %lu \ (depuis Linux 3.3) \ [PT] .\" commit b3f7f573a20081910e34e99cbc91831f4f02f1ff Adresse en dessous de laquelle des données (BSS) initialisées ou non sont placées. .TP (47) \fIstart_brk\fP \ %lu \ (depuis Linux 3.3) \ [PT] .\" commit b3f7f573a20081910e34e99cbc91831f4f02f1ff Adresse au\-dessus de laquelle le tas du programme peut être étendu avec \fBbrk\fP(2). .TP (48) \fIarg_start\fP \ %lu \ (depuis Linux 3.5) \ [PT] .\" commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3 Adresse au\-dessus de laquelle les arguments de ligne de commande (\fIargv\fP) sont placés. .TP (49) \fIarg_end\fP \ %lu \ (depuis Linux 3.5) \ [PT] .\" commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3 Adresse en dessous de laquelle les arguments de ligne de commande (\fIargv\fP) sont placés. .TP (50) \fIenv_start\fP \ %lu \ (depuis Linux 3.5) \ [PT] .\" commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3 Adresse au\-dessus de laquelle l’environnement du programme est placé. .TP (51) \fIenv_end\fP \ %lu \ (depuis Linux 3.5) \ [PT] .\" commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3 Adresse en dessous de laquelle l’environnement du programme est placé. .TP (52) \fIexit_code\fP \ %d \ (depuis Linux 3.5) \ [PT] .\" commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3 Le code de retour du thread dans la forme rapportée par \fBwaitpid\fP(2). .RE .TP \fI/proc/\fPpid\fI/statm\fP Informations sur l'utilisation de la mémoire, mesurée en pages. Les colonnes représentent\ : .IP .in +4n .EX .\" (not including libs; broken, includes data segment) .\" (including libs; broken, includes library text) size (1) taille totale du programme (comme pour VmSize dans \fI/proc/\fPpid\fIstatus\fP) resident (2) taille résidant en mémoire (non précis ; comme pour VmRSS dans \fI/proc/\fPpid\fI/status\fP) share (3) nombre de pages partagées résidentes (c'est\-à\-dire sauvegardées dans un fichier) (non précis ; comme pour RssFile+RssShmem dans \fI/proc/\fPpid\fI/status\fP) text (4) texte (code) lib (5) bibliothèque (inutilisé dans Linux 2.6) ; toujours 0 data (6) données et pile dt (7) pages sales (inutilisé dans Linux 2.6) ; toujours 0 .EE .in .IP .\" See SPLIT_RSS_COUNTING in the kernel. .\" Inaccuracy is bounded by TASK_RSS_EVENTS_THRESH. Certaines de ces valeurs sont imprécises à cause de l’optimisation d’échelle interne au noyau. Si des valeurs précises sont nécessaires, il est préférable d'utiliser \fI/proc/\fPpid\fI/smaps\fP ou \fI/proc/\fPpid\fI/smaps_rollup\fP, ce qui est plus lent, mais fournit des informations détaillées précises. .TP \fI/proc/\fPpid\fI/status\fP Essentiel des informations de \fI/proc/\fPpid\fI/stat\fP et \fI/proc/\fPpid\fI/statm\fP dans un format plus facile à lire pour les humains. Voici un exemple\ : .IP .in +4n .EX $\fB cat /proc/$$/status\fP Name: bash Umask: 0022 State: S (sleeping) Tgid: 17248 Ngid: 0 Pid: 17248 PPid: 17200 TracerPid: 0 Uid: 1000 1000 1000 1000 Gid: 100 100 100 100 FDSize: 256 Groups: 16 33 100 NStgid: 17248 NSpid: 17248 NSpgid: 17248 NSsid: 17200 VmPeak: 131168 kB VmSize: 131168 kB VmLck: 0 kB VmPin: 0 kB VmHWM: 13484 kB VmRSS: 13484 kB RssAnon: 10264 kB RssFile: 3220 kB RssShmem: 0 kB VmData: 10332 kB VmStk: 136 kB VmExe: 992 kB VmLib: 2104 kB VmPTE: 76 kB VmPMD: 12 kB VmSwap: 0 kB HugetlbPages: 0 kB # 4.4 CoreDumping: 0 # 4.15 Threads: 1 SigQ: 0/3067 SigPnd: 0000000000000000 ShdPnd: 0000000000000000 SigBlk: 0000000000010000 SigIgn: 0000000000384004 SigCgt: 000000004b813efb CapInh: 0000000000000000 CapPrm: 0000000000000000 CapEff: 0000000000000000 CapBnd: ffffffffffffffff CapAmb: 0000000000000000 NoNewPrivs: 0 Seccomp: 0 Speculation_Store_Bypass: vulnerable Cpus_allowed: 00000001 Cpus_allowed_list: 0 Mems_allowed: 1 Mems_allowed_list: 0 voluntary_ctxt_switches: 150 nonvoluntary_ctxt_switches: 545 .EE .in .IP Les champs sont les suivants\ : .RS .TP \fIName\fP Commande exécutée par ce processus. Les chaînes plus longues que \fBTASK_COMM_LEN\fP (16) caractères (incluant l’octet NULL final) sont silencieusement tronquées. .TP \fIUmask\fP umask du processus, exprimé en octal avec un zéro en tête (depuis Linux\ 4.7.). Consulter \fBumask\fP(2). .TP \fIState\fP État actuel du processus parmi les valeurs\ : «\ R (running)\ », «\ S (sleeping)\ », «\ D (disk sleep)\ », «\ T (stopped)\ », «\ T (tracing stop)\ », «\ Z (zombie)\ » ou «\ X (dead)\ ». .TP \fITgid\fP ID du groupe de threads (c'est\-à\-dire ID du processus). .TP \fINgid\fP ID de groupe NUMA (0 si absent\ ; depuis Linux\ 3.13). .TP \fIPid\fP ID de thread (consulter \fBgettid\fP(2)). .TP \fIPPid\fP PID du processus parent. .TP \fITracerPid\fP PID du processus traçant ce processus (0 s'il n'est pas tracé). .TP \fIUid\fP, \fIGid\fP Ensemble des UID (GID) réel, effectif, sauvé et de système de fichiers. .TP \fIFDSize\fP Nombre de slots de descripteurs de fichier actuellement alloués. .TP \fIGroups\fP Liste des groupes supplémentaires. .TP \fINStgid\fP .\" commit e4bc33245124db69b74a6d853ac76c2976f472d5 ID de groupe de threads (c’est\-à\-dire PID) dans chacun des espaces de noms PID dont \fIpid\fP est membre. L’enregistrement le plus à gauche affiche la valeur selon l’espace de noms PID du processus ayant monté ce procfs (ou l’espace de noms root si monté par le noyau), suivi de la valeur dans les espaces de noms imbriqués successifs (depuis Linux\ 4.1). .TP \fINSpid\fP ID de thread dans chaque espace de noms PID dont \fIpid\fP est membre. Les champs sont ordonnés comme pour \fINStgid\fP (depuis Linux\ 4.1). .TP \fINSpgid\fP ID de groupe de processus dans chaque espace de noms PID dont \fIpid\fP est membre. Les champs sont ordonnés comme pour \fINStgid\fP (depuis Linux\ 4.1)x .TP \fINSsid\fP ID de session dans chaque espace de noms PID dont \fIpid\fP est membre. Les champs sont ordonnés comme pour \fINStgid\fP (depuis Linux\ 4.1.) .TP \fIVmPeak\fP Taille de pic de mémoire virtuelle. .TP \fIVmSize\fP Taille de la mémoire virtuelle. .TP \fIVmLck\fP Taille de mémoire verrouillée (consulter \fBmlock\fP(3)). .TP \fIVmPin\fP .\" commit bc3e53f682d93df677dbd5006a404722b3adfe18 Taille de mémoire épinglée (depuis Linux\ 3.2). Ce sont des pages qui ne peuvent être déplacées parce que quelque chose a besoin d’accéder directement à la mémoire physique. .TP \fIVmHWM\fP Taille de pic d’ensemble résident («\ high water mark\ »). Cette valeur est imprécise, consulter \fI/proc/\fPpid\fI/statm\fP ci\-dessus. .TP \fIVmRSS\fP Taille d’ensemble résident. Il est à remarquer que cette valeur ici est la somme de \fIRssAnon\fP, \fIRssFile\fP et \fIRssShmem\fP. Cette valeur est imprécise, consulter \fI/proc/\fPpid\fI/statm\fP ci\-dessus. .TP \fIRssAnon\fP .\" commit bf9683d6990589390b5178dafe8fd06808869293 Taille de la mémoire anonyme résidente (depuis Linux\ 4.5). Cette valeur est imprécise, consulter \fI/proc/\fPpid\fI/statm\fP ci\-dessus. .TP \fIRssFile\fP .\" commit bf9683d6990589390b5178dafe8fd06808869293 Taille des mappages résidents de fichier (depuis Linux\ 4.5). Cette valeur est imprécise, consulter \fI/proc/\fPpid\fI/statm\fP ci\-dessus. .TP \fIRssShmem\fP .\" commit bf9683d6990589390b5178dafe8fd06808869293 Taille de la mémoire résidente partagée (inclut la mémoire partagée de System\ V, les mappages de \fBtmpfs\fP(5) et les mappages partagés anonymes) (depuis Linux\ 4.5). .TP \fIVmData\fP, \fIVmStk\fP, \fIVmExe\fP Taille des données, de pile et des segments de texte. Cette valeur est imprécise, consulter \fI/proc/\fPpid\fI/statm\fP ci\-dessus. .TP \fIVmLib\fP Taille du code de bibliothèque partagée. .TP \fIVmPTE\fP Taille des enregistrements de table de pages (depuis Linux\ 2.6.10). .TP \fIVmPMD\fP .\" commit dc6c9a35b66b520cf67e05d8ca60ebecad3b0479 Taille des tables de pages de second niveau (ajouté dans Linux\ 4.0, retiré dans Linux\ 4.15). .TP \fIVmSwap\fP .\" commit b084d4353ff99d824d3bc5a5c2c22c70b1fba722 Taille de mémoire virtuelle mise en espace d’échange par des pages privées anonymes. L’utilisation d’espace d’échange n’est pas incluse (depuis Linux\ 2.6.34). Cette valeur est imprécise, consulter \fI/proc/\fPpid\fI/statm\fP ci\-dessus. .TP \fIHugetlbPages\fP .\" commit 5d317b2b6536592a9b51fe65faed43d65ca9158e Taille des sections de mémoire hugetlb (depuis Linux\ 4.4). .TP \fICoreDumping\fP .\" commit c643401218be0f4ab3522e0c0a63016596d6e9ca Ce champ contient la valeur\ 1 si le processus réalise actuellement un cliché du système et\ 0 dans le cas contraire (depuis Linux\ 4.15). Cette information peut être utilisée par un processus de supervision pour éviter de tuer un processus réalisant actuellement un cliché, ce qui pourrait aboutir à la corruption du fichier de cliché. .TP \fIThreads\fP Nombre de threads dans le processus contenant ce thread. .TP \fISigQ\fP 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 (consulter la description de \fBRLIMIT_SIGPENDING\fP dans \fBgetrlimit\fP(2)). .TP \fISigPnd\fP, \fIShdPnd\fP Masque (en hexadécimal) de signaux en attente pour le thread et pour le processus dans son ensemble (consulter \fBpthreads\fP(7) et \fBsignal\fP(7)). .TP \fISigBlk\fP, \fISigIgn\fP, \fISigCgt\fP Masques (en hexadécimal) indiquant les signaux bloqués, ignorés et interceptés (consulter \fBsignal\fP(7)). .TP \fICapInh\fP, \fICapPrm\fP, \fICapEff\fP Masques (en hexadécimal) des capacités actives dans les ensembles héritables permis et effectifs (consulter \fBcapabilities\fP(7)). .TP \fICapBnd\fP Ensemble des limitations de capacité en hexadécimal (depuis Linux\ 2.6.26, consulter \fBcapabilities\fP(7)). .TP \fICapAmb\fP Ensemble ambiant des capacités en hexadécimal (depuis Linux\ 4.3, consulter \fBcapabilities\fP(7)). .TP \fINoNewPrivs\fP .\" commit af884cd4a5ae62fcf5e321fecf0ec1014730353d Valeur du bit \fIno_new_privs\fP (depuis Linux\ 4.10, consulter \fBprctl\fP(2)). .TP \fISeccomp\fP .\" commit 2f4b3bf6b2318cfaa177ec5a802f4d8d6afbd816 Mode seccomp du processus (depuis Linux\ 3.8, consulter \fBseccomp\fP(2)).\ 0 signifie \fBSECCOMP_MODE_DISABLED\fP, 1 \fBSECCOMP_MODE_STRICT\fP, 2 \fBSECCOMP_MODE_FILTER\fP. Ce champ est fourni seulement si le noyau a été construit avec l’option de configuration \fBCONFIG_SECCOMP\fP activée. .TP \fISpeculation_Store_Bypass\fP .\" commit fae1fa0fc6cca8beee3ab8ed71d54f9a78fa3f64 État de mitigation du défaut «\ Speculation\ » (depuis Linux\ 4.17, consulter \fBprctl\fP(2)). .TP \fICpus_allowed\fP Masque en hexadécimal des processeurs sur lesquels le processus peut s'exécuter (depuis Linux\ 2.6.24, consulter \fBcpuset\fP(7)). .TP \fICpus_allowed_list\fP Pareil que précédemment, mais au format liste (depuis Linux\ 2.6.26, consulter \fBcpuset\fP(7)). .TP \fIMems_allowed\fP Masque des nœuds mémoire autorisés pour ce processus (depuis Linux\ 2.6.24, consulter \fBcpuset\fP(7)). .TP \fIMems_allowed_list\fP Pareil que précédemment, mais au format liste (depuis Linux\ 2.6.26, consulter \fBcpuset\fP(7)). .TP \fIvoluntary_ctxt_switches\fP, \fInonvoluntary_ctxt_switches\fP Nombre de basculements de contexte, volontaires ou non (depuis Linux\ 2.6.23). .RE .TP \fI/proc/\fPpid\fI/syscall\fP (depuis Linux 2.6.27) .\" commit ebcb67341fee34061430f3367f2e507e52ee051b Ce fichier expose les numéros d'appel système et les registres d’argument pour l'appel système en cours d’exécution par le processus, suivis des valeurs des registres de pointeur de pile et de compteur de programme. Les valeurs des six registres d’argument sont exposées, bien que la plupart des appels système en utilisent moins. .IP Si le processus est bloqué, mais pas dans un appel système, alors le fichier affiche \-1 à la place du numéro d’appel système, suivi seulement des valeurs du pointeur de pile et du compteur de programme. Si le processus n’est pas bloqué, le fichier ne contient que la chaîne «\ running\ ». .IP Ce fichier n'est présent que si le noyau a été configuré avec l'option \fBCONFIG_HAVE_ARCH_TRACEHOOK\fP. .IP La permission d’accéder à ce fichier est régie par une vérification du mode d’accès ptrace \fBPTRACE_MODE_ATTACH_FSCREDS\fP\ ; consulter \fBptrace\fP(2). .TP \fI/proc/\fPpid\fI/task\fP (depuis Linux 2.6.0) .\" Precisely: Linux 2.6.0-test6 C’est un répertoire contenant un sous\-répertoire pour chaque thread du processus. Le nom de chaque sous\-répertoire est l’ID numérique de thread (\fItid\fP) du thread (consulter \fBgettid\fP(2)). .IP .\" in particular: "children" :/ Dans chacun de ces sous\-répertoires se trouve un ensemble de fichiers ayant les mêmes noms et contenus que ceux des répertoires \fI/proc/\fPpid. Pour les attributs qui sont partagés par tous les processus, le contenu de chacun des fichiers se trouvant dans le sous\-répertoire \fItask/\fPtid sera identique à celui correspondant dans le répertoire parent \fI/proc/\fPpid (par exemple, pour une tâche multiprocessus, tous les fichiers \fItask/\fPtid\fI/cwd\fP auront le même contenu que le fichier \fI/proc/\fPpid\fI/cwd\fP dans le répertoire parent, puisque tous les threads d'un processus partagent le même répertoire de travail). Pour les attributs qui sont distincts pour chacun des threads, les fichiers correspondants sous \fItask/\fPtid peuvent être différents (par exemple, certains champs de chacun de fichiers \fItask/\fPtid\fI/status\fP peuvent être différents pour chaque thread) ou peuvent ne pas exister du tout dans \fIproc/\fPpid. .IP .\" The following was still true as at kernel 2.6.13 Dans un traitement multiprocessus, le contenu du répertoire \fI/proc/\fPpid\fI/task\fP n'est pas disponible si le processus principal est déjà terminé (typiquement lors de l'appel \fBpthread_exit\fP(3)). .TP \fI/proc/\fPpid\fI/task/\fPtid\fI/children\fP (depuis Linux 3.5) .\" commit 818411616baf46ceba0cff6f05af3a9b294734f7 C’est une liste de tâches enfant séparées par des espaces, chaque tâche étant représentée par son TID. .IP .\" see comments in get_children_pid() in fs/proc/array.c Cette option est destinée à une utilisation pour le système CRIU (Checkpoint/Restore In Userspace) et fournit de manière fiable une liste d’enfant seulement si tous les processus enfant sont stoppés ou gelés. Cela ne fonctionne pas correctement si l’enfant de la tâche cible s’arrête tandis que le fichier est en cours de lecture\ ! L’enfant quittant peut faire que les enfants non quittant soient omis de la liste. Cela rend cette interface encore moins fiable que les approches classiques basées sur les PID si la tâche inspectée et ses enfants ne sont pas gelés, et la plupart des codes n’utiliseront probablement pas cette interface. .IP .\" commit 2e13ba54a2682eea24918b87ad3edf70c2cf085b Jusqu’à Linux\ 4.2, la présence de ce fichier était régie par l’option de configuration du noyau \fBCONFIG_CHECKPOINT_RESTORE\fP. Depuis Linux 4.2, elle est régie par l’option \fBCONFIG_PROC_CHILDREN\fP. .TP \fI/proc/\fPpid\fI/timers\fP (depuis Linux 3.10) .\" commit 5ed67f05f66c41e39880a6d61358438a25f9fee5 .\" commit 48f6a7a511ef8823fdff39afee0320092d43a8a0 C’est une liste des temporisateurs POSIX pour ce processus. Chaque temporisateur est indiqué par une ligne commençant par la chaîne «\ ID:\ ». Par exemple\ : .IP .in +4n .EX ID: 1 signal: 60/00007fff86e452a8 notify: signal/pid.2634 ClockID: 0 ID: 0 signal: 60/00007fff86e452a8 notify: signal/pid.2634 ClockID: 1 .EE .in .IP Les lignes montrées pour chaque temporisateur ont les significations suivantes\ : .RS .TP \fIID\fP L’identifiant de ce temporisateur. Ce n’est pas la même chose que l’identifiant de temporisateur renvoyé par \fBtimer_create\fP(2). C’est plutôt le même identifiant interne au noyau qui est disponible à l’aide du champ \fIsi_timerid\fP de la structure \fIsiginfo_t\fP (consulter \fBsigaction\fP(2)). .TP \fIsignal\fP C’est le numéro du signal que ce temporisateur utilise pour délivrer les notifications, suivi d’une barre oblique et de la valeur \fIsigev_value\fP fournie au gestionnaire de signal. Valable uniquement pour les temporisateurs qui notifient à l’aide d’un signal. .TP \fInotify\fP La partie qui précède la barre oblique indique le mécanisme que ce temporisateur utilise pour délivrer des notifications, à savoir «\ thread\ », «\ signal\ » ou «\ none\ ». Directement après la barre oblique, c’est soit la chaîne «\ tid\ » pour les temporisateurs avec notification \fBSIGEV_THREAD_ID\fP, soit «\ pid\ » pour les temporisateurs qui notifient avec d’autres mécanismes. Après le «\ .\ », c’est le PID du processus (ou l’ID de thread du noyau du thread) auquel un signal sera délivré si le temporisateur délivre les notifications à l’aide d’un signal. .TP \fIClockID\fP Ce champ identifie l’horloge utilisée par le temporisateur pour mesurer le temps. Pour la plupart des horloges, c’est un nombre qui correspond à une des constantes \fBCLOCK_*\fP exposées en espace utilisateur à l’aide de \fI\fP. Les temporisateurs \fBCLOCK_PROCESS_CPUTIME_ID\fP affichent la valeur \-6 dans ce champ. Les temporisateurs \fBCLOCK_THREAD_CPUTIME_ID\fP affichent la valeur \-2 dans ce champ. .RE .IP Ce fichier n'est disponible que si le noyau a été configuré avec l'option \fBCONFIG_CHECKPOINT_RESTORE\fP. .TP \fI/proc/\fPpid\fI/timerslack_ns\fP (depuis Linux 4.6) .\" commit da8b44d5a9f8bf26da637b7336508ca534d6b319 .\" commit 5de23d435e88996b1efe0e2cebe242074ce67c9e Ce fichier expose la valeur du délai des temporisateurs «\ actuelle\ »,exprimée en nanosecondes. Le fichier est éditable, permettant de modifier cette valeur. Inscrire\ 0 réinitialise la valeur du délai «\ actuelle\ » à celle par défaut. Pour davantage de détails, consulter l’explication de \fBPR_SET_TIMERSLACK\fP dans \fBprctl\fP(2). .IP .\" commit 7abbaf94049914f074306d960b0f968ffe52e59f Initialement la permission d’accéder à ce fichier était régie par une vérification du mode d’accès ptrace \fBPTRACE_MODE_ATTACH_FSCREDS\fP (consulter \fBptrace\fP(2)). Cependant, cela a été jugé ultérieurement trop strict (et avait l’effet de bord que requérir qu’un processus ait la capacité \fBCAP_SYS_PTRACE\fP l’autoriserait à voir et à modifier n’importe quelle mémoire du processus). Par conséquent, depuis Linux\ 4.9, seule la capacité (plus faible) \fBCAP_SYS_NICE\fP est requise pour accéder à ce fichier. .TP \fI/proc/\fPpid\fI/uid_map\fP (depuis Linux 3.5) Consulter \fBuser_namespaces\fP(7). .TP \fI/proc/\fPpid\fI/wchan\fP (depuis Linux 2.6.0) Le nom symbolique correspondant à l’endroit dans le noyau où le processus est endormi. .IP La permission d’accéder à ce fichier est régie par une vérification \fBPTRACE_MODE_READ_FSCREDS\fP de mode d’accès ptrace. Consulter \fBptrace\fP(2). .TP \fI/proc/\fPtid Un sous\-répertoire numérique existe pour chaque thread en cours d’exécution qui n’est pas un leader de groupe de threads (c’est\-à\-dire un thread dont l’ID de thread n’est pas le même que celui son ID de processus). Ce sous\-répertoire est nommé selon son ID de thread. Chacun de ces sous\-répertoires contient des fichiers et des sous\-répertoires exposant des informations à propos du thread ayant l’ID de thread \fItid\fP. Le contenu de ces répertoires est le même que les répertoires \fI/proc/\fPpid\fI/task/\fPtid correspondants. .IP Les sous\-répertoires \fI/proc/\fPtid ne sont \fIpas\fP visibles lors d’une itération à travers \fI/proc\fP avec \fBgetdents\fP(2) (et par conséquent ne sont \fIpas\fP visibles lors d’une utilisation de \fBls\fP(1) pour voir le contenu de \fI/proc\fP). Cependant, les chemins de ces répertoires sont visibles (c’est\-à\-dire utilisables comme arguments) pour les appels système qui opèrent sur des chemins. .TP \fI/proc/apm\fP La version du système de gestion de puissance APM et les informations sur l'état de la batterie si la constante \fBCONFIG_APM\fP est définie à la compilation du noyau. .TP \fI/proc/buddyinfo\fP Ce fichier contient des informations qui sont utilisées pour le diagnostic de problèmes de fragmentation de mémoire. Chaque ligne commence avec l’identification du nœud et le nom de la zone qui ensemble identifient la région de mémoire. Vient ensuite le compte de blocs (chunks) disponibles d’un certain ordre dans lesquels ces zones sont fragmentées. La taille en octets d’un certain ordre est donnée par la formule\ : .IP .in +4n .EX (2\[ha]ordre)\ *\ PAGE_SIZE .EE .in .IP L’algorithme binaire d’allocation du compagnon («\ binary buddy allocator algorithm\ ») à l’intérieur du noyau divisera un bloc en deux blocs d’ordre plus petit (par conséquent de taille moitié) ou combinera deux blocs contigus en un bloc d’ordre plus grand (par conséquent de taille double) pour satisfaire les requêtes d’allocation et pour compter la fragmentation de mémoire. L’ordre correspond au numéro de colonne lors d’un comptage commençant à zéro. .IP Par exemple, sur un système x86\-64\ :: .RS -12 .EX Node 0, zone DMA 1 1 1 0 2 1 1 0 1 1 3 Node 0, zone DMA32 65 47 4 81 52 28 13 10 5 1 404 Node 0, zone Normal 216 55 189 101 84 38 37 27 5 3 587 .EE .RE .IP Dans cet exemple, il y a un nœud contenant trois zones et il y a 11\ tailles différentes de bloc. Si la taille de page est de 4\ kilooctets, la première zone appelée \fIDMA\fP (sur x86, les 16\ premiers mégaoctets de mémoire) possède 1\ bloc de 4\ kilooctets (ordre\ 0) disponible et 3\ blocs de 4\ mégaoctets (ordre\ 10) disponibles. .IP Si la mémoire est intensément fragmentée, les compteurs pour des blocs d’ordre plus élevé seront à zéro et l’allocation de grandes zones continues échouera. .IP Plus d’information sur les zones sont disponibles dans \fI/proc/zoneinfo\fP. .TP \fI/proc/bus\fP Répertoire contenant des sous\-répertoires pour les bus installés. .TP \fI/proc/bus/pccard\fP Répertoire pour les périphériques PCMCIA si la constante \fBCONFIG_PCMCIA\fP était définie à la compilation du noyau. .TP \fI/proc/bus/pccard/drivers\fP .TP \fI/proc/bus/pci\fP Ce répertoire contient divers sous\-répertoires de bus, et des pseudofichiers recelant des informations sur les bus PCI, les périphériques installés et leurs pilotes. Certains de ces fichiers ne sont pas en ASCII. .TP \fI/proc/bus/pci/devices\fP Informations sur les périphériques PCI. Elles sont accessibles à l'aide de \fBlspci\fP(8) et \fBsetpci\fP(8). .TP \fI/proc/cgroups\fP (depuis Linux 2.6.24) Consulter \fBcgroups\fP(7). .TP \fI/proc/cmdline\fP Arguments passés au noyau Linux lors de l’amorçage. Cela se fait généralement par l'intermédiaire d'un gestionnaire d’amorçage comme \fBlilo\fP(8) ou \fBgrub\fP(8). Tout argument incorporé dans l’image du noyau ou initramfs à l’aide de \fBCONFIG_BOOT_CONFIG\fP sera aussi affiché. .TP \fI/proc/config.gz\fP (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 \fI.config\fP résultant de la configuration du noyau (en utilisant \fImake xconfig\fP, \fImake config\fP ou autre). Le contenu du fichier est compressé\ ; parcourez\-le ou effectuez des recherches avec \fBzcat\fP(1) et \fBzgrep\fP(1). Tant qu'il n'y a pas de changement dans les fichiers qui suivent, le contenu de \fI/proc/config.gz\fP est identique à celui fourni par\ : .IP .in +4n .EX cat /lib/modules/$(uname \-r)/build/.config .EE .in .IP \fI/proc/config.gz\fP n'est fourni que si le noyau est configuré avec l'option \fBCONFIG_IKCONFIG_PROC\fP. .TP \fI/proc/crypto\fP .\" commit 3b72c814a8e8cd638e1ba0da4dfce501e9dff5af Liste des chiffrements fournis par l’API crypto du noyau. Pour des détails, consulter la documentation \fILinux Kernel Crypto API\fP du noyau disponible dans le répertoire des sources du noyau \fIDocumentation/crypto/\fP (ou \fIDocumentation/DocBook\fP avant Linux\ 4.10. La documentation peut être construite en utilisant une commande telle que \fImake\ htmldocs\fP dans le répertoire racine de l’arbre des sources du noyau). .TP \fI/proc/cpuinfo\fP Il s'agit d’une collection d'informations dépendantes de l'architecture du système et du processeur, une liste différente pour chaque architecture prise en charge. Les deux enregistrements communs sont \fIprocessor\fP qui donne le nombre de processeurs et \fIbogomips\fP, une constante système calculée pendant l'initialisation du noyau. Les machines SMP ont des informations pour chaque processeur. La commande \fBlscpu\fP(1) récupère ses informations depuis ce fichier. .TP \fI/proc/devices\fP 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. .TP \fI/proc/diskstats\fP (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 des sources du noyau Linux \fIDocumentation/admin\-guide/iostats.rst\fP (ou \fIDocumentation/iostats.txt\fP avant Linux\ 5.3) pour plus d'informations. .TP \fI/proc/dma\fP Liste des canaux DMA (Direct Memory Acess) \fIISA\fP enregistrés en cours d'utilisation. .TP \fI/proc/driver\fP Sous\-répertoire vide. .TP \fI/proc/execdomains\fP Avant Linux\ 4.1, liste de «\ personality\ » d’ABI, maintenant une chaîne constante pour la compatibilité en espace utilisateur. .TP \fI/proc/fb\fP Information sur la mémoire d'écran Frame Buffer, lorsque la constante \fBCONFIG_FB\fP a été définie lors de la compilation du noyau. .TP \fI/proc/filesystems\fP Liste textuelle des systèmes de fichiers qui sont pris en charge 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 (consulter aussi \fBfilesystems\fP(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). .IP Ce fichier peut éventuellement être utilisé par \fBmount\fP(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 comporte ce fichier sont essayés (à l'exception de ceux qui sont marqués par «\ nodev\ »). .TP \fI/proc/fs\fP .\" FIXME Much more needs to be said about /proc/fs .\" Ce répertoire contient des sous\-répertoires qui contiennent à leur tour des fichiers contenant des informations sur certains systèmes de fichiers montés. .TP \fI/proc/ide\fP Ce répertoire existe sur les systèmes ayant un bus IDE. Il existe des répertoires pour chaque canal IDE et le périphérique attaché. Les fichiers contiennent\ : .IP .in +4n .EX 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 média model référence du modèle du fabricant settings configuration de périphérique smart_thresholds seuils en hexadécimal smart_values paramètres in hexadécimal .EE .in .IP L'utilitaire \fBhdparm\fP(8) fournit un accès convivial à ces informations. .TP \fI/proc/interrupts\fP Enregistrement du 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 en ASCII et est très facile à lire. .TP \fI/proc/iomem\fP Mappage des entrées et sorties en mémoire dans Linux\ 2.4. .TP \fI/proc/ioports\fP Liste des régions de port d’E/S autorisées en cours d'utilisation. .TP \fI/proc/kallsyms\fP (depuis Linux 2.5.71) Ce fichier contient les symboles exportés par le noyau et utilisés par les outils des \fBmodules\fP(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 \fIksyms\fP. .TP \fI/proc/kcore\fP Ce fichier représente la mémoire physique du système sous forme de fichier core ELF. À l'aide de ce pseudofichier et d'un binaire du noyau non dépouillé (unstrip) (\fI/usr/src/linux/vmlinux\fP), gdb peut être utilisé pour inspecter l'état en cours de n'importe quelle structure de données du noyau. .IP La longueur totale de ce fichier est la taille de la mémoire RAM physique plus 4\ Kio. .TP \fI/proc/keys\fP (depuis Linux 2.6.10) Consulter \fBkeyrings\fP(7). .TP \fI/proc/key\-users\fP (depuis Linux 2.6.10) Consulter \fBkeyrings\fP(7). .TP \fI/proc/kmsg\fP Ce fichier peut être utilisé à la place de l'appel système \fBsyslog\fP(2) pour lire les messages du noyau. Un processus doit avoir les privilèges du superutilisateur pour lire ce fichier, et un seul processus devrait le lire. Ce fichier ne devrait pas être lu si un processus syslog en cours d’exécution utilise l'appel système \fBsyslog\fP(2) pour journaliser les messages du noyau. .IP Les informations de ce fichier sont récupérées à l’aide du programme \fBdmesg\fP(1). .TP \fI/proc/kpagecgroup\fP (depuis Linux 4.3) .\" commit 80ae2fdceba8313b0433f899bdd9c6c463291a17 Ce fichier contient un numéro d’inœud en 64\ bits du cgroup de mémoire dans lequel chaque page est chargée, indexé par un numéro de trame de pages (consulter les explications de \fI/proc/\fPpid\fI/pagemap\fP). .IP Le fichier \fI/proc/kpagecgroup\fP n'est présent que si l'option de configuration du noyau \fBCONFIG_MEMCG\fP a été activée. .TP \fI/proc/kpagecount\fP (depuis Linux 2.6.25) Ce fichier contient un décompte en 64\ bits du nombre de fois que chaque trame de pages physique est mappée, indexé par un numéro de trame de pages (consulter les explications de \fI/proc/\fPpid\fI/pagemap\fP). .IP Le fichier \fI/proc/kpagecount\fP n'est présent que si l'option de configuration du noyau \fBCONFIG_PROC_PAGE_MONITOR\fP a été activée. .TP \fI/proc/kpageflags\fP (depuis Linux 2.6.25) Ce fichier contient des masques en 64\ bits correspondant à chaque trame de pages physique, indexés par un numéro de trame de pages (consulter les explications de \fI/proc/\fPpid\fI/pagemap\fP). Les bits sont les suivants\ : .RS .IP .TS r l l l. 0 \- KPF_LOCKED 1 \- KPF_ERROR 2 \- KPF_REFERENCED 3 \- KPF_UPTODATE 4 \- KPF_DIRTY 5 \- KPF_LRU 6 \- KPF_ACTIVE 7 \- KPF_SLAB 8 \- KPF_WRITEBACK 9 \- KPF_RECLAIM 10 \- KPF_BUDDY 11 \- KPF_MMAP (depuis Linux 2.6.31) 12 \- KPF_ANON (depuis Linux 2.6.31) 13 \- KPF_SWAPCACHE (depuis Linux 2.6.31) 14 \- KPF_SWAPBACKED (depuis Linux 2.6.31) 15 \- KPF_COMPOUND_HEAD (depuis Linux 2.6.31) 16 \- KPF_COMPOUND_TAIL (depuis Linux 2.6.31) 17 \- KPF_HUGE (depuis Linux 2.6.31) 18 \- KPF_UNEVICTABLE (depuis Linux 2.6.31) 19 \- KPF_HWPOISON (depuis Linux 2.6.31) 20 \- KPF_NOPAGE (depuis Linux 2.6.31) 21 \- KPF_KSM (depuis Linux 2.6.32) 22 \- KPF_THP (depuis Linux 3.4) 23 \- KPF_BALLOON (depuis Linux 3.18) .\" KPF_BALLOON: commit 09316c09dde33aae14f34489d9e3d243ec0d5938 24 \- KPF_ZERO_PAGE (depuis Linux 4.0) .\" KPF_ZERO_PAGE: commit 56873f43abdcd574b25105867a990f067747b2f4 25 \- KPF_IDLE (depuis Linux 4.3) .\" KPF_IDLE: commit f074a8f49eb87cde95ac9d040ad5e7ea4f029738 26 \- KPF_PGTABLE (depuis Linux 4.18) .\" KPF_PGTABLE: commit 1d40a5ea01d53251c23c7be541d3f4a656cfc537 .TE .RE .IP .\" commit ad3bdefe877afb47480418fdb05ecd42842de65e .\" commit e07a4b9217d1e97d2f3a62b6b070efdc61212110 Pour de plus amples détails sur la signification de ces bits, consulter le fichier \fIDocumentation/admin\-guide/mm/pagemap.rst\fP des sources du noyau. Avant Linux\ 2.6.29, \fBKPF_WRITEBACK\fP, \fBKPF_RECLAIM\fP, \fBKPF_BUDDY\fP et \fBKPF_LOCKED\fP ne fournissaient pas d'informations correctes. .IP Le fichier \fI/proc/kpageflags\fP n'est présent que si l'option de configuration du noyau \fBCONFIG_PROC_PAGE_MONITOR\fP a été activée. .TP \fI/proc/ksyms\fP (Linux 1.1.23\[en]2.5.47) Consulter \fI/proc/kallsyms\fP. .TP \fI/proc/loadavg\fP 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ées sur 1, 5 ou 15\ minutes. Ils sont identiques aux valeurs de charge moyenne données par \fBuptime\fP(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. .TP \fI/proc/locks\fP Ce fichier montre les verrouillages actuels des fichiers (\fBflock\fP(2) et \fBfcntl\fP(2)) et les baux (\fBfcntl\fP(2)). .IP Un exemple du contenu affiché dans ce fichier est le suivant\ : .IP .in +4n .EX 1: POSIX ADVISORY READ 5433 08:01:7864448 128 128 2: FLOCK ADVISORY WRITE 2001 08:01:7864554 0 EOF 3: FLOCK ADVISORY WRITE 1568 00:2f:32388 0 EOF 4: POSIX ADVISORY WRITE 699 00:16:28457 0 EOF 5: POSIX ADVISORY WRITE 764 00:16:21448 0 0 6: POSIX ADVISORY READ 3548 08:01:7867240 1 1 7: POSIX ADVISORY READ 3548 08:01:7865567 1826 2335 8: OFDLCK ADVISORY WRITE \-1 08:01:8713209 128 191 .EE .in .IP Les champs affichés dans chaque ligne sont les suivants\ : .RS .IP [1] 5 La position ordinale du verrou dans la liste. .IP [2] Le type de verrou. Les valeurs pouvant apparaitre ici comprennent\ : .RS .TP \fBFLOCK\fP C’est un verrou BSD de fichier créé en utilisant \fBflock\fP(2). .TP \fBOFDLCK\fP C’est un verrou OFD (open file descriptor) créé en utilisant \fBfcntl\fP(2). .TP \fBPOSIX\fP C’est un verrou d’intervalle de bits POSIX créé en utilisant \fBfcntl\fP(2). .RE .IP [3] Les chaînes suivantes font partie de celles qui peuvent apparaître ici\ : .RS .TP \fBADVISORY\fP C’est un verrou d’avertissement. .TP \fBMANDATORY\fP C’est un verrou obligatoire. .RE .IP [4] Le type de verrou. Les valeurs pouvant apparaitre ici sont\ : .RS .TP \fBREAD\fP C’est un verrou de lecture POSIX ou OFD, ou un verrou partagé BSD. .TP \fBWRITE\fP C’est un verrou d’écriture POSIX ou OFD, ou un verrou exclusif BSD. .RE .IP [5] Le PID du processus qui possède le verrou. .IP .\" commit 9d5b86ac13c573795525ecac6ed2db39ab23e2a8 La valeur \-1 est affichée dans ce champ pour les verrous OFD parce que les verrous OFD ne sont pas la propriété d'un seul processus (puisque plusieurs processus peuvent avoir des descripteurs de fichier qui se réfèrent à la même description de fichier ouvert). Avant Linux\ 4.14, un bogue signifiait que c'était le PID du processus qui avait initialement acquis le verrou qui était affiché au lieu de la valeur\ \-1. .IP [6] Trois sous\-champs séparés par des deux\-points qui identifient l’ID majeur et mineur de périphérique du périphérique contenant le système de fichiers où le fichier verrouillé réside, suivis du numéro d’inœud du fichier verrouillé. .IP [7] Le décalage de bits du premier bit du verrou. Pour les verrous BSD, cette valeur est toujours\ 0. .IP [8] Le décalage de bits du dernier bit du verrou. \fBEOF\fP dans ce champ signifie que le verrou s’étend jusqu’à la fin du fichier. Pour les verrous BSD, la valeur affichée est toujours \fIEOF\fP. .RE .IP .\" commit d67fd44f697dff293d7cdc29af929241b669affe Depuis Linux\ 4.9, la liste des verrous affichés dans \fI/proc/locks\fP est filtrée pour montrer seulement les verrous du processus dans l’espace de noms PID (consulter \fBpid_namespaces\fP(7)) pour lequel le système de fichiers \fI/proc\fP est monté (dans l’espace de noms PID initial, il n’y a aucun filtrage des enregistrements affichés dans ce fichier). .IP La commande \fBlslocks\fP(8) fournit un peu plus d’informations à propos de chaque verrou. .TP \fI/proc/malloc\fP (seulement jusqu'à Linux 2.2 inclus) .\" It looks like this only ever did something back in 1.0 days Ce fichier n'est présent que si \fBCONFIG_DEBUG_MALLOC\fP a été défini lors de la compilation du noyau. .TP \fI/proc/meminfo\fP Ce fichier fournit des statistiques sur l'utilisation de la mémoire du système. Il permet au programme \fBfree\fP(1) d'indiquer la quantité de mémoire (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é facultative 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. Sauf 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. .RS .TP \fIMemTotal\fP %lu Total de RAM utilisable (c'est\-à\-dire la RAM physique moins quelques bits réservés et le code binaire du noyau). .TP \fIMemFree\fP %lu Somme de \fILowFree\fP et \fIHighFree\fP. .TP \fIMemAvailable\fP %lu (depuis Linux 3.14) Estimation de la quantité de mémoire disponible pour démarrer de nouvelles applications sans utiliser d’espace d’échange. .TP \fIBuffers\fP %lu Stockage relativement temporaire pour les blocs de disque bruts qui ne devraient pas devenir trop gros (environ 20\ Mo). .TP \fICached\fP %lu Cache en mémoire pour les fichiers sur le disque (le cache de pages). N'inclut pas \fISwapCached\fP. .TP \fISwapCached\fP %lu Mémoire qui avait été placée en espace d'échange («\ swap\ »), qui en a été retirée, mais qui est 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). .TP \fIActive\fP %lu Mémoire qui a été utilisée plus récemment, mais qui en général n'est pas réclamée tant que ce n'est pas absolument nécessaire. .TP \fIInactive\fP %lu Mémoire qui a été utilisée moins récemment. Elle est plus éligible à être réclamée pour autre chose. .TP \fIActive(anon)\fP %lu (depuis Linux 2.6.28) [À documenter]. .TP \fIInactive(anon)\fP %lu (depuis Linux 2.6.28) [À documenter]. .TP \fIActive(file)\fP %lu (depuis Linux 2.6.28) [À documenter]. .TP \fIInactive(file)\fP %lu (depuis Linux 2.6.28) [À documenter]. .TP \fIUnevictable\fP %lu (depuis Linux 2.6.28) (De Linux\ 2.6.28 à Linux\ 2.6.30, \fBCONFIG_UNEVICTABLE_LRU\fP était nécessaire.) [À documenter.] .TP \fIMlocked\fP %lu (depuis Linux 2.6.28) (De Linux\ 2.6.28 à Linux\ 2.6.30, \fBCONFIG_UNEVICTABLE_LRU\fP était nécessaire.) [À documenter.] .TP \fIHighTotal\fP %lu (Depuis Linux\ 2.6.19, \fBCONFIG_HIGHMEM\fP est nécessaire.) Quantité totale de mémoire haute. La mémoire haute correspond à toute la mémoire située 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 pages. Le noyau doit utiliser des astuces pour utiliser cette mémoire, la rendant plus lente d'accès que la mémoire basse. .TP \fIHighFree\fP %lu (Depuis Linux\ 2.6.19, \fBCONFIG_HIGHMEM\fP est nécessaire.) Quantité de mémoire haute libre. .TP \fILowTotal\fP %lu (Depuis Linux\ 2.6.19, \fBCONFIG_HIGHMEM\fP est nécessaire.) Quantité totale de mémoire basse. La mémoire basse peut être utilisée pour les mêmes choses que la mémoire haute, mais est aussi disponible pour le noyau pour ses propres structures de données. Entre autres choses, c'est là qu'est alloué tout \fISlab\fP. Des problèmes peuvent survenir en cas d'épuisement de mémoire basse. .TP \fILowFree\fP %lu (Depuis Linux\ 2.6.19, \fBCONFIG_HIGHMEM\fP est nécessaire.) Quantité de mémoire basse libre. .TP \fIMmapCopy\fP %lu (depuis Linux 2.6.29) (\fBCONFIG_MMU\fP est nécessaire.) [À documenter.] .TP \fISwapTotal\fP %lu Quantité totale d'espace d'échange disponible. .TP \fISwapFree\fP %lu Quantité d'espace d'échange non utilisée. .TP \fIDirty\fP %lu Mémoire en attente d'être réécrite sur disque. .TP \fIWriteback\fP %lu Mémoire en cours de réécriture sur disque. .TP \fIAnonPages\fP %lu (depuis Linux 2.6.18) Pages sauvegardées sous une autre forme qu'un fichier, mappées dans des tables de pages en espace utilisateur. .TP \fIMapped\fP %lu Fichiers qui ont été mappés en mémoire (avec \fBmmap\fP(2)), comme les bibliothèques. .TP \fIShmem\fP %lu (depuis Linux 2.6.32) Quantité de mémoire utilisée par les systèmes de fichiers \fBtmpfs\fP(5). .TP \fIKReclaimable\fP %lu (depuis Linux 4.20) Allocations pour le noyau que celui\-ci peut essayer de réclamer lorsque la mémoire est sous pression. Cela inclut \fISReclaimable\fP (ci\-après) et d’autres allocations directes avec un «\ shrinker\ ». .TP \fISlab\fP %lu Cache de structures de données dans le noyau (consulter \fBslabinfo\fP(5)). .TP \fISReclaimable\fP %lu (depuis Linux 2.6.19) Partie de \fISlab\fP qui pourrait être réclamée, comme les caches. .TP \fISUnreclaim\fP %lu (depuis Linux 2.6.19) Partie de \fISlab\fP qui ne peut pas être réclamée lorsque la mémoire est sous pression. .TP \fIKernelStack\fP %lu (depuis Linux 2.6.32) Quantité de mémoire allouée aux piles du noyau. .TP \fIPageTables\fP %lu (depuis Linux 2.6.18) Quantité de mémoire dédiée au plus bas niveau des tables de pages. .TP \fIQuicklists\fP %lu (depuis Linux 2.6.27) (\fBCONFIG_QUICKLIST\fP est nécessaire.) [À documenter.] .TP \fINFS_Unstable\fP %lu (depuis Linux 2.6.18) Pages NFS envoyées au serveur, mais pas encore envoyées vers un stockage stable. .TP \fIBounce\fP %lu (depuis Linux 2.6.18) Mémoire utilisée pour les «\ tampons de rebond\ » des périphériques blocs. .TP \fIWritebackTmp\fP %lu (depuis Linux 2.6.24) Mémoire utilisée par FUSE pour les tampons de réécriture temporaire. .TP \fICommitLimit\fP %lu (depuis Linux 2.6.10) Quantité totale de mémoire actuellement disponible à l'allocation sur le système, exprimée en kilooctets. Cette limite est respectée si la comptabilité «\ overcommit\ » stricte est activée (mode\ 2 dans \fI/proc/sys/vm/overcommit_memory\fP). Cette limite est calculée selon la formule décrite dans \fI/proc/sys/vm/overcommit_memory\fP. Pour de plus amples détails, consulter le fichier \fIDocumentation/vm/overcommit\-accounting.rst\fP des sources du noyau. .TP \fICommitted_AS\fP %lu 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 \fBmalloc\fP(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. .IP 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 (overcommit) (mode\ 2 dans \fI/proc/sys/vm/overcommit_memory\fP), les allocations qui pourraient dépasser \fICommitLimit\fP ne sont pas permises. C'est utile s'il est nécessaire de garantir que les processus ne vont pas échouer à cause d’un manque de mémoire une fois la mémoire allouée correctement. .TP \fIVmallocTotal\fP %lu Taille totale d'allocation de mémoire virtuelle. .TP \fIVmallocUsed\fP %lu .\" commit a5ad88ce8c7fae7ddc72ee49a11a75aa837788e0 Montant de la zone de vmalloc utilisée. Depuis Linux\ 4.4, ce champ n’est pas calculé et est codé en dur à zéro. Consulter \fI/proc/vmallocinfo\fP. .TP \fIVmallocChunk\fP %lu .\" commit a5ad88ce8c7fae7ddc72ee49a11a75aa837788e0 Bloc contigu le plus large de la zone vmalloc libre. Depuis Linux\ 4.4, ce champ n’est pas calculé et est codé en dur à zéro. Consulter \fI/proc/vmallocinfo\fP. .TP \fIHardwareCorrupted\fP %lu (depuis Linux 2.6.32) (\fBCONFIG_MEMORY_FAILURE\fP est nécessaire.) [À documenter.] .TP \fILazyFree\fP %lu (depuis Linux 4.12) Quantité de mémoire marquée par \fBmadvise\fP(2) \fBMADV_FREE\fP. .TP \fIAnonHugePages\fP %lu (depuis Linux 2.6.38) (\fBCONFIG_TRANSPARENT_HUGEPAGE\fP est nécessaire.) Pages volumineuses sauvées sous une autre forme qu'un fichier, mappées dans des tables de pages en espace utilisateur. .TP \fIShmemHugePages\fP %lu (depuis Linux 4.8) (\fBCONFIG_TRANSPARENT_HUGEPAGE\fP est nécessaire.) Mémoire utilisée par la mémoire partagée (shmem) et \fBtmpfs\fP(5) allouée avec les pages volumineuses. .TP \fIShmemPmdMapped\fP %lu (depuis Linux 4.8) (\fBCONFIG_TRANSPARENT_HUGEPAGE\fP est nécessaire.) Mémoire partagée mappée en espace utilisateur avec les pages volumineuses. .TP \fICmaTotal\fP %lu (depuis Linux 3.1) Pages CMA (Contiguous Memory Allocator) totales (\fBCONFIG_CMA\fP est nécessaire). .TP \fICmaFree\fP %lu (depuis Linux 3.1) Pages CMA (Contiguous Memory Allocator) libres (\fBCONFIG_CMA\fP est nécessaire). .TP \fIHugePages_Total\fP %lu (\fBCONFIG_HUGETLB_PAGE\fP est nécessaire.) Taille de la réserve (pool) pour les pages volumineuses. .TP \fIHugePages_Free\fP %lu (\fBCONFIG_HUGETLB_PAGE\fP est nécessaire.) Nombre de pages volumineuses de la réserve (pool) qui ne sont pas encore allouées. .TP \fIHugePages_Rsvd\fP %lu (depuis Linux 2.6.17) (\fBCONFIG_HUGETLB_PAGE\fP est nécessaire.) Nombre de pages volumineuses pour lesquelles un engagement a été fait pour les allouer à partir de la réserve, alors qu’aucune allocation n’a été faite. Ces pages volumineuses réservées garantissent qu'une application pourra allouer une page volumineuse à partir de la réserve de pages volumineuses au moment de la faute. .TP \fIHugePages_Surp\fP %lu (depuis Linux 2.6.24) (\fBCONFIG_HUGETLB_PAGE\fP est nécessaire.) Nombre de pages volumineuses dans la réserve au\-delà de la valeur de \fI/proc/sys/vm/nr_hugepages\fP. Le nombre maximal de pages volumineuses en excès est contrôlé par \fI/proc/sys/vm/nr_overcommit_hugepages\fP. .TP \fIHugepagesize\fP %lu (\fBCONFIG_HUGETLB_PAGE\fP est nécessaire.) Taille des pages volumineuses. .TP \fIDirectMap4k\fP %lu (depuis Linux 2.6.27) Nombre d’octets de RAM mappés linéairement par le noyau en pages de 4\ ko (x86). .TP \fIDirectMap4M\fP %lu (depuis Linux 2.6.27) Nombre d’octets de RAM mappés linéairement par le noyau en pages de 4\ Mo (x86 avec \fBCONFIG_X86_64\fP ou \fBCONFIG_X86_PAE\fP activé). .TP \fIDirectMap2M\fP %lu (depuis Linux 2.6.27) Nombre d’octets de RAM mappés linéairement par le noyau en pages de 2\ Mo (x86 avec ni \fBCONFIG_X86_64\fP ni \fBCONFIG_X86_PAE\fP activé). .TP \fIDirectMap1G\fP %lu (depuis Linux 2.6.27) (x86 avec \fBCONFIG_X86_64\fP ou \fBCONFIG_X86_DIRECT_GBPAGES\fP activé). .RE .TP \fI/proc/modules\fP Liste littérale des modules qui ont été chargés par le système. Consultez \fBlsmod\fP(8). .TP \fI/proc/mounts\fP Avant le noyau\ 2.4.19, ce fichier était une liste de tous les systèmes de fichiers actuellement montés sur le système. Avec l'introduction des espaces de noms montage par processus dans Linux\ 2.4.19 (consulter \fBmount_namespaces\fP(7)), ce fichier est devenu un lien vers \fI/proc/self/mounts\fP qui liste les points de montage de l'espace de noms montage du processus. Le format de ce fichier est documenté dans \fBfstab\fP(5). .TP \fI/proc/mtrr\fP .\" commit 7225e75144b9718cbbe1820d9c011c809d5773fd Memory Type Range Registers. Consulter dans les sources du noyau \fIDocumentation/x86/mtrr.rst\fP (ou \fIDocumentation/x86/mtrr.txt\fP avant Linux\ 5.2, ou \fIDocumentation/mtrr.txt\fP avant Linux\ 2.6.28) pour plus de détails. .TP \fI/proc/net\fP Ce répertoire regroupe divers fichiers et sous\-répertoires contenant des informations sur la couche réseau. Ces fichiers contiennent des structures ASCII et sont par conséquent lisibles avec \fBcat\fP(1). Cependant la suite standard \fBnetstat\fP(8) fournit un accès plus propre à ces fichiers. .IP .\" commit e9720acd728a46cb40daa52c99a979f7c4ff195c Avec l’arrivée des espaces de noms réseau, diverses informations sur la pile réseau sont virtualisées (consulter \fBnetwork_namespaces\fP(7)). Par conséquent, depuis Linux\ 2.6.25, \fI/proc/net\fP est un lien symbolique vers le répertoire \fI/proc/self/net\fP qui contient les mêmes fichiers et les mêmes répertoires comme listés ci\-après. Cependant, ces fichiers et ces répertoires exposent désormais des informations pour l’espace de noms réseau dont le processus est membre. .TP \fI/proc/net/arp\fP 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\ : .IP .in +4n .EX 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 .EE .in .IP Où «\ adresse IP\ » est l'adresse IPv4 de la machine, matériel est le type issu de la RFC\ 826. L'attribut correspond aux attributs de la structure ARP (définie dans \fI/usr/include/linux/if_arp.h\fP) et l'adresse matérielle est celle de la couche de liaison de données correspondant à l'adresse IP (si elle est connue). .TP \fI/proc/net/dev\fP Ce pseudofichier contient des informations d'état sur les périphériques réseau. Il contient le nombre de paquets émis et reçus, le nombre d'erreurs et de collisions, ainsi que d'autres données statistiques basiques. Elles sont utilisées par le programme \fBifconfig\fP(8) pour rapporter l’état du périphérique. Le format est le suivant\ : .IP .EX 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 .EE .\" .TP .\" .I /proc/net/ipx .\" No information. .\" .TP .\" .I /proc/net/ipx_route .\" No information. .TP \fI/proc/net/dev_mcast\fP Défini dans \fI/usr/src/linux/net/core/dev_mcast.c\fP\ : .IP .in +4n .EX indx interface_name dmi_u dmi_g dmi_address 2 eth0 1 0 01005e000001 3 eth1 1 0 01005e000001 4 eth2 1 0 01005e000001 .EE .in .TP \fI/proc/net/igmp\fP Protocole «\ Internet Group Management Protocol\ ». Défini dans \fI/usr/src/linux/net/core/igmp.c\fP. .TP \fI/proc/net/rarp\fP Ce fichier utilise le même format que le fichier \fIarp\fP et contient la base de données de mappage inverse utilisée pour fournir les services de recherche inversée de \fBrarp\fP(8). Si RARP n'est pas configuré dans le noyau, ce fichier est absent. .TP \fI/proc/net/raw\fP .\" .TP .\" .I /proc/net/route .\" No information, but looks similar to .\" .BR route (8). Contenu de la table des sockets RAW (bruts). La plupart des informations ne servent que pour le débogage. La valeur «\ sl\ » est l'emplacement du socket dans le slot 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 du 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’UID effectif du créateur du socket. .TP \fI/proc/net/snmp\fP Ce fichier contient les données ASCII nécessaires pour les bases d'informations d'IP, ICMP, TCP et UDP pour un agent SNMP. .TP \fI/proc/net/tcp\fP Contenu de la table des sockets TCP. La plupart des informations ne servent que pour le débogage. La valeur «\ sl\ » est l'emplacement du socket dans le slot 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 connecté). «\ St\ » est l'état interne du 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 informations sur l’état du socket de noyau et ne sont utiles que pour le débogage. Le champ uid contient l’UID effectif du créateur du socket. .TP \fI/proc/net/udp\fP Contenu de la table des sockets UDP. La plupart des informations ne servent que pour le débogage. La valeur «\ sl\ » est l'emplacement du socket dans le slot 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 connecté). «\ St\ » est l'état interne du 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’UID effectif du créateur du socket. Le format est\ : .IP .EX 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 .EE .TP \fI/proc/net/unix\fP Liste des sockets de domaine UNIX présents sur le système et leurs états. Le format est\ : .IP .EX Num RefCount Protocol Flags Type St Inode Path 0: 00000002 00000000 00000000 0001 03 42 1: 00000001 00000000 00010000 0001 01 1948 /dev/printer .EE .IP Les champs sont les suivants\ : .RS .TP 10 \fINum\fP : numéro de slot de table du noyau. .TP \fIRefCount\fP : nombre d’utilisateurs du socket. .TP \fIProtocol\fP : actuellement toujours\ 0 .TP \fIFlags\fP : drapeau interne du noyau détenant l’état du socket. .TP \fIType\fP : type de socket. Pour les sockets \fBSOCK_STREAM\fP c’est 0001, pour les sockets \fBSOCK_DGRAM\fP c’est 0002 et pour les sockets \fBSOCK_SEQPACKET\fP c’est 0005. .TP \fISt\fP : état interne du socket. .TP \fIInode\fP : numéro d’inœud du socket. .TP \fIPath\fP : nom de chemin lié (si existant) du socket. Les sockets dans l’espace de noms abstrait sont inclus dans la liste et sont affichés avec un \fIPath\fP qui débute avec le caractère «\ @\ ». .RE .TP \fI/proc/net/netfilter/nfnetlink_queue\fP Ce fichier contient des informations sur les mises en attente en espace utilisateur de netfilter s’il est utilisé. Chaque ligne représente une file d’attente. Les files d’attente dont un espace utilisateur n’a pas demandé de notifications ne sont pas affichées. .IP .in +4n .EX 1 4207 0 2 65535 0 0 0 1 (1) (2) (3)(4) (5) (6) (7) (8) .EE .in .IP Les champs de chaque ligne sont\ : .RS 7 .TP 5 (1) ID de la file d’attente. Cet identifiant correspond à ce qui est spécifié dans les options \fB\-\-queue\-num\fP ou \fB\-\-queue\-balance\fP de la cible NFQUEUE de \fBiptables\fP(8). Consulter \fBiptables\-extensions\fP(8) pour plus d’informations. .TP (2) L’ID de port netlink abonné à la file d'attente. .TP (3) Le nombre de paquets actuellement dans la file d’attente et à traiter par l’application. .TP (4) Le mode de copie de la file d’attente. Il a pour valeur\ 1 (métadonnées seulement) ou\ 2 (copie aussi des données de charge en espace utilisateur). .TP (5) Intervalle à copier. Il s’agit de la quantité maximale d’octets de la charge utile des paquets à copier dans l’espace utilisateur. .TP (6) Abandons de file d’attente. Il s’agit du nombre de paquets que le noyau a dû abandonner parce que trop de paquets attendent déjà que l’espace utilisateur renvoie les jugements obligatoires acceptation/abandon. .TP (7) Abandons de file d’attente d’utilisateur. Il s’agit du nombre de paquets qui ont été abandonnés dans le sous\-système netlink. De tels abandons se produisent habituellement quand le tampon de socket correspondant est plein, c’est\-à\-dire que l’espace utilisateur n’est pas capable de lire les messages assez rapidement. .TP (8) Numéro de séquence. Chaque paquet mis en attente est associé à un numéro (32\ bits) de séquence croissant de manière monotone. Ce numéro indique l’ID du paquet le plus récent mis en attente. .RE .IP Le dernier nombre existe seulement pour des raisons de compatibilité et est toujours\ 1. .TP \fI/proc/partitions\fP Ce fichier 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. .TP \fI/proc/pci\fP Il s'agit d'une liste de tous les périphériques PCI détectés pendant l'initialisation du noyau et de leur configuration. .IP .\" FIXME Document /proc/sched_debug (since Linux 2.6.23) .\" See also /proc/[pid]/sched Ce fichier est devenu obsolète et a été remplacé par une nouvelle interface \fI/proc\fP pour le bus PCI (\fI/proc/bus/pci\fP). Il est devenu facultatif dans Linux\ 2.2 (disponible par l'intermédiaire de \fBCONFIG_PCI_OLD_PROC\fP activé à la compilation du noyau). Il est redevenu non facultatif dans Linux\ 2.4. Ensuite, il est redevenu obsolète dans Linux\ 2.6 (il reste disponible par l'intermédiaire du positionnement de \fBCONFIG_PCI_LEGACY_PROC\fP), et il a finalement été entièrement supprimé depuis Linux\ 2.6.17. .TP \fI/proc/profile\fP (depuis Linux 2.4) Ce fichier n'est présent que si le noyau a été démarré avec l'option \fIprofile=1\fP. Il met à disposition des informations de profilage du noyau sous une forme binaire lisible par \fBreadprofile\fP(1). Une écriture (par exemple, d'une chaîne vide) dans le fichier réinitialise les compteurs de profilage. Dans certaines architectures, l'écriture d'un entier binaire «\ multiplicateur de profilage\ » de taille \fIsizeof(int)\fP configure la fréquence d'interruption du profilage. .TP \fI/proc/scsi\fP Répertoire regroupant les pseudofichiers du niveau \fIscsi\fP 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 \fBcat\fP(1). .IP Il est aussi possible d’écrire dans certains fichiers pour reconfigurer le sous\-système SCSI ou activer/désactiver certaines fonctionnalités. .TP \fI/proc/scsi/scsi\fP Il s'agit d'une liste de tous les périphériques SCSI reconnus par le noyau. Cette liste ressemble à celle affichée durant le démarrage. Le sous\-système SCSI n'accepte pour le moment que la commande \fIadd\-single\-device\fP qui permet au superutilisateur d'ajouter un périphérique branché à chaud à la liste des périphériques connus. .IP La commande .IP .in +4n .EX echo \[aq]scsi add\-single\-device 1 0 5 0\[aq] > /proc/scsi/scsi .EE .in .IP 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 connu à cette adresse ou si l'adresse n’est pas valable, une erreur sera renvoyée. .TP \fI/proc/scsi/\fPnom_de_pilote Le \fInom_de_pilote\fP 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 apparaissent pour tous les pilotes qui ont enregistré au moins un contrôleur de bus 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. .IP La lecture de ces fichiers montrera en général la configuration de l'hôte et du pilote, des statistiques,\ etc. .IP L'écriture dans ces fichiers permet différentes choses suivant les hôtes. Par exemple, avec les commandes \fIlatency\fP et \fInolatency\fP, le superutilisateur peut activer ou inhiber le code de mesure de latence des commandes dans le pilote eata_dma. Avec les commandes \fIlockup\fP et \fIunlock\fP, il peut contrôler les verrouillages de bus simulés par le pilote scsi_debug. .TP \fI/proc/self\fP Ce répertoire se rapporte au processus accédant au système de fichiers \fI/proc\fP, et est identique au sous\-répertoire de \fI/proc\fP ayant pour nom le PID du processus appelant. .TP \fI/proc/slabinfo\fP Informations à propos des caches du noyau. Consulter \fBslabinfo\fP(5) pour plus de précisions. .TP \fI/proc/stat\fP Statistiques du noyau et du système. Ce fichier varie avec l'architecture. Les enregistrements courants sont les suivants\ : .RS .TP \fIcpu 10132153 290696 3084719 46828483 16683 0 25195 0 175628 0\fP .TQ \fIcpu0 1393280 32966 572056 13343292 6130 0 17875 0 23933 0\fP .\" 1024 on Alpha and ia64 Temps, mesuré en unités de USER_HZ (centième de seconde sur la plupart des architectures, utiliser \fIsysconf(_SC_CLK_TCK)\fP pour connaître la valeur correcte), que le système (ligne «\ cpu\ ») ou le CPU particulier (ligne «\ cpu\fIN\fP\ ») a passé dans les différents états suivants\ : .RS .TP \fIuser\fP (1) Temps passé en mode utilisateur. .TP \fInice\fP (2) Temps passé en mode utilisateur avec une priorité basse (courtoisie élevée\ : «\ nice\ »). .TP \fIsystem\fP (3) Temps passé en mode système. .TP \fIidle\fP .\" FIXME . Actually, the following info about the /proc/stat 'cpu' field .\" does not seem to be quite right (at least in Linux 2.6.12 or Linux 3.6): .\" the idle time in /proc/uptime does not quite match this value (4) Temps passé en tâche inactive. Cette valeur doit correspondre à USER_HZ fois le deuxième enregistrement du pseudofichier \fI/proc/uptime\fP. .TP \fIiowait\fP (depuis Linux 2.5.41) .\" See kernel commit 9c240d757658a3ae9968dd309e674c61f07c7f48 (5) Temps d’attente pour que l’E/S soit achevée. Cette valeur n’est pas fiable pour les raisons suivantes\ : .RS .IP \- 3 le CPU n’attend pas que l’E/S soit achevée. iowait est la durée pendant laquelle une tâche attend que l’E/S soit achevée. Quand un CPU entre dans un état inactif pour des tâches d’E/S en suspens, une autre tâche est programmée sur ce CPU\ ; .IP \- sur un CPU multicœur, la tâche attendant que l’E/S soit achevée n’est en cours d’exécution sur aucun CPU, aussi la durée iowait de chaque CPU est difficile à calculer\ ; .IP \- la valeur de ce champ peut \fIdécroître\fP dans certaines conditions. .RE .TP \fIirq\fP (depuis Linux 2.6.0) .\" Precisely: Linux 2.6.0-test4 (6) Temps d'entretien des interruptions. .TP \fIsoftirq\fP (depuis Linux 2.6.0) .\" Precisely: Linux 2.6.0-test4 (7) Temps d'entretien des softirq. .TP \fIsteal\fP (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 .TP \fIguest\fP (depuis Linux 2.6.24) .\" See Changelog entry for 5e84cfde51cf303d368fcb48f22059f37b3872de (9) Temps passé à exécuter un processeur virtuel pour des systèmes d'exploitation clients sous le contrôle du noyau Linux. .TP \fIguest_nice\fP (depuis Linux 2.6.33) .\" commit ce0e7b28fb75cb003cfc8d0238613aaf1c55e797 (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). .RE .TP \fIpage 5741 1808\fP Les nombres de pages que le système a paginées en entrée et en sortie (du disque). .TP \fIswap 1 0\fP Les nombres de pages de swap que le système a échangées en entrée et en sortie. .TP .\" FIXME . The following is not the full picture for the 'intr' of .\" /proc/stat on 2.6: \fIintr 1462898\fP 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, y compris les interruptions non numérotées spécifiques à l’architecture\ ; chacune des colonnes suivantes représente le total pour cette interruption numérotée particulière. Les interruptions non numérotées ne sont pas montrées et seulement comptées dans le total. .TP \fIdisk_io: (2,0):(31,30,5764,1,2) (3,0):\fP... (major,disk_idx):(noinfo, read_io_ops, blks_read, write_io_ops, blks_written) .br (Linux 2.4 seulement) .TP \fIctxt 115315\fP Le nombre de changements de contexte effectués par le système. .TP \fIbtime 769041601\fP La date de démarrage du système en secondes écoulées depuis l'Époque, 1er\ janvier 1970 à\ 00:00:00 (UTC). .TP \fIprocesses 86031\fP Le nombre de processus exécutés sur le système depuis le démarrage. .TP \fIprocs_running 6\fP Nombre de processus dans un état exécutable (à partir de Linux\ 2.5.45). .TP \fIprocs_blocked 2\fP Nombre de processus bloqués en attente de fin d'E/S (à partir de Linux\ 2.5.45). .TP \fIsoftirq 229245889 94 60001584 13619 5175704 2471304 28 51212741 59130143 0 51240672\fP .\" commit d3d64df21d3d0de675a0d3ffa7c10514f3644b30 Cette ligne affiche le nombre de softirq pour tous les CPU. La première colonne est le nombre total des softirq et chaque colonne suivante est le nombre total pour un softirq particulier (à partir de Linux\ 2.6.31). .RE .TP \fI/proc/swaps\fP Zones de swap utilisées. Consulter aussi \fBswapon\fP(8). .TP \fI/proc/sys\fP Ce répertoire (présent depuis Linux\ 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 \fI/proc\fP et en utilisant l'appel système (obsolète) \fBsysctl\fP(2). .IP Les valeurs des chaînes peuvent être terminées par «\ \e0\ » ou «\ \en\ ». .IP Les valeurs de type «\ long\ » et entier peuvent être écrites en notation décimale ou hexadécimale (par exemple, 0x3FFF). Lors de l’écriture de plusieurs valeurs «\ long\ » ou d’entier, celles\-ci peuvent être séparées par n’importe quel caractère blanc suivant\ : «\ \ \ », «\ \et\ » ou «\ \en\ ». L’utilisation d’autres caractères génère l’erreur \fBEINVAL\fP. .TP \fI/proc/sys/abi\fP (depuis Linux 2.4.10) .\" On some systems, it is not present. Ce répertoire peut contenir des fichiers d'informations sur l'exécutable de l'application. Consulter le fichier \fIDocumentation/sysctl/abi.rst\fP des sources du noyau Linux (ou \fIDocumentation/sysctl/abi.txt\fP avant Linux\ 5.3) pour plus d’informations. .TP \fI/proc/sys/debug\fP Ce répertoire peut être vide. .TP \fI/proc/sys/dev\fP Ce répertoire contient des informations spécifiques sur les périphériques (par exemple, \fIdev/cdrom/info\fP). Sur certains systèmes, il peut être vide. .TP \fI/proc/sys/fs\fP Ce répertoire contient les fichiers et sous\-répertoires pour les variables du noyau relatives aux systèmes de fichiers. .TP \fI/proc/sys/fs/aio\-max\-nr\fP et \fI/proc/sys/fs/aio\-nr\fP (depuis Linux 2.6.4) \fIaio\-nr\fP est le nombre total d’évènements en cours spécifiés par les appels \fBio_setup\fP(2) pour tous les contextes AIO actuellement actifs. Si \fIaio\-nr\fP atteint \fIaio\-max\-nr\fP, \fBio_setup\fP(2) échouera avec l’erreur \fBEAGAIN\fP. Augmenter \fIaio\-max\-nr\fP ne provoque la préallocation ou le redimensionnement d’aucune structure de données du noyau. .TP \fI/proc/sys/fs/binfmt_misc\fP La documentation concernant les fichiers de ce répertoire se trouve dans le fichier \fIDocumentation/admin\-guide/binfmt\-misc.rst\fP des sources du noyau (ou dans \fIDocumentation/binfmt_misc.txt\fP pour les noyaux plus anciens). .TP \fI/proc/sys/fs/dentry\-state\fP (depuis Linux 2.2) Ce fichier contient des informations sur l'état du cache de répertoire (dcache). Ce fichier contient six nombres \fInr_dentry\fP, \fInr_unused\fP, \fIage_limit\fP (âge en secondes), \fIwant_pages\fP (pages réclamées par le système) et deux valeurs inutiles. .RS .IP \- 3 \fInr_dentry\fP est le nombre d'entrées dcache allouées. Ce champ n'est pas utilisé dans Linux\ 2.2. .IP \- \fInr_unused\fP est le nombre d'entrées dcache de répertoire libres. .IP \- .\" looks like this is unused in Linux 2.2 to Linux 2.6 \fIage_limit\fP est l'âge en seconde après lequel les entrées dcache peuvent être réclamées quand la mémoire est faible. .IP \- .\" looks like this is unused in Linux 2.2 to Linux 2.6 \fIwant_pages\fP n'est pas nul quand le noyau a appelé shrink_dcache_pages() et que le cache de répertoire n'a pas encore été réduit. .RE .TP \fI/proc/sys/fs/dir\-notify\-enable\fP Ce fichier permet d'activer ou d’inhiber l'interface \fIdnotify\fP décrite dans \fBfcntl\fP(2) au niveau système. Une valeur\ 0 dans ce fichier désactive cette interface et la valeur\ 1 l'active. .TP \fI/proc/sys/fs/dquot\-max\fP 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 d’entrées de quota de disque libres est très bas, et si vous avez un nombre important d'utilisateurs simultanés, vous pouvez augmenter cette valeur. .TP \fI/proc/sys/fs/dquot\-nr\fP Ce fichier montre le nombre d'entrées de quota de disque allouées et le nombre d'entrées libres. .TP \fI/proc/sys/fs/epoll\fP (depuis Linux 2.6.28) Ce répertoire contient le fichier \fImax_user_watches\fP qui peut être utilisé pour limiter la quantité de mémoire du noyau utilisée par l'interface \fIepoll\fP. Consulter \fBepoll\fP(7) pour davantage d'informations. .TP \fI/proc/sys/fs/file\-max\fP Ce fichier est la limite pour tout le système du nombre de fichiers ouverts par tous les processus. Les appels système qui échouent à cause de cette limite échouent avec l’erreur \fBENFILE\fP (consulter aussi \fBsetrlimit\fP(2) qui permet de définir la limite par processus, \fBRLIMIT_NOFILE\fP, du nombre de fichiers qu’il peut ouvrir). Si de nombreux messages d'erreurs dans le journal du noyau indiquent un manque de gestionnaires de fichiers (descripteurs de fichier ouvert –\ rechercher «\ VFS: file\-max limit reached\ »), essayez d'augmenter cette valeur. .IP .in +4n .EX echo 100000 > /proc/sys/fs/file\-max .EE .in .IP Les processus privilégiés (\fBCAP_SYS_ADMIN\fP) peuvent écraser la limite \fIfile\-max\fP. .TP \fI/proc/sys/fs/file\-nr\fP Ce fichier en lecture seule contient trois nombres\ : le nombre de gestionnaires de fichiers alloués (c'est\-à\-dire le nombre de descriptions de fichier ouverts, consulter \fBopen\fP(2)), le nombre de gestionnaires de fichier libres et le nombre maximal de gestionnaires de fichier (c'est\-à\-dire la même valeur que \fI/proc/sys/fs/file\-max\fP). Si le nombre de gestionnaires alloués est proche du maximum, le nombre maximal doit être augmenté. Avant Linux\ 2.6, le noyau allouait les gestionnaires dynamiquement, mais en retour ne les libérait pas. Au lieu de cela, les gestionnaires de fichier libres étaient stockés dans une liste pour être réalloués, le nombre «\ gestionnaires de fichier libres\ » se référant à la taille de cette liste. Un nombre élevé de gestionnaires de fichier libres était l'indication qu'un pic d'utilisation s'était produit. Depuis Linux\ 2.6, le noyau désalloue les gestionnaires de fichier libres, et le nombre «\ gestionnaires de fichier libres\ » est toujours zéro. .TP \fI/proc/sys/fs/inode\-max\fP (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 \fIfile\-max\fP, car \fIstdin\fP, \fIstdout\fP et les sockets réseau nécessitent aussi des inœuds pour les gérer. En cas de manque régulier d’inœuds, cette valeur doit être augmentée. .IP Depuis Linux\ 2.4, il n'y a plus de limite statique du nombre d'inœuds et ce fichier n'existe plus. .TP \fI/proc/sys/fs/inode\-nr\fP Ce fichier contient les deux premières valeurs d'\fIinode\-state\fP. .TP \fI/proc/sys/fs/inode\-state\fP Ce fichier contient sept nombres\ : \fInr_inodes\fP, \fInr_free_inodes\fP, \fIpreshrink\fP et quatre valeurs non significatives (toujours zéro). .IP .\" This can be slightly more than .\" .I inode\-max .\" because Linux allocates them one page full at a time. \fInr_inodes\fP est le nombre d'inœuds alloués par le système. \fInr_free_inodes\fP représente le nombre d'inœuds libres. .IP \fIpreshrink\fP est non nul lorsque \fInr_inodes\fP > \fIinode\-max\fP 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 (toujours zéro). .TP \fI/proc/sys/fs/inotify\fP (depuis Linux 2.6.13) Ce répertoire contient les fichiers \fImax_queued_events\fP, \fImax_user_instances\fP et \fImax_user_watches\fP, qui permettent de limiter la quantité de mémoire du noyau utilisée par l'interface \fIinotify\fP. Consulter \fBinotify\fP(7) pour davantage d'informations. .TP \fI/proc/sys/fs/lease\-break\-time\fP Ce fichier indique le délai de grâce que le noyau accorde à un processus détenant un bail de fichier (\fBfcntl\fP(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 bail ne le supprime pas ou ne le réduit pas, le noyau cassera le bail d’autorité. .TP \fI/proc/sys/fs/leases\-enable\fP Ce fichier permet d'activer ou désactiver les baux de fichier (\fBfcntl\fP(2)) pour tout le système. Si ce fichier contient la valeur\ 0, les baux sont cassés. Une valeur non nulle active les baux. .TP \fI/proc/sys/fs/mount\-max\fP (depuis Linux 4.9) .\" commit d29216842a85c7970c536108e093963f02714498 La valeur dans ce fichier indique le nombre maximal de montages pouvant exister dans l’espace de noms montage. La valeur par défaut est 100\ 000. .TP \fI/proc/sys/fs/mqueue\fP (depuis Linux 2.6.6) Ce répertoire contient les fichiers \fImsg_max\fP, \fImsgsize_max\fP et \fIqueues_max\fP qui contrôlent les ressources utilisées par les files de messages POSIX. Consulter \fBmq_overview\fP(7) pour davantage d'informations. .TP \fI/proc/sys/fs/nr_open\fP (depuis Linux 2.6.25) .\" commit 9cfe015aa424b3c003baba3841a60dd9b5ad319b Ce fichier impose un plafond à la valeur que la limite \fBRLIMIT_NOFILE\fP peut atteindre (consulter \fBgetrlimit\fP(2)). Ce plafond est imposé pour les processus, qu’ils soient privilégiés ou non. La valeur par défaut dans ce fichier est 1048576 (avant Linux\ 2.6.25, le plafond pour \fBRLIMIT_NOFILE\fP était codé en dur à la même valeur). .TP \fI/proc/sys/fs/overflowgid\fP et \fI/proc/sys/fs/overflowuid\fP Ces fichiers permettent de changer la valeur des GID et UID fixes –\ par défaut 65534. Certains systèmes de fichiers ne gèrent que des UID et GID de 16\ bits, bien que les UID et GID dans Linux soient de 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. .TP \fI/proc/sys/fs/pipe\-max\-size\fP (depuis Linux 2.6.35) Consulter \fBpipe\fP(7). .TP \fI/proc/sys/fs/pipe\-user\-pages\-hard\fP (depuis Linux 4.5) Consulter \fBpipe\fP(7). .TP \fI/proc/sys/fs/pipe\-user\-pages\-soft\fP (depuis Linux 4.5) Consulter \fBpipe\fP(7). .TP \fI/proc/sys/fs/protected_fifos\fP (depuis Linux 4.19) La valeur dans ce fichier est/peut être une des valeurs suivantes\ : .RS .TP 4 0 Écriture dans des FIFO non restreinte. .TP 1 Ne pas autoriser \fBO_CREAT\fP \fBopen\fP(2) dans des FIFO que l’appelant ne possède pas dans ses répertoires «\ sticky\ » éditables par tout le monde, à moins que le propriétaire du répertoire ne soit le propriétaire d’une FIFO. .TP 2 Comme pour la valeur\ 1, mais les restrictions s’appliquent aussi aux répertoires «\ sticky\ » éditables par le groupe. .RE .IP Le but des protections précédentes est d’éviter des écritures accidentelles dans une FIFO contrôlée par un attaquant quand le programme avait l'intention de créer un fichier normal. .TP \fI/proc/sys/fs/protected_hardlinks\fP (depuis Linux 3.6) .\" commit 800179c9b8a1e796e441674776d11cd4c05d61d7 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\ : .RS .IP \- 3 Le processus appelant a la capacité \fBCAP_FOWNER\fP dans son espace de noms utilisateur et l’UID du fichier a un mappage dans l’espace de noms. .IP \- L'UID de système de fichiers du processus créant le lien correspond au propriétaire (UID) du fichier cible (conformément à la description dans \fBcredentials\fP(7), l'UID de système de fichiers d'un processus est normalement le même que son UID effectif). .IP \- Toutes les conditions suivantes sont vraies\ : .RS 4 .IP \- 3 la cible est un fichier normal\ ; .IP \- le fichier cible n'a pas son bit set\-user\-ID activé\ ; .IP \- le fichier cible n'a aucun de ses bits set\-group\-ID et de mode exécutable activé\ ; .IP \- l'appelant a le droit de lire et écrire le fichier cible (soit à travers le masque des droits du fichier, soit parce qu’il dispose de la capacité nécessaire). .RE .RE .IP 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é anciens provoqués par des situations de compétition d’instant de vérification basé sur des liens physiques ou d’instant d’utilisation, rencontrés le plus souvent dans des répertoires accessibles en écriture à tous comme \fI/tmp\fP. 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 fichiers set\-user\-ID et set\-group\-ID vulnérables, pour les empêcher d'être mis à jour par l'administrateur ou d'être liés vers des fichiers spéciaux. .TP \fI/proc/sys/fs/protected_regular\fP (depuis Linux 4.19) La valeur dans ce fichier est/peut être une des valeurs suivantes\ : .RS .TP 4 0 Écriture dans des fichiers normaux non restreinte. .TP 1 Ne pas autoriser \fBO_CREAT\fP \fBopen\fP(2) dans des fichiers normaux dont l’appelant n’est pas le propriétaire dans ses répertoires «\ sticky\ » éditables par tout le monde, à moins que le propriétaire du répertoire ne soit le propriétaire du fichier normal. .TP 2 Comme pour la valeur\ 1, mais les restrictions s’appliquent aussi aux répertoires «\ sticky\ » éditables par le groupe. .RE .IP Le but des protections précédentes est similaire à \fIprotected_fifos\fP, mais permet à une application d’éviter des écritures dans un fichier normal contrôlé par un attaquant quand le programme avait l'intention d’en créer un. .TP \fI/proc/sys/fs/protected_symlinks\fP (depuis Linux 3.6) .\" commit 800179c9b8a1e796e441674776d11cd4c05d61d7 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\ : .RS .IP \- 3 l'UID de système de fichiers du processus suivant le lien correspond au propriétaire (UID) du lien symbolique (conformément à la description dans \fBcredentials\fP(7), l'UID de système de fichiers d'un processus est normalement le même que son UID effectif)\ ; .IP \- le lien n'est pas dans un répertoire «\ sticky\ » accessible en écriture à tous\ ; .IP \- le lien symbolique et son répertoire parent ont le même propriétaire (UID). .RE .IP Un appel système qui n'arrive pas à suivre un lien symbolique à cause des restrictions ci\-dessus renvoie l'erreur \fBEACCES\fP dans \fIerrno\fP. .IP 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é anciens basés sur des situations de compétition d’instant de vérification ou d’instant d'utilisation lors de l'accès aux liens symboliques. .TP \fI/proc/sys/fs/suid_dumpable\fP (depuis Linux 2.6.13) .\" The following is based on text from Documentation/sysctl/kernel.txt La valeur dans ce fichier est assignée à un drapeau «\ dumpable\ » de processus dans les circonstances décrites dans \fBprctl\fP(2). En effet, la valeur dans ce fichier détermine si les fichiers de vidage mémoire sont produits pour des binaires set\-user\-ID ou pour des binaires protégés/corrompus. Le réglage «\ dumpable\ » affecte aussi l’appartenance de fichiers dans un répertoire \fI/proc/\fPpid de processus comme cela est décrit ci\-dessus. .IP Trois valeurs d’entier différentes peuvent être indiquées\ : .RS .TP \fI0\ (par défaut)\fP .\" In kernel source: SUID_DUMP_DISABLE Cette valeur correspond au 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 \fBseteuid\fP(2), \fBsetgid\fP(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 activé. .TP \fI1\ (« débogage »)\fP .\" In kernel source: SUID_DUMP_USER Des images mémoire de tous les processus seront faites si possible (les raisons pour lesquelles des images mémoire sont néanmoins possibles sont décrites dans \fBcore\fP(5)). L'image mémoire appartient à l'ID utilisateur du système de fichiers du processus dont l'image a été créée et aucune mesure de sécurité n'est prise. Cette valeur n'est prévue que pour des raisons de débogage, ce mode n’étant pas sécurisé\ ; il permet en effet aux utilisateurs non privilégiés d’examiner le contenu de la mémoire des processus privilégiés. .TP \fI2\ («\ suidsafe\ »)\fP .\" In kernel source: SUID_DUMP_ROOT L'image mémoire d'un binaire qui n'aurait normalement pas été vidée (voir «\ 0\ » ci\-dessus) est sauvegardée et lisible par le superutilisateur (root) seulement. Cela permet à l'utilisateur de pouvoir supprimer l'image mémoire mais pas de la lire. Pour des raisons de sécurité, les images mémoire 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. .IP .\" 9520628e8ceb69fa9a4aee6b57f22675d9e1b709 .\" 54b501992dd2a839e94e76aa392c392b55080ce8 De plus, depuis Linux\ 3.6, \fI/proc/sys/kernel/core_pattern\fP doit être soit un chemin absolu, soit une commande de tube («\ pipe\ »), comme précisé dans \fBcore\fP(5). Des avertissements seront écrits dans le journal du noyau si \fIcore_pattern\fP ne suit pas ces règles et aucune image mémoire ne sera produite. .RE .IP Pour plus de détails sur les effets du réglage «\ dumpable\ » d’un processus sur la vérification du mode d’accès ptrace, consulter \fBptrace\fP(2). .TP \fI/proc/sys/fs/super\-max\fP 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 \fIsuper\-max\fP que si vous désirez monter plus de systèmes de fichiers que ce que la valeur actuelle de \fIsuper\-max\fP vous permet. .TP \fI/proc/sys/fs/super\-nr\fP Ce fichier contient le nombre de systèmes de fichiers montés actuellement. .TP \fI/proc/sys/kernel\fP Ce répertoire contient des fichiers contrôlant toute une série de paramètres du noyau, comme décrits ci\-dessous. .TP \fI/proc/sys/kernel/acct\fP Ce fichier contient trois nombres\ : un \fIseuil haut\fP, un \fIseuil bas\fP et une \fIpériode\fP. Si la comptabilité des processus à la manière BSD est activée, ces valeurs déterminent son comportement. Si l'espace disque libre sur le système de fichiers accueillant les statistiques descend sous le \fIseuil bas\fP, (en pourcentage), la comptabilité est suspendue. Si l'espace libre remonte au\-dessus du \fIseuil haut\fP, elle reprend. La \fIpériode\fP (en secondes) 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. .TP \fI/proc/sys/kernel/auto_msgmni\fP (Linux 2.6.27 à Linux 3.18) .\" commit 9eefe520c814f6f62c5d36a2ddcd3fb99dfdb30e (introduces feature) .\" commit 0050ee059f7fc86b1df2527aaa14ed5dc72f9973 (rendered redundant) De Linux\ 2.6.27 à Linux\ 3.18, ce fichier était utilisé pour contrôler le recalcul de la valeur dans \fI/proc/sys/kernel/msgmni\fP lors de l’ajout ou du retrait de mémoire, ou lors de la création ou suppression d’espaces de noms IPC. Inscrire «\ 1\ » dans ce fichier activait le recalcul automatique de \fImsgmni\fP (et déclenchait le recalcul de \fImsgmni\fP basé sur le montant actuel de mémoire disponible et le nombre d’espaces de noms IPC). Inscrire «\ 0\ » désactivait le recalcul automatique (celui\-ci était aussi désactivé si une valeur était explicitement assignée à \fI/proc/sys/kernel/msgmni\fP). La valeur par défaut de \fIauto_msgmni\fP était\ 1. .IP .\" FIXME Must document the 3.19 'msgmni' changes. Depuis Linux_3.19, le contenu de ce fichier n’a pas d’effet (parce que \fImsgmni\fP par défaut est proche de la valeur maximale possible) et lire ce fichier renverra toujours la valeur «\ 0\ ». .TP \fI/proc/sys/kernel/cap_last_cap\fP (depuis Linux 3.2) Consulter \fBcapabilities\fP(7). .TP \fI/proc/sys/kernel/cap\-bound\fP (de Linux 2.2 à 2.6.24) Ce fichier contient la valeur de \fIlimitation de capacités\fP 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 \fBexecve\fP(2). À partir de Linux\ 2.6.25, la limitation de capacités à l'échelle du système a disparu pour être remplacée par une limitation par thread. Consulter \fBcapabilities\fP(7). .TP \fI/proc/sys/kernel/core_pattern\fP Consulter \fBcore\fP(5). .TP \fI/proc/sys/kernel/core_pipe_limit\fP Consulter \fBcore\fP(5). .TP \fI/proc/sys/kernel/core_uses_pid\fP Consulter \fBcore\fP(5). .TP \fI/proc/sys/kernel/ctrl\-alt\-del\fP 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 \fBinit\fP(1) pour relancer le système correctement. Si la valeur est supérieure à zéro, la réaction de Linux à cette «\ prise de Vulcain\ » est un redémarrage immédiat, sans même écrire le contenu des tampons en attente. Remarque\ : lorsqu'un programme (comme dosemu) utilise le clavier en mode «\ raw\ » (brut), la séquence Ctrl\-Alt\-Suppr est interceptée par le programme avant même d'atteindre la couche tty du noyau, et c'est à ce programme de décider quoi en faire. .TP \fI/proc/sys/kernel/dmesg_restrict\fP (depuis Linux\ 2.6.37) .\" commit 620f6e8e855d6d447688a5f67a4e176944a084e8 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 privilégiés peuvent lire le journal système du noyau (consulter \fBsyslog\fP(2) pour plus de précisions). Depuis Linux\ 3.4, seuls les utilisateurs avec la capacité \fBCAP_SYS_ADMIN\fP peuvent modifier la valeur de ce fichier. .TP \fI/proc/sys/kernel/domainname\fP et \fI/proc/sys/kernel/hostname\fP Ces fichiers servent à indiquer les noms NIS/YP de domaine et d'hôte, exactement de la même manière que les commandes \fBdomainname\fP(1) et \fBhostname\fP(1). C'est\-à\-dire que\ : .IP .in +4n .EX #\fB echo \[aq]darkstar\[aq]\ > /proc/sys/kernel/hostname\fP #\fB echo \[aq]mydomain\[aq] > /proc/sys/kernel/domainname\fP .EE .in .IP a exactement le même effet que .IP .in +4n .EX #\fB hostname \[aq]darkstar\[aq]\fP #\fB domainname \[aq]mydomain\[aq]\fP .EE .in .IP 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 domaine sont généralement différents. Pour plus de détails, consultez la page \fBhostname\fP(1). .TP \fI/proc/sys/kernel/hotplug\fP Ce fichier contient le chemin de l'agent de politique de branchement à chaud. La valeur par défaut est \fI/sbin/hotplug\fP. .TP .\" Removed in commit 87f504e5c78b910b0c1d6ffb89bc95e492322c84 (tglx/history.git) \fI/proc/sys/kernel/htab\-reclaim\fP (avant Linux 2.4.9.2) .\" removed in commit 1b483a6a7b2998e9c98ad985d7494b9b725bd228, before Linux 2.6.28 (PowerPC seulement) Si ce fichier contient une valeur différente de zéro, la htab du PowerPC (voir le fichier \fIDocumentation/powerpc/ppc_htab.txt\fP du noyau) est parcourue chaque fois que le système atteint la boucle d'inactivité. .TP \fI/proc/sys/kernel/keys/*\fP Ce répertoire contient divers fichiers qui définissent les paramètres et les limites pour la fonction de gestion de clés. Ces fichiers sont décrits dans \fBkeyrings\fP(7). .TP \fI/proc/sys/kernel/kptr_restrict\fP (depuis Linux 2.6.38) .\" 455cd5ab305c90ffc422dd2e0fb634730942b257 .\" commit 411f05f123cbd7f8aa1edcae86970755a6e2a9d9 .\" commit 620f6e8e855d6d447688a5f67a4e176944a084e8 La valeur de ce fichier détermine si des adresses du noyau sont exposées par l'intermédiaire de fichiers \fI/proc\fP 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 \fI%pK\fP seront remplacés par des zéros sauf si l'utilisateur a la capacité \fBCAP_SYSLOG\fP. Si la valeur est\ 2, les pointeurs du noyau affichés en utilisant le spécificateur de format \fI%pK\fP 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é \fBCAP_SYS_ADMIN\fP peuvent modifier la valeur de ce fichier. .TP \fI/proc/sys/kernel/l2cr\fP (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. .TP \fI/proc/sys/kernel/modprobe\fP Ce fichier comporte le chemin du chargeur de modules du noyau. Sa valeur par défaut est \fI/sbin/modprobe\fP. Ce fichier n'est présent que si le noyau est construit avec l'option \fBCONFIG_MODULES\fP activée (\fBCONFIG_KMOD\fP dans les versions\ 2.6.26 et antérieures). Ce fichier est décrit dans le fichier \fIDocumentation/kmod.txt\fP des sources du noyau Linux (il n'est présent que dans Linux\ 2.4 et les versions antérieures). .TP \fI/proc/sys/kernel/modules_disabled\fP (depuis Linux 2.6.31) .\" 3d43321b7015387cfebbe26436d0e9d299162ea1 .\" From Documentation/sysctl/kernel.txt Une valeur de bascule indiquant si les modules peuvent être chargés dans un noyau par ailleurs modulaire. La valeur par défaut est non\ (0), mais peut être définie à oui\ (1). Une fois définie à oui, les modules ne peuvent ni être chargés, ni déchargés, et la bascule ne peut plus être redéfinie à non. Le fichier n'est présent que si le noyau est construit avec l'option \fBCONFIG_MODULES\fP activée. .TP \fI/proc/sys/kernel/msgmax\fP (disponible depuis Linux 2.2) Ce fichier définit une limite pour l'ensemble du système précisant le nombre maximal d'octets par message écrit dans une file de messages System\ V. .TP \fI/proc/sys/kernel/msgmni\fP (disponible depuis Linux 2.4) Ce fichier définit la limite pour le système du nombre d'identifiants de files de messages. Consulter aussi \fI/proc/sys/kernel/auto_msgmni\fP. .TP \fI/proc/sys/kernel/msgmnb\fP (depuis Linux 2.2) Ce fichier définit un paramètre valable pour l'ensemble du système utilisé pour initialiser la valeur \fImsg_qbytes\fP pour la création ultérieure de files de messages. La valeur \fImsg_qbytes\fP indique le nombre maximal d'octets qui pourront être écrits dans une file de messages. .TP \fI/proc/sys/kernel/ngroups_max\fP (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. .TP \fI/proc/sys/kernel/ns_last_pid\fP (depuis Linux 3.3) Consulter \fBpid_namespaces\fP(7). .TP \fI/proc/sys/kernel/ostype\fP et \fI/proc/sys/kernel/osrelease\fP Ces fichiers donnent des sous\-chaînes de \fI/proc/version\fP. .TP \fI/proc/sys/kernel/overflowgid\fP et \fI/proc/sys/kernel/overflowuid\fP Ces fichiers remplissent le même rôle que \fI/proc/sys/fs/overflowgid\fP et \fI/proc/sys/fs/overflowuid\fP. .TP \fI/proc/sys/kernel/panic\fP Ce fichier donne un accès en lecture et écriture à la variable \fIpanic_timeout\fP 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 de périphérique logiciel de surveillance watchdog, la valeur recommandée est de\ 60. .TP \fI/proc/sys/kernel/panic_on_oops\fP (depuis Linux 2.5.68) Ce fichier contrôle le comportement du noyau lorsqu'un oops (erreur non fatale) ou un bogue est rencontré. Si ce fichier contient\ 0, le système tente de continuer à travailler. S'il contient\ 1, 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 \fI/proc/sys/kernel/panic\fP est également différent de zéro, la machine redémarrera. .TP \fI/proc/sys/kernel/pid_max\fP (depuis Linux 2.5.34) .\" Prior to Linux 2.6.10, pid_max could also be raised above 32768 on 32-bit .\" platforms, but this broke /proc/[pid] .\" See http://marc.theaimsgroup.com/?l=linux-kernel&m=109513010926152&w=2 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 maximal plus un). Aucun PID supérieur à cette valeur n'est alloué, ainsi la valeur de ce fichier agit également comme une limite système du nombre maximal de processus et de threads. 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 maximale de \fIpid_max\fP est de 32768. Pour les systèmes 64\ bits, \fIpid_max\fP peut avoir n'importe quelle valeur jusqu'à 2\[ha]22 (\fBPID_MAX_LIMIT\fP, approximativement 4\ millions). .TP \fI/proc/sys/kernel/powersave\-nap\fP (PowerPC seulement) Ce fichier contient un drapeau. S'il est activé, Linux\-PPC utilisera le mode «\ nap\ » (sieste) d'économie d'énergie, sinon il utilisera le mode «\ doze\ » (somnolence). .TP \fI/proc/sys/kernel/printk\fP Consulter \fBsyslog\fP(2). .TP \fI/proc/sys/kernel/pty\fP (depuis Linux 2.6.4) Ce répertoire contient deux fichiers relatifs au nombre de pseudoterminaux UNIX\ 98 (consulter \fBpts\fP(4)) sur le système. .TP \fI/proc/sys/kernel/pty/max\fP .\" FIXME Document /proc/sys/kernel/pty/reserve .\" New in Linux 3.3 .\" commit e9aba5158a80098447ff207a452a3418ae7ee386 Ce fichier définit le nombre maximal de pseudoterminaux. .TP \fI/proc/sys/kernel/pty/nr\fP Ce fichier, en lecture seule, indique le nombre de pseudoterminaux en cours d'utilisation. .TP \fI/proc/sys/kernel/random\fP Ce répertoire contient divers paramètres contrôlant le fonctionnement du fichier \fI/dev/random\fP. Consulter \fBrandom\fP(4) pour davantage d'informations. .TP \fI/proc/sys/kernel/random/uuid\fP (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é. .TP \fI/proc/sys/kernel/randomize_va_space\fP (depuis Linux 2.6.12) .\" Some further details can be found in Documentation/sysctl/kernel.txt Sélection de la politique ASLR (adress space layout randomization –\ distribution aléatoire de l'espace d'adressage) pour le système (sur les architectures la gérant). Trois valeurs sont gérées dans ce fichier\ : .RS .TP \fB0\fP ASLR désactivée. C’est la valeur par défaut pour les architectures qui ne gèrent pas l’ASLR, et quand le noyau est amorcé avec le paramètre \fInorandmaps\fP. .TP \fB1\fP Randomiser les adresses d’allocations de \fBmmap\fP(2), de la pile et des pages VDSO (virtual dynamic shared object). Entre autres choses, cela signifie que les bibliothèques partagées seront chargées à des adresses aléatoires. Le segment de code des binaires liés PIE sera aussi chargé à une adresse aléatoire. Cette valeur est celle par défaut si le noyau a été configuré avec \fBCONFIG_COMPAT_BRK\fP. .TP \fB2\fP .\" commit c1d171a002942ea2d93b4fbd0c9583c56fce0772 (Depuis Linux\ 2.6.25) Prendre aussi en charge la randomisation du tas. Cette valeur est celle par défaut si le noyau a été configuré avec \fBCONFIG_COMPAT_BRK\fP. .RE .TP \fI/proc/sys/kernel/real\-root\-dev\fP .\" commit 9d85025b0418163fae079c9ba8f8445212de8568 Ce fichier est documenté dans le fichier \fIDocumentation/admin\-guide/initrd.rst\fP (ou \fIDocumentation/initrd.txt\fP avant Linux\ 4.10) des sources du noyau Linux. .TP \fI/proc/sys/kernel/reboot\-cmd\fP (Sparc seulement) Ce fichier permet apparemment de fournir un argument au chargeur d’amorçage ROM/Flash de SPARC. Peut\-être indique\-t\-il quoi faire après un redémarrage\ ? .TP \fI/proc/sys/kernel/rtsig\-max\fP (Jusqu’à Linux\ 2.6.7 inclus\ ; consulter \fBsetrlimit\fP(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. .TP \fI/proc/sys/kernel/rtsig\-nr\fP (Jusqu’à Linux\ 2.6.7 inclus). Ce fichier indique le nombre de signaux POSIX temps réel actuellement en file attente. .TP \fI/proc/\fPpid\fI/sched_autogroup_enabled\fP (depuis Linux 2.6.38) .\" commit 5091faa449ee0b7d73bc296a93bca9540fc51d0a Consulter \fBsched\fP(7). .TP \fI/proc/sys/kernel/sched_child_runs_first\fP (depuis Linux 2.6.23) Si ce fichier contient la valeur zéro, alors, après un \fBfork\fP(2), le parent est le premier programmé sur le CPU. Si le fichier contient une valeur différente, l’enfant est programmé en premier sur le CPU (bien évidemment sur un système multiprocesseur, le parent et l’enfant peuvent être tous les deux programmés sur le CPU). .TP \fI/proc/sys/kernel/sched_rr_timeslice_ms\fP (disponible depuis Linux 3.9) Consulter \fBsched_rr_get_interval\fP(2). .TP \fI/proc/sys/kernel/sched_rt_period_us\fP (depuis Linux 2.6.25) Consulter \fBsched\fP(7). .TP \fI/proc/sys/kernel/sched_rt_runtime_us\fP (depuis Linux 2.6.25) Consulter \fBsched\fP(7). .TP \fI/proc/sys/kernel/seccomp\fP (depuis Linux 4.14) .\" commit 8e5f1ad116df6b0de65eac458d5e7c318d1c05af Ce répertoire fournit une configuration et des informations supplémentaires sur seccomp. Consulter \fBseccomp\fP(2) pour plus de détails. .TP \fI/proc/sys/kernel/sem\fP (disponible depuis Linux 2.4) Ce fichier contient 4\ limites pour les sémaphores System\ V. Ces valeurs sont respectivement\ : .RS .TP SEMMSL Le nombre maximal de sémaphores par ensemble de sémaphores. .TP SEMMNS Une limite générale au système pour le nombre de sémaphores dans tous les ensembles de sémaphores. .TP SEMOPM Le nombre maximal d'opérations qui peuvent être indiquées dans un appel \fBsemop\fP(2). .TP SEMMNI Une limite générale sur le nombre maximal d'identifiants de sémaphores. .RE .TP \fI/proc/sys/kernel/sg\-big\-buff\fP Ce fichier montre la taille du tampon pour le périphérique SCSI générique (sg). Vous ne pouvez pas y écrire pour le moment, mais vous pouvez changer sa valeur à la compilation en éditant \fIinclude/scsi/sg.h\fP et en modifiant \fBSG_BIG_BUFF\fP. Toutefois, il ne devrait y avoir aucune raison de le modifier. .TP \fI/proc/sys/kernel/shm_rmid_forced\fP (disponible depuis Linux 3.1) .\" commit b34a6b1da371ed8af1221459a18c67970f7e3d53 .\" See also Documentation/sysctl/kernel.txt 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. .IP L’effet est identique à celui de la réalisation d’un \fBIPC_RMID\fP \fBshmctl\fP(2) sur tous les segments existants ainsi que sur tous les segments créés dans le futur (jusqu’à que ce fichier soit réinitialisé à zéro). Il est à remarquer que les segments existants qui ne sont attachés à aucun processus sont 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 terminaison du processus qui a créé le segment avec \fBshmget\fP(2). .IP 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 les limites de ressources (consulter la description de \fBRLIMIT_AS\fP dans \fBgetrlimit\fP(2)) d'au moins un processus. .IP 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 sur votre système. .TP \fI/proc/sys/kernel/shmall\fP (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. .TP \fI/proc/sys/kernel/shmmax\fP (disponible depuis Linux 2.2) Ce fichier permet de lire ou modifier la limite d’exécution pour la taille maximale des segments de mémoire partagée (IPC System\ V) qui peuvent être créés. Jusqu’à 1\ Go de segments de mémoire partagée sont à présent autorisés par le noyau. La valeur par défaut est \fBSHMMAX\fP. .TP \fI/proc/sys/kernel/shmmni\fP (disponible depuis Linux 2.4) Ce fichier indique le nombre maximal de segments de mémoire partagée System\ V qui peuvent être créés sur tout le système. .TP \fI/proc/sys/kernel/sysctl_writes_strict\fP (depuis Linux 3.16) .\" commit f88083005ab319abba5d0b2e4e997558245493c8 .\" commit 2ca9bb456ada8bcbdc8f77f8fc78207653bbaa92 .\" commit f4aacea2f5d1a5f7e3154e967d70cf3f711bcd61 .\" commit 24fe831c17ab8149413874f2fd4e5c8a41fcd294 La valeur dans ce fichier détermine comment le décalage (offset) dans le fichier affecte le comportement de mise à jour des enregistrements dans les fichiers sous \fI/proc/sys\fP. Ce fichier a trois valeurs possibles\ : .RS .TP 4 \-1 Cette valeur fournit la gestion patrimoniale, sans avertissement de la fonction \fBprintk\fP. Chaque \fBwrite\fP(2) doit entièrement contenir la valeur à écrire, et plusieurs écritures sur le même descripteur de fichier écraseront sa valeur entièrement, sans tenir compte de la position dans le fichier. .TP 0 (Par défaut) Cette valeur fournit le même comportement que pour \-1, mais les avertissements de ̣\fBprintk\fP sont écrits pour les processus qui réalisent des écritures quand le décalage dans le fichier n’est pas\ 0. .TP 1 .\" FIXME . .\" With /proc/sys/kernel/sysctl_writes_strict==1, writes at an .\" offset other than 0 do not generate an error. Instead, the .\" write() succeeds, but the file is left unmodified. .\" This is surprising. The behavior may change in the future. .\" See thread.gmane.org/gmane.linux.man/9197 .\" From: Michael Kerrisk (man-pages .\" Subject: sysctl_writes_strict documentation + an oddity? .\" Newsgroups: gmane.linux.man, gmane.linux.kernel .\" Date: 2015-05-09 08:54:11 GMT Respect du décalage dans le fichier lors d’écriture de chaînes dans les fichiers \fI/proc/sys\fP. Plusieurs écritures s’\fIajouteront\fP dans le tampon de valeur. Tout ce qui est écrit au\-delà de la longueur maximale du tampon de valeur sera ignoré. Les écritures sur les entrées numériques de \fI/proc/sys\fP doivent l’être au décalage\ 0 et la valeur doit être entièrement contenue dans le tampon fourni à \fBwrite\fP(2). .RE .TP \fI/proc/sys/kernel/sysrq\fP Ce fichier contrôle les fonctions qui peuvent être appelées avec la touche de clavier SysRq (Syst). 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\ : .RS .TP 5 0 Désactivation totale de cette touche\ ; .TP 1 Activer toutes les fonctions de cette touche\ ; .TP > 1 Masque de bits des fonctions de SysRq autorisées\ : .PD 0 .RS .TP 5 \ \ 2 Activation du contrôle du niveau de journalisation de la console, .TP \ \ 4 Activation des contrôles avec le clavier (SAK, unraw), .TP \ \ 8 Activation du débogage des vidages de processus,\ etc., .TP \ 16 Activation de la commande sync, .TP \ 32 Activation du remontage en lecture seule, .TP \ 64 Activation de l’envoi de signaux aux processus (tern, kill, oon\-kill), .TP 128 Permission de redémarrer/arrêter, .TP 256 Permission de réglage de la valeur nice de toutes les tâches temps réel. .RE .PD .RE .IP .\" commit 9d85025b0418163fae079c9ba8f8445212de8568 Ce fichier n'est présent que si l'option de configuration du noyau \fBCONFIG_MAGIC_SYSRQ\fP a été activée. Pour plus d'informations, consulter le fichier \fIDocumentation/admin\-guide/sysrq.rst\fP (ou \fIDocumentation/sysrq.txt\fPavant Linux\ 4.10) des sources du noyau. .TP \fI/proc/sys/kernel/version\fP Ce fichier contient une chaîne du type\ : .IP .in +4n .EX #5 Wed Feb 25 21:49:24 MET 1998 .EE .in .IP Le champ «\ #5\ » indique que c'est la cinquième compilation du noyau depuis ces sources, et la date correspond à celle de la compilation. .TP \fI/proc/sys/kernel/threads\-max\fP (disponible depuis Linux 2.3.11) .\" The following is based on Documentation/sysctl/kernel.txt Ce fichier contient le nombre maximal de threads (tâches) qui peuvent être créés sur le système. .IP .\" commit 230633d109e35b0a24277498e773edeb79b4a331 Depuis Linux\ 4.1, la valeur pouvant être écrite pour \fIthreads\-max\fP est limitée. Sa valeur minimale est 20. Sa valeur maximale est donnée par la constante \fBFUTEX_TID_MASK\fP (0x3fffffff). Si la valeur indiquée se situe en dehors de cet intervalle, une erreur \fBEINVAL\fP survient. .IP Cette valeur écrite est confrontée avec les pages de RAM disponibles. Si les structures de thread veulent occuper trop de (plus d’un huitième des) pages de RAM disponibles, \fIthreads\-max\fP est réduit en conséquence. .TP \fI/proc/sys/kernel/yama/ptrace_scope\fP (depuis Linux 3.5) Consulter \fBptrace\fP(2). .TP \fI/proc/sys/kernel/zero\-paged\fP (PowerPC seulement) Ce fichier contient un drapeau. S'il est activé (différent de zéro), Linux\-PPC effacera les pages dans sa boucle d'inactivité, accélérant éventuellement get_free_pages. .TP \fI/proc/sys/net\fP Ce répertoire contient des éléments relatifs au réseau. Des explications pour certains des fichiers de ce répertoire peuvent être trouvées dans \fBtcp\fP(7) et \fBip\fP(7). .TP \fI/proc/sys/net/core/bpf_jit_enable\fP Consulter \fBbpf\fP(2). .TP \fI/proc/sys/net/core/somaxconn\fP Ce fichier définit une valeur plafond pour le paramètre \fIbacklog\fP de \fBlisten\fP(2). Consulter la page de manuel \fBlisten\fP(2) pour plus de précisions. .TP \fI/proc/sys/proc\fP Ce répertoire peut être vide. .TP \fI/proc/sys/sunrpc\fP Ce répertoire gère l’appel de procédure à distance (RPC) de Sun sur un système de fichiers réseau (NFS). Sur certains systèmes, il est absent. .TP \fI/proc/sys/user\fP (depuis Linux 4.9) Consulter \fBnamespaces\fP(7). .TP \fI/proc/sys/vm\fP Ce répertoire contient des fichiers de paramétrage de la gestion de mémoire, des tampons et du cache. .TP \fI/proc/sys/vm/admin_reserve_kbytes\fP (depuis Linux 3.10) .\" commit 4eeab4f5580d11bffedc697684b91b0bca0d5009 Ce fichier définit le montant de mémoire libre (en Kio) qui doit être réservée sur le système pour les utilisateurs ayant la capacité \fBCAP_SYS_ADMIN\fP. .IP La valeur par défaut dans ce fichier est le minimum de [3\ % de pages libres, 8\ Mio] exprimé en Kio. La valeur par défaut est destinée à en fournir assez pour que le superutilisateur puisse se connecter et tuer un processus si nécessaire, en utilisant le mode «\ guess\ » d’allocation excessive de mémoire (overcommit –\ c’est\-à\-dire\ 0 dans \fI/proc/sys/vm/overcommit_memory\fP). .IP Les systèmes qui s'exécutent dans le mode «\ overcommit never\ » (c’est\-à\-dire 2 dans \fI/proc/sys/vm/overcommit_memory\fP) doivent augmenter la valeur dans ce fichier pour prendre en compte la taille totale de mémoire virtuelle pour les programmes utilisés pour récupérer (par exemple, \fBlogin\fP(1), \fBssh\fP(1) et \fBtop\fP(1)). Sinon le superutilisateur pourrait ne pas être capable de se connecter pour récupérer le système. Par exemple, pour x86\-64 une valeur acceptable est 131072 (128\ Mio réservés). .IP Le changement de la valeur dans ce fichier prend effet dès qu’une application requiert de la mémoire. .TP \fI/proc/sys/vm/compact_memory\fP (depuis Linux 2.6.35) Lorsque\ 1 est inscrit dans ce fichier, toutes les zones sont compactées de façon à ce que toute la mémoire libre soit constituée de blocs contigus si possible. L’effet de cette action est visible en examinant \fI/proc/buddyinfo\fP. .IP Ce fichier n’est présent que si le noyau est configuré avec l'option \fBCONFIG_COMPACTION\fP. .TP \fI/proc/sys/vm/drop_caches\fP (depuis Linux 2.6.16) Écrire dans ce fichier force le noyau à libérer les caches, entrées de répertoire 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 tests reproductibles de performance 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. .IP Pour libérer les pages de cache, utilisez\ : .IP .in +4n .EX echo 1 > /proc/sys/vm/drop_caches .EE .in .IP Pour libérer les entrées de répertoire et les inœuds, utilisez\ : .IP .in +4n .EX echo 2 > /proc/sys/vm/drop_caches .EE .in .IP Pour libérer les pages de cache, entrées de répertoire et inœuds, utilisez\ : .IP .in +4n .EX echo 3 > /proc/sys/vm/drop_caches .EE .in .IP 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 \fBsync\fP(8) au préalable. .TP \fI/proc/sys/vm/sysctl_hugetlb_shm_group\fP (depuis Linux 2.6.7) Ce fichier éditable contient un ID de groupe autorisé à allouer de la mémoire en utilisant des pages volumineuses. Si un processus à un ID de groupe de système de fichiers ou tout autre ID de groupe supplémentaire qui correspond à cet ID de groupe, il peut réaliser des allocations de pages volumineuses sans détenir la capacité \fBCAP_IPC_LOCK\fP. Consulter \fBmemfd_create\fP(2), \fBmmap\fP(2) et \fBshmget\fP(2). .TP \fI/proc/sys/vm/legacy_va_layout\fP (depuis Linux 2.6.9) .\" The following is from Documentation/filesystems/proc.txt S'il est différent de zéro, cela désactive la nouvelle disposition de carte mémoire 32\ bits. Le noyau utilisera alors la disposition patrimoniale (2.4) pour tous les processus. .TP \fI/proc/sys/vm/memory_failure_early_kill\fP (depuis Linux 2.6.32) .\" The following is based on the text in Documentation/sysctl/vm.txt Contrôler comment tuer les processus lorsqu'une erreur mémoire non corrigée (typiquement une erreur sur 2\ bits dans 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 valable de la page sur disque), le noyau est capable de gé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. .IP Ce fichier peut contenir l'une des valeurs suivantes\ : .RS .TP \fB1\fP 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), mais cela fonctionne avec la majorité des pages utilisateur. .TP \fB0\fP Supprimer la projection de la page corrompue dans tous les processus, et ne tuer les processus que s'ils essaient d'y accéder. .RE .IP L'action de tuer le processus est effectuée en envoyant un signal \fBSIGBUS\fP avec \fIsi_code\fP mis à \fBBUS_MCEERR_AO\fP. Les processus peuvent gérer cette situation s'ils le souhaitent\ ; consulter \fBsigaction\fP(2) pour plus de précisions. .IP 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. .IP Les applications peuvent modifier individuellement le paramètre \fImemory_failure_early_kill\fP avec l'opération \fBPR_MCE_KILL\fP de \fBprctl\fP(2). .IP Ce fichier n'est disponible que si le noyau est configuré avec l'option \fBCONFIG_MEMORY_FAILURE\fP. .TP \fI/proc/sys/vm/memory_failure_recovery\fP (depuis Linux 2.6.32) .\" The following is based on the text in Documentation/sysctl/vm.txt Activer la récupération d’une erreur mémoire (si la plateforme le permet). .RS .TP \fB1\fP Tenter une récupération. .TP \fB0\fP Toujours sortir en mode panique sur une erreur mémoire. .RE .IP Ce fichier n'est disponible que si le noyau est configuré avec l'option \fBCONFIG_MEMORY_FAILURE\fP. .TP \fI/proc/sys/vm/oom_dump_tasks\fP (depuis Linux 2.6.25) .\" The following is from Documentation/sysctl/vm.txt Activer 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 (OOM\-killing). L'image contient les informations suivantes pour chaque tâche (thread ou processus)\ : ID de thread, ID utilisateur réel, ID groupe de threads (ID 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 \fI/proc/\fPpid\fI/oom_adj\fP) et le nom de la commande. La production de cette image 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. .IP Avec la valeur zéro, l'information est supprimée. Sur les très gros systèmes avec des milliers de tâches, il peut être impossible de créer l'image avec les informations d’état de la mémoire pour chacune d'entre elles. Ces systèmes ne doivent pas être obligés de pénaliser leurs performances dans ces cas de pénurie de mémoire si ces informations ne sont pas souhaitées. .IP Pour toute valeur différente de zéro, ces informations sont présentées à chaque fois que le système (OOM\-killer) de mise à mort sur mémoire saturée tue réellement une tâche monopolisation la mémoire (memory\-hogging). .IP La valeur par défaut est\ 0. .TP \fI/proc/sys/vm/oom_kill_allocating_task\fP (depuis Linux 2.6.24) .\" The following is from Documentation/sysctl/vm.txt Ce fichier active ou désactive la mise à mort de la tâche qui a créé le dépassement de mémoire dans les situations de mémoire saturée. .IP Avec une valeur de zéro, l’OOM\-killer parcourra la liste entière des tâches et celle à tuer sera sélectionnée en fonction d'heuristiques. Cette valeur sélectionne normalement une tâche monopolisant une grosse quantité de mémoire et qui libérera beaucoup de mémoire lorsqu'elle sera tuée. .IP Avec une valeur différente de zéro, l’OOM\-killer tuera simplement la tâche provoquant le dépassement de mémoire. Cela évite un parcours potentiellement coûteux de la liste des tâches. .IP Si \fI/proc/sys/vm/panic_on_oom\fP est différent de zéro, il est prioritaire sur toute valeur utilisée dans \fI/proc/sys/vm/oom_kill_allocating_task\fP. .IP La valeur par défaut est\ 0. .TP \fI/proc/sys/vm/overcommit_kbytes\fP (depuis Linux 3.14) .\" commit 49f0ce5f92321cdcf741e35f385669a421013cb7 Ce fichier éditable fournit une alternative à \fI/proc/sys/vm/overcommit_ratio\fP pour contrôler \fICommitLimit\fP quand \fI/proc/sys/vm/overcommit_memory\fP a pour valeur\ 2. Il permet de spécifier la quantité de mémoire réservée en plus sous forme de valeur absolue (en ko), plutôt qu’en pourcentage comme ce qui est fait pour \fIovercommit_ratio\fP. Cela permet un contrôle plus fin de \fICommitLimit\fP sur les systèmes ayant des tailles de mémoire extrêmement importantes. .IP Seul un des deux fichiers \fIovercommit_kbytes\fP ou \fIovercommit_ratio\fP peut avoir un effet. Si \fIovercommit_kbytes\fP a une valeur différente de zéro, il est utilisé pour calculer \fICommitLimit\fP, sinon c'est \fIovercommit_ratio\fP qui est utilisé. Écrire une valeur dans un de ces fichiers fera que la valeur dans l’autre fichier sera définie à zéro. .TP \fI/proc/sys/vm/overcommit_memory\fP Ce fichier contient le mode pour le comptage de la mémoire virtuelle du noyau. Les valeurs sont\ : .RS .IP 0\ : gestion heuristique du dépassement d'allocation mémoire (c'est la valeur par défaut) .br 1\ : pas de gestion du dépassement, ne jamais vérifier .br 2\ : toujours vérifier, gestion stricte du dépassement .RE .IP Dans le mode\ 0, les appels à \fBmmap\fP(2) utilisant \fBMAP_NORESERVE\fP ne sont pas vérifiés et le niveau de vérification par défaut est très faible, avec le risque d'avoir un processus tué à cause du manque de mémoire («\ OOM\-killed\ »). .IP Dans le mode\ 1, le noyau prétend qu’il y a toujours assez de mémoire, jusqu’à ce que la mémoire soit réellement épuisée. Un cas d’utilisation de ce mode est celui des applications de calcul scientifique utilisant de grands tableaux creux. Avant Linux\ 2.6.0, toute valeur différente de zéro impliquait le mode\ 1. .IP Dans le mode\ 2 (disponible depuis Linux\ 2.6), l’espace total d’adresses virtuelles pouvant être alloué (\fICommitLimit\fP dans \fI/proc/meminfo\fP) est calculé ainsi\ : .IP .in +4n .EX CommitLimit = (total_RAM \- total_huge_TLB) * overcommit_ratio / 100 + total_swap .EE .in .IP où\ : .RS .IP \- 3 \fItotal_RAM\fP est la quantité totale de RAM sur le système\ ; .IP \- \fItotal_huge_TLB\fP est la quantité de mémoire réservée pour les pages volumineuses\ ; .IP \- \fIovercommit_ratio\fP est la valeur dans \fI/proc/sys/vm/overcommit_ratio\fP\ ; .IP \- \fItotal_swap\fP est la quantité d’espace d’échange. .RE .IP Par exemple, sur un système ayant 16\ Go de RAM physique et 16\ Go d'espace d'échange, aucun espace réservé pour les pages volumineuses et avec un \fIovercommit_ratio\fP de 50, cette formule renvoie un \fICommitLimit\fP de 24\ Go. .IP Depuis Linux\ 3.14, si la valeur dans \fI/proc/sys/vm/overcommit_kbytes\fP est différente de zéro, \fICommitLimit\fP est calculé ainsi\ : .IP .in +4n .EX CommitLimit = overcommit_koctets + total_swap .EE .in .IP Consulter aussi la description dans \fI/proc/sys/vm/admin_reserve_kbytes\fP et \fI/proc/sys/vm/user_reserve_kbytes\fP. .TP \fI/proc/sys/vm/overcommit_ratio\fP (depuis Linux 2.6.0) Ce fichier éditable définit un pourcentage de dépassement de mémoire. La valeur par défaut dans ce fichier est 50. Consulter la description de \fI/proc/sys/vm/overcommit_memory\fP. .TP \fI/proc/sys/vm/panic_on_oom\fP (depuis Linux 2.6.18) .\" The following is adapted from Documentation/sysctl/vm.txt Ce fichier active ou désactive le déclenchement d'une panique dans les situations de mémoire saturée. .IP Si ce fichier est configuré à la valeur\ 0, l’OOM\-killer du noyau tuera un processus perturbateur. En général, il peut tuer un processus perturbateur sans tuer le système. .IP 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 à certains nœuds en utilisant des politiques de mémoire (\fBMPOL_BIND\fP de \fBmbind\fP(2)) ou des ensembles de processeurs (\fBcpuset\fP(7)), et si ces nœuds voient leur mémoire saturée, un processus peut être tué par l’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. .IP Si ce fichier est configuré à la valeur\ 2, le noyau panique toujours dans une situation de mémoire saturée. .IP 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électionner l'un ou l'autre en fonction de la politique de récupération en cas d'erreur. .TP \fI/proc/sys/vm/swappiness\fP .\" The following is from Documentation/sysctl/vm.txt 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 indiquent une agressivité plus importante. La valeur par défaut est de\ 60. .TP \fI/proc/sys/vm/user_reserve_kbytes\fP (depuis Linux 3.10) .\" commit c9b1d0981fcce3d9976d7b7a56e4e0503bc610dd Ce fichier indique une quantité de mémoire (en Kio) à réserver pour les processus d’utilisateur. Cela permet d’empêcher un utilisateur de démarrer un seul processus monopolisateur de mémoire et qu’il ne puisse récupérer (tuer le monopolisateur). La valeur dans ce fichier a un effet seulement quand \fI/proc/sys/vm/overcommit_memory\fP est défini à\ 2 (mode «\ overcommit never\ »). Dans ce cas, le système réserve une quantité de mémoire qui est le minimum de [3\ % de la taille du processus en cours, \fIuser_reserve_kbytes\fP]. .IP La valeur par défaut dans ce fichier est le minimum de [3\ % des pages libres, 128\ Mio] exprimé en Kio. .IP Si la valeur dans ce fichier est définie à zéro, l’utilisateur pourra allouer toute la mémoire libre pour un seul processus (moins la quantité réservée par \fI/proc/sys/vm/admin_reserve_kbytes\fP). Tout essai ultérieur d’exécuter une commande aboutira dans un «\ fork: Cannot allocate memory\ ». .IP Le changement de la valeur dans ce fichier prend effet dès qu’une application requiert de la mémoire. .TP \fI/proc/sys/vm/unprivileged_userfaultfd\fP (depuis Linux 5.2) .\" cefdca0a86be517bc390fc4541e3674b8e7803b0 Ce fichier (éditable) expose un drapeau qui contrôle si les processus non privilégiés sont autorisés à employer \fBuserfaultfd\fP(2). Si ce fichier a pour valeur\ 1, alors ils le peuvent, si la valeur est\ 0, seuls les processus ayant la capacité \fBCAP_SYS_PTRACE\fP peuvent utiliser \fBuserfaultfd\fP(2). La valeur par défaut dans ce fichier est\ 1. .TP \fI/proc/sysrq\-trigger\fP (depuis Linux 2.4.21) .\" commit 9d85025b0418163fae079c9ba8f8445212de8568 L'écriture d'un caractère dans ce fichier déclenche la même fonction SysRq que la saisie de la combinaison ALT\-SysRq\- (consulter la description de \fI/proc/sys/kernel/sysrq\fP). Ce fichier est normalement accessible en écriture seulement pour \fIroot\fP. Pour plus d'informations, consulter le fichier \fIDocumentation/admin\-guide/sysrq.rst\fP (ou \fIDocumentation/sysrq.txt\fP avant Linux\ 4.10) des sources du noyau. .TP \fI/proc/sysvipc\fP Sous\-répertoire contenant les pseudofichiers \fImsg\fP, \fIsem\fP et \fIshm\fP. Ces fichiers listent les objets d'IPC de System\ V (respectivement 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 \fBipcs\fP(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 \fBsysvipc\fP(7) donne davantage d'informations concernant les données fournies par ces fichiers. .TP \fI/proc/thread\-self\fP (depuis Linux 3.17) .\" commit 0097875bd41528922fb3bb5f348c53f17e00e2fd Ce répertoire se rapporte au thread accédant au système de fichiers \fI/proc\fP, et est identique au sous\-répertoire de \fI/proc/self/task\fPtid ayant pour nom l’Id de thread (\fItid\fP) du même thread. .TP \fI/proc/timer_list\fP (depuis Linux 2.6.21) .\" commit 289f480af87e45f7a6de6ba9b4c061c2e259fe98 Ce fichier en lecture seule expose la liste de tous les temporisateurs (haute résolution) en attente, de toutes les sources d'évènement d'horloge, ainsi que leurs paramètres sous une forme lisible par un humain. .TP \fI/proc/timer_stats\fP (de Linux 2.6.21 jusqu’à Linux 4.10) .\" commit 82f67cd9fca8c8762c15ba7ed0d5747588c1e221 .\" Date: Fri Feb 16 01:28:13 2007 -0800 .\" Text largely derived from Documentation/timers/timer_stats.txt .\" removed in commit dfb4357da6ddbdf57d583ba64361c9d792b0e0b1 .\" Date: Wed Feb 8 11:26:59 2017 -0800 Il s'agit d'une fonctionnalité de débogage offrant aux développeurs noyau et espace utilisateur la visibilité sur l'utilisation ou l'abus des temporisateurs. Elle permet aux développeurs noyau et espace utilisateur de vérifier que leur code ne fait pas un usage injustifié des temporisateurs. L'objectif est d'éviter les réveils inutiles et ainsi d'optimiser la consommation d'énergie. .IP Si cette fonctionnalité est activée dans le noyau (\fBCONFIG_TIMER_STATS\fP) mais n'est pas utilisée, le surcoût de temps de traitement est quasiment nul et plutôt faible sur la taille des structures. Même lorsque la collecte est activée au moment de l’exécution, son surcoût est faible\ : tous les verrous sont par CPU et la recherche est hachée. .IP Le fichier \fI/proc/timer_stats\fP est utilisé à la fois pour contrôler la fonction d'échantillonnage et lire les informations échantillonnées. .IP La fonction \fItimer_stats\fP n'est pas active au démarrage. La commande suivante démarre l'échantillonnage\ : .IP .in +4n .EX # echo 1 > /proc/timer_stats .EE .in .IP La commande suivante arrête l'échantillonnage\ : .IP .in +4n .EX # echo 0 > /proc/timer_stats .EE .in .IP La commande suivante récupère les statistiques\ : .IP .in +4n .EX $ cat /proc/timer_stats .EE .in .IP Lorsque l'échantillonnage est activé, chaque lecture depuis \fI/proc/timer_stats\fP fournira des statistiques nouvellement mises à jour. Une fois l'échantillonnage désactivé, les informations échantillonnées sont conservées jusqu'au démarrage d'une nouvelle période de collecte. Cela autorise plusieurs lectures. .IP Exemple de sortie de \fI/proc/timer_stats\fP\ : .IP .in +4n .EX $\fB cat /proc/timer_stats\fP Timer Stats Version: v0.3 Sample period: 1.764 s Collection: active 255, 0 swapper/3 hrtimer_start_range_ns (tick_sched_timer) 71, 0 swapper/1 hrtimer_start_range_ns (tick_sched_timer) 58, 0 swapper/0 hrtimer_start_range_ns (tick_sched_timer) 4, 1694 gnome\-shell mod_delayed_work_on (delayed_work_timer_fn) 17, 7 rcu_sched rcu_gp_kthread (process_timeout) \&... 1, 4911 kworker/u16:0 mod_delayed_work_on (delayed_work_timer_fn) 1D, 2522 kworker/0:0 queue_delayed_work_on (delayed_work_timer_fn) 1029 total events, 583.333 events/sec .EE .in .IP Les colonnes produites représentent\ : .RS .IP [1] 5 .\" commit c5c061b8f9726bc2c25e19dec227933a13d1e6b7 deferrable timers le nombre d'évènements, suivi éventuellement (depuis Linux\ 2.6.23) de la lettre «\ D\ » s'il s'agit d'un temporisateur différable\ ; .IP [2] le PID du processus qui a initialisé le temporisateur\ ; .IP [3] le nom du processus qui a initialisé le temporisateur\ ; .IP [4] la fonction où le temporisateur a été initialisé, et, entre parenthèses, la fonction de rappel associée au temporisateur. .RE .IP Durant le cycle de développement de Linux\ 4.11, ce fichier a été supprimé pour des raisons de sécurité, car il exposait des informations à travers les espaces de noms. De plus, il est possible d’obtenir les mêmes informations à l’aide des fonctions internes de traçage du noyau telles que ftrace. .TP \fI/proc/tty\fP Sous\-répertoire contenant les pseudofichiers et les sous\-répertoires pour les pilotes de tty et les disciplines de ligne (LDISC). .TP \fI/proc/uptime\fP Ce fichier contient deux nombres (valeurs en secondes)\ : la durée de fonctionnement (uptime) et le temps écoulé à ne rien faire (idle). .TP \fI/proc/version\fP Cette chaîne identifie la version du noyau en cours d'exécution. Elle inclut le contenu de \fI/proc/sys/kernel/ostype\fP, \fI/proc/sys/kernel/osrelease\fP et \fI/proc/sys/kernel/version\fP. Par exemple\ : .IP .in +4n .EX Linux version 1.0.9 (quinlan@phaze) #1 Sat May 14 01:51:54 EDT 1994 .EE .in .\" FIXME 2.6.13 seems to have /proc/vmcore implemented; document this .\" See Documentation/kdump/kdump.txt .\" commit 666bfddbe8b8fd4fd44617d6c55193d5ac7edb29 .\" Needs CONFIG_VMCORE .\" .TP \fI/proc/vmstat\fP (depuis Linux 2.6.0) .\" FIXME We need explanations for each of the following fields... Ce fichier affiche diverses statistiques sur la mémoire virtuelle. Chaque ligne de ce fichier contient une seule paire nom\-valeur, délimitée par un espace blanc. Certaines lignes sont présentes seulement si le noyau a été configuré avec les options appropriées (dans certains cas, les options nécessaires pour certains fichiers ont changé à travers les versions du noyau, aussi elles ne sont pas listées ici\ ; plus de détails sont disponibles en consultant le code source du noyau). Les champs suivants peuvent être présents\ : .RS .TP \fInr_free_pages\fP (depuis Linux 2.6.31) .\" commit d23ad42324cc4378132e51f2fc5c9ba6cbe75182 .TP \fInr_alloc_batch\fP (depuis Linux 3.12) .\" commit 81c0a2bb515fd4daae8cab64352877480792b515 .TP \fInr_inactive_anon\fP (depuis Linux 2.6.28) .\" commit 4f98a2fee8acdb4ac84545df98cccecfd130f8db .TP \fInr_active_anon\fP (depuis Linux 2.6.28) .\" commit 4f98a2fee8acdb4ac84545df98cccecfd130f8db .TP \fInr_inactive_file\fP (depuis Linux 2.6.28) .\" commit 4f98a2fee8acdb4ac84545df98cccecfd130f8db .TP \fInr_active_file\fP (depuis Linux 2.6.28) .\" commit 4f98a2fee8acdb4ac84545df98cccecfd130f8db .TP \fInr_unevictable\fP (depuis Linux 2.6.28) .\" commit 7b854121eb3e5ba0241882ff939e2c485228c9c5 .TP \fInr_mlock\fP (depuis Linux 2.6.28) .\" commit 5344b7e648980cc2ca613ec03a56a8222ff48820 .TP \fInr_anon_pages\fP (depuis Linux 2.6.18) .\" commit f3dbd34460ff54962d3e3244b6bcb7f5295356e6 .TP \fInr_mapped\fP (depuis Linux 2.6.0) .TP \fInr_file_pages\fP (depuis Linux 2.6.18) .\" commit 347ce434d57da80fd5809c0c836f206a50999c26 .TP \fInr_dirty\fP (depuis Linux 2.6.0) .TP \fInr_writeback\fP (depuis Linux 2.6.0) .TP \fInr_slab_reclaimable\fP (depuis Linux 2.6.19) .\" commit 972d1a7b140569084439a81265a0f15b74e924e0 .\" Linux 2.6.0 had nr_slab .TP \fInr_slab_unreclaimable\fP (depuis Linux 2.6.19) .\" commit 972d1a7b140569084439a81265a0f15b74e924e0 .TP \fInr_page_table_pages\fP (depuis Linux 2.6.0) .TP \fInr_kernel_stack\fP (depuis Linux 2.6.32) .\" commit c6a7f5728a1db45d30df55a01adc130b4ab0327c Quantité de mémoire allouée aux piles du noyau. .TP \fInr_unstable\fP (depuis Linux 2.6.0) .TP \fInr_bounce\fP (depuis Linux 2.6.12) .\" commit edfbe2b0038723e5699ab22695ccd62b5542a5c1 .TP \fInr_vmscan_write\fP (depuis Linux 2.6.19) .\" commit e129b5c23c2b471d47f1c5d2b8b193fc2034af43 .TP \fInr_vmscan_immediate_reclaim\fP (depuis Linux 3.2) .\" commit 49ea7eb65e7c5060807fb9312b1ad4c3eab82e2c .TP \fInr_writeback_temp\fP (depuis Linux 2.6.26) .\" commit fc3ba692a4d19019387c5acaea63131f9eab05dd .TP \fInr_isolated_anon\fP (depuis Linux 2.6.32) .\" commit a731286de62294b63d8ceb3c5914ac52cc17e690 .TP \fInr_isolated_file\fP (depuis Linux 2.6.32) .\" commit a731286de62294b63d8ceb3c5914ac52cc17e690 .TP \fInr_shmem\fP (depuis Linux 2.6.32) .\" commit 4b02108ac1b3354a22b0d83c684797692efdc395 Pages utilisées par shmem et \fBtmpfs\fP(5). .TP \fInr_dirtied\fP (depuis Linux 2.6.37) .\" commit ea941f0e2a8c02ae876cd73deb4e1557248f258c .TP \fInr_written\fP (depuis Linux 2.6.37) .\" commit ea941f0e2a8c02ae876cd73deb4e1557248f258c .TP \fInr_pages_scanned\fP (depuis Linux 3.17) .\" commit 0d5d823ab4e608ec7b52ac4410de4cb74bbe0edd .TP \fInuma_hit\fP (depuis Linux 2.6.18) .\" commit ca889e6c45e0b112cb2ca9d35afc66297519b5d5 .\" Present only if the kernel was configured with .\" .BR CONFIG_NUMA . .TP \fInuma_miss\fP (depuis Linux 2.6.18) .\" commit ca889e6c45e0b112cb2ca9d35afc66297519b5d5 .\" Present only if the kernel was configured with .\" .BR CONFIG_NUMA . .TP \fInuma_foreign\fP (depuis Linux 2.6.18) .\" commit ca889e6c45e0b112cb2ca9d35afc66297519b5d5 .\" Present only if the kernel was configured with .\" .BR CONFIG_NUMA . .TP \fInuma_interleave\fP (depuis Linux 2.6.18) .\" commit ca889e6c45e0b112cb2ca9d35afc66297519b5d5 .\" Present only if the kernel was configured with .\" .BR CONFIG_NUMA . .TP \fInuma_local\fP (depuis Linux 2.6.18) .\" commit ca889e6c45e0b112cb2ca9d35afc66297519b5d5 .\" Present only if the kernel was configured with .\" .BR CONFIG_NUMA . .TP \fInuma_other\fP (depuis Linux 2.6.18) .\" commit ca889e6c45e0b112cb2ca9d35afc66297519b5d5 .\" Present only if the kernel was configured with .\" .BR CONFIG_NUMA . .TP \fIworkingset_refault\fP (depuis Linux 3.15) .\" commit a528910e12ec7ee203095eb1711468a66b9b60b0 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIworkingset_activate\fP (depuis Linux 3.15) .\" commit a528910e12ec7ee203095eb1711468a66b9b60b0 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIworkingset_nodereclaim\fP (depuis Linux 3.15) .\" commit 449dd6984d0e47643c04c807f609dd56d48d5bcc .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fInr_anon_transparent_hugepages\fP (depuis Linux 2.6.38) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fInr_free_cma\fP (depuis Linux 3.7) .\" commit d1ce749a0db12202b711d1aba1d29e823034648d .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . Nombre de pages CMA (Contiguous Memory Allocator) libres. .TP \fInr_dirty_threshold\fP (depuis Linux 2.6.37) .\" commit 79da826aee6a10902ef411bc65864bd02102fa83 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fInr_dirty_background_threshold\fP (depuis Linux 2.6.37) .\" commit 79da826aee6a10902ef411bc65864bd02102fa83 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgpgin\fP (depuis Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgpgout\fP (depuis Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpswpin\fP (depuis Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpswpout\fP (depuis Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgalloc_dma\fP (depuis Linux 2.6.5) .\" Linux 2.6.0 had pgalloc .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgalloc_dma32\fP (depuis Linux 2.6.16) .\" commit 9328b8faae922e52073785ed6c1eaa8565648a0e .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgalloc_normal\fP (depuis Linux 2.6.5) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgalloc_high\fP (depuis Linux 2.6.5) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_HIGHMEM . .TP \fIpgalloc_movable\fP (depuis Linux 2.6.23) .\" commit 2a1e274acf0b1c192face19a4be7c12d4503eaaf .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgfree\fP (depuis Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgactivate\fP (depuis Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgdeactivate\fP (depuis Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgfault\fP (depuis Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgmajfault\fP (depuis Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgrefill_dma\fP (depuis Linux 2.6.5) .\" Linux 2.6.0 had pgrefill .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgrefill_dma32\fP (depuis Linux 2.6.16) .\" commit 9328b8faae922e52073785ed6c1eaa8565648a0e .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgrefill_normal\fP (depuis Linux 2.6.5) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgrefill_high\fP (depuis Linux 2.6.5) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_HIGHMEM . .TP \fIpgrefill_movable\fP (depuis Linux 2.6.23) .\" commit 2a1e274acf0b1c192face19a4be7c12d4503eaaf .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .\" Formerly there were .\" pgsteal_high .\" pgsteal_normal .\" pgsteal_dma32 .\" pgsteal_dma .\" These were split out into pgsteal_kswapd* and pgsteal_direct* .\" in commit 904249aa68010c8e223263c922fcbb840a3f42e4 .TP \fIpgsteal_kswapd_dma\fP (depuis Linux 3.4) .\" commit 904249aa68010c8e223263c922fcbb840a3f42e4 .\" Linux 2.6.0 had pgsteal .\" Present only if the kernel was configured with .\" .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgsteal_kswapd_dma32\fP (depuis Linux 3.4) .\" commit 904249aa68010c8e223263c922fcbb840a3f42e4 .\" commit 9328b8faae922e52073785ed6c1eaa8565648a0e .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgsteal_kswapd_normal\fP (depuis Linux 3.4) .\" commit 904249aa68010c8e223263c922fcbb840a3f42e4 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgsteal_kswapd_high\fP (depuis Linux 3.4) .\" commit 904249aa68010c8e223263c922fcbb840a3f42e4 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_HIGHMEM . .TP \fIpgsteal_kswapd_movable\fP (depuis Linux 3.4) .\" commit 904249aa68010c8e223263c922fcbb840a3f42e4 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgsteal_direct_dma\fP .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgsteal_direct_dma32\fP (depuis Linux 3.4) .\" commit 904249aa68010c8e223263c922fcbb840a3f42e4 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgsteal_direct_normal\fP (depuis Linux 3.4) .\" commit 904249aa68010c8e223263c922fcbb840a3f42e4 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgsteal_direct_high\fP (depuis Linux 3.4) .\" commit 904249aa68010c8e223263c922fcbb840a3f42e4 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_HIGHMEM . .TP \fIpgsteal_direct_movable\fP (depuis Linux 2.6.23) .\" commit 2a1e274acf0b1c192face19a4be7c12d4503eaaf .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgscan_kswapd_dma\fP .\" Linux 2.6.0 had pgscan .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgscan_kswapd_dma32\fP (depuis Linux 2.6.16) .\" commit 9328b8faae922e52073785ed6c1eaa8565648a0e .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgscan_kswapd_normal\fP (depuis Linux 2.6.5) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgscan_kswapd_high\fP .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_HIGHMEM . .TP \fIpgscan_kswapd_movable\fP (depuis Linux 2.6.23) .\" commit 2a1e274acf0b1c192face19a4be7c12d4503eaaf .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgscan_direct_dma\fP .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgscan_direct_dma32\fP (depuis Linux 2.6.16) .\" commit 9328b8faae922e52073785ed6c1eaa8565648a0e .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgscan_direct_normal\fP .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgscan_direct_high\fP .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_HIGHMEM . .TP \fIpgscan_direct_movable\fP (depuis Linux 2.6.23) .\" commit 2a1e274acf0b1c192face19a4be7c12d4503eaaf .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgscan_direct_throttle\fP (depuis Linux 3.6) .\" commit 68243e76ee343d63c6cf76978588a885951e2818 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIzone_reclaim_failed\fP (depuis Linux 2.6.31) .\" commit 24cf72518c79cdcda486ed26074ff8151291cf65 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_NUMA . .TP \fIpginodesteal\fP (depuis Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIslabs_scanned\fP (depuis Linux 2.6.5) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIkswapd_inodesteal\fP (depuis Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIkswapd_low_wmark_hit_quickly\fP (depuis Linux 2.6.33) .\" commit bb3ab596832b920c703d1aea1ce76d69c0f71fb7 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIkswapd_high_wmark_hit_quickly\fP (depuis Linux 2.6.33) .\" commit bb3ab596832b920c703d1aea1ce76d69c0f71fb7 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpageoutrun\fP (depuis Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIallocstall\fP (depuis Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgrotated\fP (depuis Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIdrop_pagecache\fP (depuis Linux 3.15) .\" commit 5509a5d27b971a90b940e148ca9ca53312e4fa7a .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIdrop_slab\fP (depuis Linux 3.15) .\" commit 5509a5d27b971a90b940e148ca9ca53312e4fa7a .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fInuma_pte_updates\fP (depuis Linux 3.8) .\" commit 03c5a6e16322c997bf8f264851bfa3f532ad515f .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_NUMA_BALANCING . .TP \fInuma_huge_pte_updates\fP (depuis Linux 3.13) .\" commit 72403b4a0fbdf433c1fe0127e49864658f6f6468 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_NUMA_BALANCING . .TP \fInuma_hint_faults\fP (depuis Linux 3.8) .\" commit 03c5a6e16322c997bf8f264851bfa3f532ad515f .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_NUMA_BALANCING . .TP \fInuma_hint_faults_local\fP (depuis Linux 3.8) .\" commit 03c5a6e16322c997bf8f264851bfa3f532ad515f .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_NUMA_BALANCING . .TP \fInuma_pages_migrated\fP (depuis Linux 3.8) .\" commit 03c5a6e16322c997bf8f264851bfa3f532ad515f .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_NUMA_BALANCING .\" and .\" .BR CONFIG_NUMA_BALANCING . .TP \fIpgmigrate_success\fP (depuis Linux 3.8) .\" commit 5647bc293ab15f66a7b1cda850c5e9d162a6c7c2 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_MIGRATION . .TP \fIpgmigrate_fail\fP (depuis Linux 3.8) .\" commit 5647bc293ab15f66a7b1cda850c5e9d162a6c7c2 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_MIGRATION . .TP \fIcompact_migrate_scanned\fP (depuis Linux 3.8) .\" commit 397487db696cae0b026a474a5cd66f4e372995e6 .\" Linux 3.8 dropped compact_blocks_moved, compact_pages_moved, and .\" compact_pagemigrate_failed .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_COMPACTION . .TP \fIcompact_free_scanned\fP (depuis Linux 3.8) .\" commit 397487db696cae0b026a474a5cd66f4e372995e6 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_COMPACTION . .TP \fIcompact_isolated\fP (depuis Linux 3.8) .\" commit 397487db696cae0b026a474a5cd66f4e372995e6 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_COMPACTION . .TP \fIcompact_stall\fP (depuis Linux 2.6.35) .\" commit 56de7263fcf3eb10c8dcdf8d59a9cec831795f3f .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_COMPACTION . Consulter le fichier \fIDocumentation/admin\-guide/mm/transhuge.rst\fP des sources du noyau. .TP \fIcompact_fail\fP (depuis Linux 2.6.35) .\" commit 56de7263fcf3eb10c8dcdf8d59a9cec831795f3f .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_COMPACTION . Consulter le fichier \fIDocumentation/admin\-guide/mm/transhuge.rst\fP des sources du noyau. .TP \fIcompact_success\fP (depuis Linux 2.6.35) .\" commit 56de7263fcf3eb10c8dcdf8d59a9cec831795f3f .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_COMPACTION . Consulter le fichier \fIDocumentation/admin\-guide/mm/transhuge.rst\fP des sources du noyau. .TP \fIhtlb_buddy_alloc_success\fP (depuis Linux 2.6.26) .\" commit 3b1163006332302117b1b2acf226d4014ff46525 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_HUGETLB_PAGE . .TP \fIhtlb_buddy_alloc_fail\fP (depuis Linux 2.6.26) .\" commit 3b1163006332302117b1b2acf226d4014ff46525 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_HUGETLB_PAGE . .TP \fIunevictable_pgs_culled\fP (depuis Linux 2.6.28) .\" commit bbfd28eee9fbd73e780b19beb3dc562befbb94fa .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIunevictable_pgs_scanned\fP (depuis Linux 2.6.28) .\" commit bbfd28eee9fbd73e780b19beb3dc562befbb94fa .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIunevictable_pgs_rescued\fP (depuis Linux 2.6.28) .\" commit bbfd28eee9fbd73e780b19beb3dc562befbb94fa .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIunevictable_pgs_mlocked\fP (depuis Linux 2.6.28) .\" commit 5344b7e648980cc2ca613ec03a56a8222ff48820 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIunevictable_pgs_munlocked\fP (depuis Linux 2.6.28) .\" commit 5344b7e648980cc2ca613ec03a56a8222ff48820 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIunevictable_pgs_cleared\fP (depuis Linux 2.6.28) .\" commit 5344b7e648980cc2ca613ec03a56a8222ff48820 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIunevictable_pgs_stranded\fP (depuis Linux 2.6.28) .\" commit 5344b7e648980cc2ca613ec03a56a8222ff48820 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .\" Linux 3.7 removed unevictable_pgs_mlockfreed .TP \fIthp_fault_alloc\fP (depuis Linux 2.6.39) .\" commit 81ab4201fb7d91d6b0cd9ad5b4b16776e4bed145 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_TRANSPARENT_HUGEPAGE . Consulter le fichier \fIDocumentation/admin\-guide/mm/transhuge.rst\fP des sources du noyau. .TP \fIthp_fault_fallback\fP (depuis Linux 2.6.39) .\" commit 81ab4201fb7d91d6b0cd9ad5b4b16776e4bed145 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_TRANSPARENT_HUGEPAGE . Consulter le fichier \fIDocumentation/admin\-guide/mm/transhuge.rst\fP des sources du noyau. .TP \fIthp_collapse_alloc\fP (depuis Linux 2.6.39) .\" commit 81ab4201fb7d91d6b0cd9ad5b4b16776e4bed145 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_TRANSPARENT_HUGEPAGE . Consulter le fichier \fIDocumentation/admin\-guide/mm/transhuge.rst\fP des sources du noyau. .TP \fIthp_collapse_alloc_failed\fP (depuis Linux 2.6.39) .\" commit 81ab4201fb7d91d6b0cd9ad5b4b16776e4bed145 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_TRANSPARENT_HUGEPAGE . Consulter le fichier \fIDocumentation/admin\-guide/mm/transhuge.rst\fP des sources du noyau. .TP \fIthp_split\fP (depuis Linux 2.6.39) .\" commit 81ab4201fb7d91d6b0cd9ad5b4b16776e4bed145 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_TRANSPARENT_HUGEPAGE . Consulter le fichier \fIDocumentation/admin\-guide/mm/transhuge.rst\fP des sources du noyau. .TP \fIthp_zero_page_alloc\fP (depuis Linux 3.8) .\" commit d8a8e1f0da3d29d7268b3300c96a059d63901b76 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_TRANSPARENT_HUGEPAGE . Consulter le fichier \fIDocumentation/admin\-guide/mm/transhuge.rst\fP des sources du noyau. .TP \fIthp_zero_page_alloc_failed\fP (depuis Linux 3.8) .\" commit d8a8e1f0da3d29d7268b3300c96a059d63901b76 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_TRANSPARENT_HUGEPAGE . Consulter le fichier \fIDocumentation/admin\-guide/mm/transhuge.rst\fP des sources du noyau. .TP \fIballoon_inflate\fP (depuis Linux 3.18) .\" commit 09316c09dde33aae14f34489d9e3d243ec0d5938 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_MEMORY_BALLOON . .TP \fIballoon_deflate\fP (depuis Linux 3.18) .\" commit 09316c09dde33aae14f34489d9e3d243ec0d5938 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_MEMORY_BALLOON . .TP \fIballoon_migrate\fP (depuis Linux 3.18) .\" commit 09316c09dde33aae14f34489d9e3d243ec0d5938 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS , .\" .BR CONFIG_MEMORY_BALLOON , .\" and .\" .BR CONFIG_BALLOON_COMPACTION . .TP \fInr_tlb_remote_flush\fP (depuis Linux 3.12) .\" commit 9824cf9753ecbe8f5b47aa9b2f218207defea211 .\" Present only if the kernel was configured with .\" .BR CONFIG_DEBUG_TLBFLUSH .\" and .\" .BR CONFIG_SMP . .TP \fInr_tlb_remote_flush_received\fP (depuis Linux 3.12) .\" commit 9824cf9753ecbe8f5b47aa9b2f218207defea211 .\" Present only if the kernel was configured with .\" .BR CONFIG_DEBUG_TLBFLUSH .\" and .\" .BR CONFIG_SMP . .TP \fInr_tlb_local_flush_all\fP (depuis Linux 3.12) .\" commit 9824cf9753ecbe8f5b47aa9b2f218207defea211 .\" Present only if the kernel was configured with .\" .BR CONFIG_DEBUG_TLBFLUSH . .TP \fInr_tlb_local_flush_one\fP (depuis Linux 3.12) .\" commit 9824cf9753ecbe8f5b47aa9b2f218207defea211 .\" Present only if the kernel was configured with .\" .BR CONFIG_DEBUG_TLBFLUSH . .TP \fIvmacache_find_calls\fP (depuis Linux 3.16) .\" commit 4f115147ff802267d0aa41e361c5aa5bd933d896 .\" Present only if the kernel was configured with .\" .BR CONFIG_DEBUG_VM_VMACACHE . .TP \fIvmacache_find_hits\fP (depuis Linux 3.16) .\" commit 4f115147ff802267d0aa41e361c5aa5bd933d896 .\" Present only if the kernel was configured with .\" .BR CONFIG_DEBUG_VM_VMACACHE . .TP \fIvmacache_full_flushes\fP (depuis Linux 3.19) .\" commit f5f302e21257ebb0c074bbafc37606c26d28cc3d .\" Present only if the kernel was configured with .\" .BR CONFIG_DEBUG_VM_VMACACHE . .RE .TP \fI/proc/zoneinfo\fP (depuis Linux 2.6.13) .\" FIXME more should be said about /proc/zoneinfo Ce fichier affiche des informations concernant les zones de mémoire. Il permet d’analyser le comportement de la mémoire virtuelle. .SH NOTES De nombreux fichiers contiennent des chaînes (par exemple, l'environnement et la ligne de commande) dans un format interne avec des sous\-champs terminés par un octet NULL «\ \e0\ ». Pour inspecter de tels fichiers, les résultats peuvent être plus lisibles en utilisant la commande suivante\ : .PP .in +4n .EX $\fB cat \fP\fIfile\fP\fB | tr \[aq]\e000\[aq] \[aq]\en\[aq]\fP .EE .in .PP .\" .SH ACKNOWLEDGEMENTS .\" The material on /proc/sys/fs and /proc/sys/kernel is closely based on .\" kernel source documentation files written by Rik van Riel. Cette page de manuel est incomplète, peut être imprécise, et devrait être mise à jour très souvent. .SH "VOIR AUSSI" \fBcat\fP(1), \fBdmesg\fP(1), \fBfind\fP(1), \fBfree\fP(1), \fBhtop\fP(1), \fBinit\fP(1), \fBps\fP(1), \fBpstree\fP(1), \fBtr\fP(1), \fBuptime\fP(1), \fBchroot\fP(2), \fBmmap\fP(2), \fBreadlink\fP(2), \fBsyslog\fP(2), \fBslabinfo\fP(5), \fBsysfs\fP(5), \fBhier\fP(7), \fBnamespaces\fP(7), \fBtime\fP(7), \fBarp\fP(8), \fBhdparm\fP(8), \fBifconfig\fP(8), \fBlsmod\fP(8), \fBlspci\fP(8), \fBmount\fP(8), \fBnetstat\fP(8), \fBprocinfo\fP(8), \fBroute\fP(8), \fBsysctl\fP(8) .PP Les fichiers des sources du noyau Linux\ : \fIDocumentation/filesystems/proc.rst\fP, \fIDocumentation/admin\-guide/sysctl/fs.rst\fP, \fIDocumentation/admin\-guide/sysctl/kernel.rst\fP, \fIDocumentation/admin\-guide/sysctl/net.rst\fP et \fIDocumentation/admin\-guide/sysctl/vm.rst\fP. .PP .SH TRADUCTION La traduction française de cette page de manuel a été créée par Christophe Blaess , Stéphan Rafin , Thierry Vignaud , François Micaux, Alain Portal , Jean-Philippe Guérard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas François , Florentin Duneau , Simon Paillard , Denis Barbier , David Prévot , Jean-Paul Guillonneau et Lucien Gentis . .PP Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. .PP Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à .MT debian-l10n-french@lists.debian.org .ME .