GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wichtige Linux /proc-Dateisystemdateien, die Sie kennen müssen

Wie Sie in meinem ersten Artikel gelesen haben, Erkunden des /proc-Dateisystems , der /proc Das Dateisystem enthält viele Dateien, die Systemadministratoren verwenden können, um die Hardwarezusammensetzung, die Konfigurationsparameter und die Ergänzung von Prozessen auf einem laufenden System zu ermitteln. Nicht alle Dateien haben für einen Systemadministrator den gleichen Wert. In diesem Artikel behandle ich die Textdateien (nicht Verzeichnisse/Prozesse) mit dem höchsten Wert für Systemadministratoren. Beachten Sie jedoch bitte, dass meine Definition von Wert bedeutet Wert für mich und meine Entdeckung auf geerbten Systemen und auf Systemen, mit denen ich wenig vertraut bin.

Das Folgende ist eine Liste von /proc Verzeichnis allgemeine Textdateien auf Red Hat-basierten Systemen:

/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

Wenn Sie einen langen Listenbefehl (ls -l /proc ), werden Sie feststellen, dass alle Dateien außer kcore (nicht gezeigt) Datei hat eine Nullgröße. Diese Dateien sind jedoch nicht leer. Sie enthalten wertvolle Informationen.

$ 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

Der /proc Dateien, die ich am wertvollsten finde, insbesondere für die Erkennung von vererbten Systemen, sind:

  • Befehlszeile
  • CPU-Info
  • Speicherinfo
  • Version

Und die wertvollsten davon sind cpuinfo und meminfo .

Auch hier behaupte ich nicht, dass andere Dateien keinen Wert haben, aber diese sind diejenigen, die ich gefunden habe und die für mich den größten Wert haben. Beispiel:/proc/uptime Datei gibt Ihnen die Betriebszeit des Systems in Sekunden an. Für mich ist das nicht besonders wertvoll. Wenn ich diese Informationen jedoch möchte, verwende ich die uptime Befehl, der mir auch eine besser lesbare Version von /proc/loadavg gibt auch.

Zum Vergleich:

$ 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

Ich denke, du verstehst es.

/proc/cmdline

Diese Datei zeigt die Parameter, die beim Start an den Kernel übergeben werden.

$ 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

Der Wert dieser Informationen liegt darin, wie der Kernel gebootet wurde, da alle Schalter oder speziellen Parameter auch hier aufgelistet werden. Und wie alle Informationen unter /proc , es kann an anderer Stelle und normalerweise mit besserer Formatierung gefunden werden, aber /proc Dateien sind sehr praktisch, wenn Sie sich nicht an den Befehl erinnern können oder nicht grep wollen für etwas.

/proc/cpuinfo

Die /proc/cpuinfo file ist die erste Datei, die ich überprüfe, wenn ich mich mit einem neuen System verbinde. Ich möchte den CPU-Aufbau eines Systems wissen und diese Datei sagt mir alles, was ich wissen muss.

$ 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:

Dies ist eine virtuelle Maschine und hat nur eine vCPU. Wenn Ihr System mehr als eine CPU enthält, beginnt die CPU-Nummerierung bei 0 für die erste CPU.

/proc/meminfo

Die /proc/meminfo file ist die zweite Datei, die ich auf einem neuen System überprüfe. Es gibt mir einen allgemeinen und einen spezifischen Einblick in die Speicherzuweisung und -nutzung eines Systems.

$ 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***

Ich denke, die meisten Systemadministratoren verwenden entweder den free oder top Befehl, um einige der hier enthaltenen Daten abzurufen. Die /proc/meminfo file gibt mir eine schnelle Speicherübersicht, die mir gefällt und kann als Snapshot auf eine andere Datei umleiten.

/proc/version

Die /proc/version Der Befehl liefert mehr Informationen als der zugehörige uname -a Befehl tut. Hier sind die beiden im Vergleich:

$ 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

Normalerweise ist das uname -a Der Befehl ist ausreichend, um Ihnen Kernel-Versionsinformationen zu geben, aber für diejenigen unter Ihnen, die Entwickler sind oder die sehr auf Details bedacht sind, ist die /proc/version Datei ist für Sie da.

Abschluss

Der /proc filesystem stellt Systemadministratoren eine Menge wertvoller Informationen zur Verfügung, die eine bequeme, befehlslose Möglichkeit suchen, an rohe Systeminformationen zu gelangen. Wie ich bereits erwähnt habe, gibt es andere Möglichkeiten, die Informationen in /proc anzuzeigen . Zusätzlich einige der /proc info ist nicht das, was Sie für die Systembewertung verwenden möchten. Verwenden Sie beispielsweise Befehle wie vmstat 5 5 oder iostat 5 5 um sich ein besseres Bild von der Systemleistung zu machen, anstatt eines der verfügbaren /proc zu lesen Dateien.

[ Möchten Sie mehr über die Linux-Systemadministration erfahren? Nehmen Sie an einem Red Hat Systemadministrationskurs teil. ]


Linux
  1. 10 grundlegende Linux-Befehle, die Sie kennen müssen

  2. Untersuchen des Linux /proc-Dateisystems

  3. Linux – /proc/mnt mit /proc/mounts verknüpfen?

  4. /proc/[pid]/pagemaps und /proc/[pid]/maps | Linux

  5. Warum wird auf einigen Linux-Systemen das Root-Dateisystem als /dev/root statt als /dev/<realer Geräteknoten> in mtab angezeigt?

Alles Wichtige, was Sie über Hard Link in Linux wissen müssen

Alles Wichtige, was Sie über UID in Linux wissen müssen

Eine Anleitung zum Dateisystem „/proc“ unter Linux

/proc/cpuinfo- und /proc/meminfo-Dateien unter Linux

Die Dateien /proc/mounts, /etc/mtab und /proc/partitions verstehen

Alles, was Sie über das Linux /tmp-Verzeichnis wissen müssen