Comme vous l'avez lu dans mon premier article, Explorer le système de fichiers /proc , le /proc
Le système de fichiers contient de nombreux fichiers que les administrateurs système peuvent utiliser pour découvrir la composition matérielle, les paramètres de configuration et le complément de processus sur un système en cours d'exécution. Tous les fichiers n'ont pas la même valeur pour un administrateur système. Dans cet article, je couvre les fichiers texte (pas les répertoires/processus) avec la valeur la plus élevée pour les administrateurs système. Cela dit, sachez que ma définition de la valeur signifie valeur pour moi et pour ma découverte sur les systèmes hérités et sur les systèmes avec lesquels je suis peu familiarisé.
Voici une liste de /proc
fichiers texte communs du répertoire sur les systèmes basés sur Red Hat :
/proc/apm
/proc/buddyinfo
/proc/cmdline
/proc/cpuinfo
/proc/crypto
/proc/devices
/proc/dma
/proc/execdomains
/proc/fb
/proc/filesystems
/proc/interrupts
/proc/iomem
/proc/ioports
/proc/kcore*
/proc/kmsg*
/proc/loadavg
/proc/locks
/proc/mdstat
/proc/meminfo
/proc/misc
/proc/modules
/proc/mounts
/proc/mtrr
/proc/partitions
/proc/pci
/proc/slabinfo*
/proc/stat
/proc/swaps
/proc/sysrq-trigger
/proc/uptime
/proc/version
* root readable only
Si vous lancez une longue commande (ls -l /proc
), vous remarquerez que tous les fichiers sauf le kcore
(non illustré) ont une taille nulle. Cependant, ces fichiers ne sont pas vides. Ils contiennent des informations précieuses.
$ ls -l /proc
-r--r--r--. 1 root root 0 Feb 25 23:13 buddyinfo
-r--r--r--. 1 root root 0 Feb 25 23:13 cgroups
-r--r--r--. 1 root root 0 Feb 25 23:13 cmdline
-r--r--r--. 1 root root 0 Feb 25 23:13 consoles
-r--r--r--. 1 root root 0 Feb 25 23:13 cpuinfo
-r--r--r--. 1 root root 0 Feb 25 23:13 crypto
-r--r--r--. 1 root root 0 Feb 25 23:13 devices
-r--r--r--. 1 root root 0 Feb 25 23:13 diskstats
-r--r--r--. 1 root root 0 Feb 25 23:13 dma
Le /proc
les fichiers que je trouve les plus utiles, en particulier pour la découverte de systèmes hérités, sont :
- ligne de commande
- informations sur le processeur
- meminfo
- version
Et les plus précieux d'entre eux sont cpuinfo
et meminfo
.
Encore une fois, je ne dis pas que les autres fichiers n'ont pas de valeur, mais ce sont ceux que j'ai trouvés qui ont le plus de valeur pour moi. Par exemple, le /proc/uptime
Le fichier vous donne la disponibilité du système en secondes. Pour moi, ce n'est pas particulièrement précieux. Cependant, si je veux cette information, j'utilise le uptime
commande qui me donne également une version plus lisible de /proc/loadavg
aussi.
Par comparaison :
$ cat /proc/uptime
46901.13 46856.69
$ cat /proc/loadavg
0.00 0.01 0.03 2/111 2039
$ uptime
00:56:13 up 13:01, 2 users, load average: 0.00, 0.01, 0.03
Je pense que vous avez saisi l'idée.
/proc/cmdline
Ce fichier affiche les paramètres passés au noyau au moment de son démarrage.
$ cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-3.10.0-1062.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8
La valeur de ces informations réside dans la manière dont le noyau a été démarré, car tous les commutateurs ou paramètres spéciaux seront également répertoriés ici. Et comme toutes les informations sous /proc
, il peut être trouvé ailleurs et généralement avec un meilleur formatage, mais /proc
les fichiers sont très pratiques lorsque vous ne vous souvenez pas de la commande ou que vous ne voulez pas grep
pour quelque chose.
/proc/cpuinfo
Le /proc/cpuinfo
file est le premier fichier que je vérifie lors de la connexion à un nouveau système. Je veux connaître la composition du processeur d'un système et ce fichier me dit tout ce que je dois savoir.
$ 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:
Il s'agit d'une machine virtuelle et n'a qu'un seul vCPU. Si votre système contient plusieurs processeurs, la numérotation des processeurs commence à 0 pour le premier processeur.
/proc/meminfo
Le /proc/meminfo
file est le deuxième fichier que je vérifie sur un nouveau système. Cela me donne un aperçu général et spécifique de l'allocation et de l'utilisation de la mémoire d'un système.
$ cat /proc/meminfo
MemTotal: 1014824 kB
MemFree: 643608 kB
MemAvailable: 706648 kB
Buffers: 1072 kB
Cached: 185568 kB
SwapCached: 0 kB
Active: 187568 kB
Inactive: 80092 kB
Active(anon): 81332 kB
Inactive(anon): 6604 kB
Active(file): 106236 kB
Inactive(file): 73488 kB
Unevictable: 0 kB
Mlocked: 0 kB
***Output truncated***
Je pense que la plupart des administrateurs système utilisent soit le free
ou le top
commande pour extraire certaines des données contenues ici. Le /proc/meminfo
me donne un aperçu rapide de la mémoire que j'aime et peut rediriger vers un autre fichier sous forme d'instantané.
/proc/version
Le /proc/version
La commande fournit plus d'informations que le uname -a
associé la commande le fait. Voici les deux comparés :
$ cat /proc/version
Linux version 3.10.0-1062.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Wed Aug 7 18:08:02 UTC 2019
$ uname -a
Linux centos7 3.10.0-1062.el7.x86_64 #1 SMP Wed Aug 7 18:08:02 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Habituellement, le uname -a
est suffisante pour vous donner des informations sur la version du noyau, mais pour ceux d'entre vous qui sont développeurs ou qui sont ultra soucieux des détails, le /proc/version
le fichier est là pour vous.
Conclusion
Le /proc
filesystem a une tonne d'informations précieuses disponibles pour les administrateurs système qui veulent un moyen pratique et sans commande d'obtenir des informations système brutes. Comme je l'ai dit plus tôt, il existe d'autres façons d'afficher les informations dans /proc
. De plus, certains des /proc
info n'est pas ce que vous voudriez utiliser pour l'évaluation du système. Par exemple, utilisez des commandes telles que vmstat 5 5
ou iostat 5 5
pour obtenir une meilleure image des performances du système plutôt que de lire l'un des /proc
disponibles fichiers.
[ Besoin d'en savoir plus sur l'administration système Linux ? Suivez un cours d'administration système Red Hat. ]