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