GNU/Linux >> Tutoriels Linux >  >> Linux

Fichiers importants du système de fichiers Linux /proc que vous devez connaître

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


Linux
  1. 10 commandes Linux de base que vous devez connaître

  2. Explorer le système de fichiers Linux /proc

  3. Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

  4. /proc/[pid]/pagemaps et /proc/[pid]/maps | linux

  5. Pourquoi sur certains systèmes Linux, le système de fichiers racine apparaît-il comme /dev/root au lieu de /dev/<real device node> dans mtab ?

Tout ce que vous devez savoir sur le lien physique sous Linux

Tout ce que vous devez savoir sur l'UID sous Linux

Un guide pour le système de fichiers ‘/proc’ sous Linux

Fichiers /proc/cpuinfo et /proc/meminfo sous Linux

Comprendre les fichiers /proc/mounts, /etc/mtab et /proc/partitions

Tout ce que vous devez savoir sur le répertoire Linux /tmp