Le /proc
Le système de fichiers semble toujours exister car il est construit au démarrage et supprimé à l'arrêt, mais il s'agit en fait d'un système de fichiers virtuel qui contient de nombreuses informations pertinentes sur votre système et ses processus en cours d'exécution. Dans cet article, je vais approfondir son contenu et la valeur que vous, en tant qu'administrateur système, pouvez en tirer.
Remarque :J'accède aux fichiers et aux répertoires sous
/proc
en tant qu'utilisateur standard et non en tant que root, sauf indication contraire.
Si vous regardez les fichiers sous /proc
, vous en verrez beaucoup (plus de 150), selon le nombre de processus en cours d'exécution.
$ ls /proc
1 174 26 2902 4109 531 fb
10 175 2601 2904 41275 546 filesystems
1004 176 2602 2907 41292 547 fs
<snip>
166 2589 2889 4000 47452 dma vmstat
167 2594 2898 4005 475 driver zoneinfo
168 2595 29 40986 522 execdomains
Les fichiers numérotés sont des répertoires qui correspondent aux numéros de processus ou ID de processus (PID). Par exemple, dans la première colonne, il y a des processus avec les numéros 1, 10, 1055, 1057, 1059, etc. À l'intérieur de ces répertoires numérotés par processus, il y a plus de fichiers qui ont à voir avec les processus eux-mêmes. Vous trouverez ci-dessous une liste des /proc/411
répertoire.
$ ls /proc/411
ls: cannot read symbolic link /proc/411/cwd: Permission denied
ls: cannot read symbolic link /proc/411/root: Permission denied
ls: cannot read symbolic link /proc/411/exe: Permission denied
arch_status fdinfo numa_maps smaps_rollup
attr gid_map oom_adj stack
autogroup io oom_score stat
auxv latency oom_score_adj statm
cgroup limits pagemap status
clear_refs loginuid patch_state syscall
cmdline map_files personality task
comm maps projid_map timers
coredump_filter mem root timerslack_ns
cpuset mountinfo sched uid_map
cwd mounts schedstat wchan
environ mountstats sessionid
exe net setgroups
fd ns smaps
Il y a quelques fichiers dans chaque répertoire que les utilisateurs réguliers ne peuvent pas lire. Pour lister ou ouvrir ces fichiers, vous devez être root.
[ Si vous souhaitez voir une utilisation pratique des informations de /proc, consultez :Comment effacer la mémoire d'échange sous Linux ]
Vous remarquerez qu'une longue liste (ls -l /proc
) révèle que les fichiers texte normaux ont une taille de 0. Normalement, un fichier de taille nulle signifie qu'il ne contient aucun contenu. Cependant, ces /proc
fichiers, comme le /proc
système de fichiers lui-même (procfs
), sont virtuels. Ils font contenir des informations sinon pourquoi seraient-ils là ?
Par exemple, affichez le cpuinfo
fichier à l'écran et vous verrez ce que je veux dire.
$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 142
model name : Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
stepping : 9
cpu MHz : 2303.998
cache size : 4096 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 22
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc eagerfpu pni pclmulqdq monitor ssse3 cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx rdrand hypervisor lahf_lm abm 3dnowprefetch fsgsbase avx2 invpcid rdseed clflushopt md_clear flush_l1d
bogomips : 4607.99
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:
Ce fichier contient des informations sur votre ou vos CPU. De nombreux fichiers de type texte standard contiennent des informations sur le matériel et le système et vous pouvez cat
comme vous le feriez pour n'importe quel autre fichier texte. N'oubliez pas d'ignorer cette taille de fichier nulle.
Dans le prochain épisode de ce /proc
filesystem series, j'expliquerai les informations données dans les fichiers. Vous pouvez également explorer par vous-même. La plupart des fichiers ont des noms qui décrivent les informations qu'ils contiennent. Certains fichiers sont plus précieux que d'autres pour l'esprit humain. Tous les fichiers n'ont pas cpuinfo
ou meminfo
des informations de niveau intermédiaire qui sont précieuses pour un administrateur système, mais qui sont peut-être importantes pour les développeurs, les fabricants de matériel ou le personnel de dépannage des fournisseurs.
[ Besoin d'en savoir plus sur l'administration système Linux ? Envisagez de suivre un cours d'administration système Red Hat. ]