Maison > Article > Opération et maintenance > Quel système de fichiers est proc sous Linux ?
Sous Linux, proc est un système de fichiers virtuel et un centre de contrôle qui peut modifier l'état d'exécution du noyau en modifiant certains fichiers ; c'est également un centre de requêtes fourni par le noyau, à travers lequel les utilisateurs peuvent visualiser les fichiers. le matériel du système et les informations sur le processus de fonctionnement actuel. Le système proc n'existe qu'en mémoire et fournit une interface pour accéder aux données du noyau système sous la forme d'un système de fichiers. L'état de fonctionnement du noyau peut être modifié en modifiant certains fichiers.
L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.
proc est appelé un système de fichiers virtuel. Il s'agit d'un centre de contrôle qui peut modifier l'état d'exécution du noyau en modifiant certains fichiers. noyau pour nous, utilisateurs Vous pouvez l'utiliser pour afficher le matériel système et les informations sur les processus en cours d'exécution.
La source de données de nombreux outils sous Linux est le contenu du répertoire proc. Par exemple, la commande lsmod est un alias de cat /proc/modules.
Il existe un type spécial de pseudo-système de fichiers sous Linux, qui est utilisé pour exécuter diverses fonctions en utilisant des opérations unifiées avec l'interface de fichier, telles que ptyfs, devfs, sysfs et procfs. Procfs est l'un des pseudo-systèmes de fichiers les plus utilisés.
En ce qui concerne le terme système de fichiers, le répertoire /proc n'est pas un véritable système de fichiers, c'est un système de fichiers virtuel, parfois aussi appelé pseudo-système de fichiers d'informations de processus.
Les données placées par proc sont toutes en mémoire, telles que le noyau du système, le processus, l'état des périphériques externes et l'état du réseau, etc. Étant donné que les données de ce répertoire sont en mémoire, elles n'occupent aucun espace sur le disque dur.
procfs est une interface de fichier abstraite pour les informations du noyau Linux. Une grande quantité d'informations et de paramètres réglables dans le noyau sont mappés sur une arborescence de répertoires sous forme de fichiers normaux, afin que nous puissions utiliser simplement et directement des commandes d'opération de fichiers telles que echo ou cat. Les informations système ont été récupérées et ajustées. En même temps, procfs fournit également une interface permettant à nos propres modules du noyau ou programmes en mode utilisateur de transférer des paramètres via procfs. Dans les systèmes Linux actuels, un grand nombre d'outils système obtiennent également les paramètres du noyau via procfs, tels que ps, lspci, etc. Sans procfs, ils risquent de ne pas fonctionner correctement.
Le système de fichiers proc est un pseudo système de fichiers. Il n'existe que dans la mémoire et n'occupe pas d'espace mémoire externe. Il fournit une interface pour accéder aux données du noyau système sous la forme d'un système de fichiers. Les utilisateurs et les applications peuvent obtenir des informations système via proc et modifier certains paramètres du noyau. Étant donné que les informations système, telles que les processus, changent dynamiquement, lorsqu'un utilisateur ou une application lit un fichier proc, le système de fichiers proc lit dynamiquement les informations requises à partir du noyau système et les soumet.
Le répertoire /proc sur le système Linux est un système de fichiers, à savoir le système de fichiers proc. Différent des autres systèmes de fichiers courants, /proc est un pseudo système de fichiers (c'est-à-dire un système de fichiers virtuel). Il n'existe qu'en mémoire et n'occupe pas d'espace mémoire externe. Il utilise un système de fichiers pour accéder aux données du noyau système. une interface), qui stocke une série de fichiers spéciaux qui stockent l'état d'exécution actuel du noyau. Les utilisateurs peuvent utiliser ces fichiers pour afficher des informations sur le matériel du système et les processus en cours d'exécution, et même modifier l'état d'exécution du noyau en modifiant certains d'entre eux. fichiers.
Répertoire, chaque processus actuellement en cours d'exécution dans le système a un répertoire correspondant sous /proc, avec le numéro PID du processus comme nom de répertoire.
Le répertoire fournit des attributs liés à la sécurité, qui sont lisibles et inscriptibles, pour prendre en charge les modules de sécurité tels que SELinux, etc. CONFIG_SECURITY doit être configuré.
fichier, attributs actuels liés à la sécurité.
, attributs liés à la sécurité définis lors de l'exécution de la commande execve.
fichier, attributs liés à la sécurité définis lors de l'exécution des commandes open, mkdir, symlink, mknod.
fichier, attributs liés à la sécurité définis lors de l'exécution de la commande add_key.
, attributs liés à la sécurité lors de la dernière exécution de la commande execve, c'est-à-dire le précédent "/proc/[pid]/attr/current".
fichier, attributs liés à la sécurité définis lors de la création d'un socket. Le fichier
peut être utilisé pour modifier la bande passante CPU allouée aux groupes automatiques. Cela se fait en écrivant un nombre dans la plage « sympa » pour définir la valeur sympa pour le regroupement automatique. La plage de valeurs va de +19 (faible priorité) à -20 (haute priorité). (L'écriture de valeurs en dehors de cette plage entraînera l'échec de write(2) avec l'erreur EINVAL.)
fichier, informations de l'interpréteur ELF, le format est un identifiant de type long non signé plus une valeur de type long non signé, et enfin deux 0 (man getauxval).
, le groupe de contrôle auquel appartient le processus. Le format est composé de trois champs séparés par des deux-points, à savoir l'ID de structure, le sous-système et le groupe de contrôle CONFIG_CGROUPS.
fichier, en écriture seule, utilisé uniquement par le propriétaire du processus, clear PG_Referenced et ACCESSED/YOUNG utilisé pour estimer l'utilisation de la mémoire, il existe quatre stratégies 1, 2, 3 et 4 , 1 signifie effacer toutes les pages associées, 2 signifie effacer les pages anonymes associées, 3 signifie effacer les pages du fichier de mappage associées et 4 signifie effacer les pages soft-dirty associées. CONFIG_PROC_PAGE_MONITOR doit être configuré.
, en lecture seule, enregistre la chaîne de ligne de commande complète du processus de démarrage. S'il s'agit d'un processus zombie, ce fichier est vide.
fichier, nom de commande du processus, différents threads (man clone prctl pthread_setname_np) peuvent avoir des noms de thread différents, l'emplacement est "task/[tid]/comm", la longueur du nom dépasse TASK_COMM_LEN sera tronqué.
fichier, filtre coredump, tel que 00000037 (man core), différents bits binaires représentent le filtrage de différentes informations.
fichier, nœud qui contrôle le CPU et la mémoire (man cpuset).
, un lien symbolique vers le répertoire de travail actuel.
fichiers, variables d'environnement.
, lié symboliquement à la commande complète pour démarrer le processus. q
répertoire, contenant le fd actuel, qui sont des liens symboliques vers les vrais fichiers ouverts.
répertoire, contient les informations du fd actuel, différents types d'informations fd sont différents.
fichier, informations sur les ID de groupe mappés à partir des espaces de noms d'utilisateurs (man user_namespaces).
Fichier, informations IO.
Fichier, ressources limites souples et strictes (man getrlimit).
, le démon d'audit active les outils d'audit dans le noyau. Tout processus exécuté avant l'activation de l'audit dans le noyau obtiendra l'identifiant de connexion 4294967295.
4294967295 est juste (long non signé) -1. -1 signifie que l'identifiant de connexion n'est pas défini. Il s'agit d'un comportement normal pour les processus qui ne sont générés par aucun processus de connexion (tel qu'un démon). loginuid est par défaut -1 ; chaque fois que vous vous connectez (dans tty/in DM/via ssh), le module pam_loginuid le remplace par votre ID utilisateur et la valeur est conservée par le processus enfant.
, y compris certains fichiers mappés en mémoire (man mmap), le format du nom de fichier est BeginAddress-EndAddress, des liens symboliques vers les fichiers mappés, CONFIG_CHECKPOINT_RESTORE doit être configuré.
fichiers, informations de mappage de mémoire.
fichier, utilisé pour accéder aux pages mémoire du processus via open, read, lseek.
fichier, informations de montage, le format est 44 41 253:1 // rw,relatime shared:35 master:1 - ext4 /dev/vda1 rw,data=ordered, avec des espaces comme séparateur , la signification de chaque champ de gauche à droite est l'ID de montage unique, l'ID de montage parent, le numéro de périphérique maître et esclave du système de fichiers, le nœud racine monté dans le système de fichiers, le point de montage relatif au nœud racine du processus , Les configurations de montage telles que les autorisations de montage, les configurations facultatives et les tirets indiquent la fin des configurations facultatives précédentes, les types de systèmes de fichiers, les sources de montage spécifiques au système de fichiers, ou aucune configuration ou des configurations supplémentaires.
fichier, liste des systèmes de fichiers montés dans le processus en cours, /dev/vda1 / ext4 rw,relatime,data=ordered 0 0 Référence du format (man fstab).
fichier, informations de montage, au format du périphérique /dev/vda1 monté sur / avec fstype ext4 [statistiques].
, qui enregistre les fichiers et répertoires du processus liés au réseau.
répertoire, qui enregistre l'entrée de chaque espace de noms, voir (espaces de noms man) pour plus de détails.
fichier, numa est un accès mémoire non uniforme, voir (man numa) pour plus de détails.
Fichier, ajustez le score MOO. Lorsque MOO se produit, OOM Killer tue le processus avec un score élevé basé sur le score MOO. La valeur par défaut est 0 et héritera des paramètres du processus parent.
fichier, score OOM.
, le score OOM varie de -1000 à 1000. Le fichier
, les informations de mappage de page de mémoire virtuelle du processus en cours, doit être configuré avec CONFIG_PROC_PAGE_MONITOR.
pour rendre l'indicateur de personnalité du processus visible dans /proc. Étant donné que la personnalité d'un processus peut être sensible (comme READ_IMPLIES_EXEC), ce fichier ne peut être lu que par le propriétaire du processus. Le fichier
, similaire au mappage d'ID d'utilisateur et de groupe, peut créer un mappage d'ID de projet pour les espaces de noms d'utilisateurs. (L'identifiant du projet est utilisé pour les quotas de disque ; voir setquota(8) et quotactl(2).)
fichier, exposant la valeur d'état du correctif de chaque tâche afin que les utilisateurs puissent déterminer quelles tâches sont Empêcher les opérations de correctifs de se terminer.
, lié au répertoire racine du processus en cours.
fichiers, statistiques de planification et informations sur l'état du processus.
fichier, informations de planification du processus.
fichier, ID de session de processus, par défaut 4294967295.
, si le processus contenant le pid de processus dans l'espace de noms de l'utilisateur est autorisé à utiliser l'appel système setgroups(2), le fichier /proc/[pid]/setgroups affiche la chaîne " Allow"; Si setgroups(2) n'est pas autorisé dans l'espace de noms de l'utilisateur, "deny" s'affiche. Notez que quelle que soit la valeur dans le fichier /proc/[pid]/setgroups (et quelles que soient les capacités du processus), l'appel de setgroups(2) n'est pas autorisé si /proc/[pid]/gid_map n'a pas été défini.
fichiers, informations de mappage de mémoire, similaires à la commande pmap, doivent configurer CONFIG_PROC_PAGE_MONITOR.
, la pile d'appels de fonction de l'espace noyau, doit être configurée avec CONFIG_STACKTRACE.
fichier, informations sur l'état du processus, utilisé pour la commande ps.
fichier, informations sur l'utilisation de la mémoire de processus, 7 nombres séparés par des espaces, de gauche à droite représentent respectivement la taille totale du programme, la taille de la mémoire résidente, la taille de la page de mémoire partagée, le code texte, la bibliothèque, les données + pile, pages sales.
, informations lisibles liées au processus.
fichier, informations relatives à l'appel système, CONFIG_HAVE_ARCH_TRACEHOOK doit être configuré.
, chaque fil a un sous-répertoire et le nom du répertoire est l'ID du fil.
fichier, liste de minuterie POSIT, y compris l'ID de la minuterie, le signal et d'autres informations.
fichier, informations de mappage de l'ID utilisateur.
fichier, une représentation symbolique de l'emplacement correspondant dans le noyau lorsque le processus est en veille, comme do_wait.
fichier, opération de réveil de l'appareil.
fichier pour diagnostiquer les problèmes de fragmentation de la mémoire.
Annuaire, bus installé.
pour saisir les informations sur l'appareil.
Fichier, gérer les informations.
fichier, informations sur la prise PCI.
fichiers, informations sur le périphérique PCI.
résumé des informations sur les cgroups, champ subsys_name hiérarchie num_cgroups activé.
, paramètres transmis au noyau Linux au démarrage du système, tels que lilo, grub et autres modules de gestion de démarrage.
, pour afficher les caractères de ligne de périphérique actuellement utilisés dans la console système /dev/console, vous pouvez simplement afficher le fichier /proc/console
.Informations sur les fichiers, le processeur et l'architecture du système, la commande lscpu utilise ce fichier.
fichier, liste de chiffrement fournie par l'API de chiffrement du noyau.
fichiers, informations relatives à l'appareil.
Fichier, état du disque.
fichier, dma est un accès direct à la mémoire.
fichiers qui permettent d'accéder à la mémoire non volatile dans les horloges en temps réel sur PC et Ataris. Sur un PC, cela est souvent appelé mémoire CMOS et stocke les options de configuration du BIOS.
fichier, configuration d'exécution du système.
fichier, liste des domaines d'exécution.
, informations sur le Frame Buffer, CONFIG_FB doit être configuré.
fichiers, types de systèmes de fichiers pris en charge par le noyau (man filesystems).
répertoire, informations sur le système de fichiers monté.
fichier, informations d'interruption pour chaque CPU et chaque IO. Le numéro d'irq, le nombre de fois que chaque CPU traite l'irq, le nom du contrôleur d'interruption, le nom de l'irq et le nom utilisé par le pilote pour enregistrer l'irq sont affichés dans l'ordre.
fichier, informations de mappage de la mémoire IO.
fichier, informations sur le port IO.
Répertoire, un sous-répertoire nommé avec le numéro d'irq sera créé ci-dessous pour chaque irq enregistré.
fichier, utilisé pour les définitions de liens dynamiques et de symboles de liaison de modules.
fichier, la mémoire physique du système au format ELF. Le fichier
expose une liste de clés que le fil de lecture est autorisé à afficher et fournit diverses informations sur chaque clé. Il n'est pas nécessaire que le thread possède la clé, qui est visible dans ce fichier.
fichier qui répertorie diverses informations pour chaque ID utilisateur possédant au moins une clé sur le système.
fichier, informations du journal du noyau, la commande dmsg utilise ce fichier.
fichier, le nombre de fois que chaque cadre de page physique est mappé, doit être configuré CONFIG_PROC_PAGE_MONITOR.
, le masque de chaque cadre de page physique, doit être configuré CONFIG_PROC_PAGE_MONITOR.
fichier, charge actuelle du système.
fichier, l'état actuel du verrouillage du fichier.
fichiers, informations sur les appareils virtuels (soft raid, etc.).
fichier, statistiques d'utilisation de la mémoire système, ce fichier est utilisé par la commande free.
fichiers, pilotes enregistrés sur d'autres appareils majeurs (appareil numéro 10).
fichier, informations sur le module chargées par le système, la commande associée est lsmod.
, lié à /self/mounts.
fichiers, registres de plage de types de mémoire.
, lié au pseudo-système de fichiers réseau.
fichiers, autres informations sur l'allocateur de page.
Fichier, informations sur la partition.
fichier, informations de débogage du planificateur.
fichier, informations sur le planificateur.
répertoire, périphérique d'interface SCSI.
, lié au répertoire où se trouve le processus en cours.
fichier, informations sur le cache du noyau, CONFIG_SLAB doit être configuré.
fichier, informations sur l'interruption logicielle du système.
Statistiques pour les fichiers, le système et le noyau.
Fichier, utilisation de la partition d'échange.
répertoire, informations relatives aux variables système.
fichier, inscriptible, déclenche des appels système. Le répertoire
comprend trois fichiers : msg, sem et shm, qui sont des objets IPC System V.
fichier, une liste des minuteries en cours d'exécution.
fichier, état de la minuterie.
Répertoire, appareil tty lié.
Fichier, temps de mise à jour du système et temps d'inactivité du processus.
fichier, informations sur la version du noyau.
fichier, informations d'allocation de mémoire virtuelle.
fichier, statistiques de mémoire, affiché sous forme de paires clé-valeur.
fichier, informations sur le bloc mémoire, utilisé pour analyser le comportement de la mémoire virtuelle.
Recommandations associées : "Tutoriel vidéo Linux"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!