Das /proc – Verzeichnis: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (12 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 32: | Zeile 32: | ||
*Um festzustellen, welche dieser Parameter Linux welcher Hardware zuweist, stellt uns das "/proc"-Verzeichnis mehrere Dateien zur Verfügung, die diese Informationen enthalten. | *Um festzustellen, welche dieser Parameter Linux welcher Hardware zuweist, stellt uns das "/proc"-Verzeichnis mehrere Dateien zur Verfügung, die diese Informationen enthalten. | ||
*Noch einmal zur Erinnerung: Diese Dateien sind keine tatsächlichen Dateien, sondern Schnittstellen zum Kernel. Das "/proc"- | *Noch einmal zur Erinnerung: Diese Dateien sind keine tatsächlichen Dateien, sondern Schnittstellen zum Kernel. Das "/proc"- | ||
| + | =/proc/sys= | ||
| + | *Der /proc/sys-Teil des Verzeichnisses enthält Informationen und ermöglicht die Änderung von Kernel-Parametern und Systemeinstellungen. | ||
| + | *Diese Informationen und Einstellungen sind in Dateien im /proc/sys-Verzeichnis organisiert. | ||
| + | =Hier ist eine Liste einiger wichtiger Dateien im /proc/sys-Verzeichnis= | ||
| + | ==/proc/net/tcp== | ||
| + | *Die Datei "/proc/net/tcp" enthält Informationen über den aktuellen Zustand der TCP-Verbindungen auf dem System. | ||
| + | *Sie enthält Daten wie lokale und entfernte IP-Adressen, Portnummern, Zustände der Verbindungen und andere Informationen zu den TCP-Sockets. | ||
| + | *Die Informationen in "/proc/net/tcp" können verwendet werden, um laufende TCP-Verbindungen zu überwachen, den Zustand der Verbindungen zu analysieren und Netzwerkprobleme zu diagnostizieren. | ||
| + | *Die Daten in "/proc/net/tcp" sind im Hexadezimalformat codiert und können mit geeigneten Tools oder Skripten analysiert und interpretiert werden. | ||
| + | ==/proc/sys/net/ipv4/ip_forward== | ||
| + | *Diese Datei ermöglicht das Aktivieren oder Deaktivieren der IP-Weiterleitung auf dem System. Ein Wert von 1 bedeutet, dass die Weiterleitung aktiviert ist, während ein Wert von 0 bedeutet, dass sie deaktiviert ist. | ||
| + | ==/proc/sys/net/ipv4/tcp_syncookies== | ||
| + | *Diese Datei ermöglicht das Aktivieren oder Deaktivieren von TCP-SYN-Cookies. | ||
| + | *TCP-SYN-Cookies werden verwendet, um SYN-Flooding-Angriffe abzuwehren. | ||
| + | *Ein Wert von 1 aktiviert die Verwendung von TCP-SYN-Cookies, während ein Wert von 0 sie deaktiviert. | ||
| + | ==/proc/sys/net/ipv4/icmp_echo_ignore_all== | ||
| + | *Diese Datei ermöglicht das Ignorieren aller eingehenden ICMP-Echoanforderungen (Ping). | ||
| + | *Ein Wert von 1 bedeutet, dass alle eingehenden ICMP-Echoanforderungen ignoriert werden, während ein Wert von 0 bedeutet, dass sie akzeptiert werden. | ||
| + | ==/proc/sys/kernel/hostname== | ||
| + | *Diese Datei enthält den Hostnamen des Systems. | ||
| + | *Der Inhalt kann gelesen und geändert werden, um den Hostnamen des Systems festzulegen oder abzurufen. | ||
| + | ==/proc/sys/vm/swappiness== | ||
| + | *Diese Datei steuert das Verhalten des Systems beim Swappen von Speicherseiten auf die Festplatte. | ||
| + | *Der Wert kann zwischen 0 und 100 liegen, wobei ein niedrigerer Wert weniger Swapping und ein höherer Wert mehr Swapping bewirkt. | ||
| + | ==/proc/sys/fs/file-max== | ||
| + | *Diese Datei enthält den maximalen Wert für die Anzahl der offenen Dateien im System. | ||
| + | *Der Wert kann gelesen und geändert werden, um die maximale Anzahl der offenen Dateien festzulegen. | ||
| + | ==/proc/<pid>/cmdline== | ||
| + | *Enthält die Befehlszeile des Prozesses mit der angegebenen PID. | ||
| + | *Sie ist eine Null-terminierte Zeichenkette, die die exakte Befehlszeile darstellt, die verwendet wurde, um den Prozess zu starten. | ||
| + | ==/proc/<pid>/fd== | ||
| + | *Das Verzeichnis enthält symbolische Links zu den geöffneten Dateideskriptoren des Prozesses mit der angegebenen PID. | ||
| + | *Diese Links ermöglichen den Zugriff auf die geöffneten Dateien, die vom Prozess verwendet werden, und können Informationen wie den Dateityp und den Zugriffsmodus enthalten. | ||
| + | *'''ls /proc/914221/fd''' | ||
| + | 0 1 2 [[255]] | ||
| + | ==/proc/stat== | ||
| + | *Die Datei /proc/stat enthält statistische Informationen über verschiedene Aspekte des Systems und der Prozessorauslastung. | ||
| + | *Sie liefert aggregierte Daten zu Prozessorzeiten, Interrupts, Kontextwechseln und anderen Systemressourcen. | ||
| + | *In der Regel besteht die Ausgabe der Datei /proc/stat aus einer einzelnen Zeile mit verschiedenen Feldern. | ||
| + | *Das erste Feld enthält den Namen "cpu" und stellt die gesamte Prozessorzeit dar. Die nachfolgenden Felder repräsentieren einzelne CPU-Kerne oder logische Prozessoren und enthalten Informationen wie Benutzerzeit, Systemzeit, Leerlaufzeit und weitere statistische Werte. | ||
| + | *Diese Daten sind für die Überwachung der Systemleistung und der Prozessoraktivität nützlich. Sie können verwendet werden, um die Auslastung der CPU-Kerne, die Gesamtauslastung des Systems und andere Leistungsindikatoren zu analysieren. | ||
| + | *Die Werte in /proc/stat werden normalerweise als Zeiten oder Zähler dargestellt und können verwendet werden, um Trends zu identifizieren oder Vergleiche zwischen verschiedenen Zeitpunkten durchzuführen. | ||
| + | ==/proc/meminfo== | ||
| + | *Die Datei "/proc/meminfo" enthält Informationen über den aktuellen Speicherzustand des Systems, einschließlich des physikalischen und virtuellen Speichers. | ||
| + | *Sie liefert Daten wie den insgesamt verfügbaren Speicher, den belegten Speicher, den freien Speicher, die Auslagerungsdateien und vieles mehr. | ||
| + | *Die Auswertung von "/proc/meminfo" kann bei der Überwachung des Speicherverbrauchs und der Identifizierung von Engpässen im System helfen. | ||
| + | |||
| + | =Lesen und ändern der Werte= | ||
| + | *Um diese Dateien zu lesen oder Werte zu ändern, können Befehle wie "cat" zum Lesen oder "echo" zum Schreiben verwendet werden. Zum Beispiel: | ||
| + | *'''cat /proc/sys/net/ipv4/ip_forward''' | ||
| + | *zeigt den aktuellen Wert der IP-Weiterleitung an. | ||
| + | *'''echo 1 > /proc/sys/net/ipv4/ip_forward''' | ||
| + | *ändert den Wert der IP-Weiterleitung auf 1 (aktiviert). | ||
| + | =Änderungen= | ||
| + | *Bitte beachte, dass Änderungen in diesen Dateien normalerweise nicht dauerhaft sind und nach einem Neustart des Systems verloren gehen. | ||
| + | *Um Änderungen dauerhaft zu machen, können sie in der Konfigurationsdatei "/etc/sysctl.conf" festgelegt werden. | ||
| + | *Diese wird beim Systemstart ausgelesen | ||
| + | =sysctl= | ||
| + | *[[sysctl]] | ||
| + | =Aufgaben= | ||
| + | *[[Aufgaben Proc Verzeichnis]] | ||
Aktuelle Version vom 24. Juni 2023, 10:22 Uhr
Was ist das proc Dateisystem
- Das "/proc"-Verzeichnis ist keine tatsächliche Dateisystemstruktur, sondern eine Schnittstelle zum Kernel.
- Die Dateien in diesem Verzeichnis belegen keinen Speicherplatz auf der Festplatte, sind aber dennoch lesbar und in einigen Fällen auch beschreibbar.
- Der Name dieses Verzeichnisses leitet sich daher ab, dass es für jeden laufenden Prozess ein Unterverzeichnis bereitstellt, das Informationen über diesen Prozess enthält.
- Der Name des Unterverzeichnisses entspricht der Prozess-ID (PID) des jeweiligen Prozesses.
Es enthält unter anderem folgende Dateien
- "cmdline": Die Befehlszeile, mit der der Prozess gestartet wurde, einschließlich aller verwendeten Parameter.
- "cwd" (current working directory): Ein symbolischer Link zum Verzeichnis, das zum Zeitpunkt des Prozessaufrufs das aktuelle Arbeitsverzeichnis war.
- "environ": Die vollständige Umgebung des Prozesses, einschließlich Variablen und Funktionen, sofern eine Umgebung vorhanden ist.
- "exe": Ein symbolischer Link zum aufgerufenen Programm, das den Prozess ausmacht.
- "root": Ein symbolischer Link zum Verzeichnis, das das Wurzelverzeichnis für den Prozess darstellt.
- "console": Zeigt Informationen zur aktuellen Konsole an.
- "fb": Framebuffer-Gerät.
- "filesystems": Zeigt die vom Kernel unterstützten Dateisysteme an.
- "locks": Aktuell vom Kernel blockierte Ressourcen.
- "meminfo": Informationen zum Systemspeicher.
- "modules": Zeigt die aktuell geladenen Module an.
- "mounts": Zeigt die eingehängten Partitionen an.
- "partitions": Listet alle Partitionen des Systems auf, auch die nicht eingehängten.
- "swap": Informationen zum Auslagerungsspeicher.
- "uptime": Zeigt an, wie lange das System bereits läuft.
- "version": Zeigt Kernel- und Systeminformationen an.
Weiteres
- Darüber hinaus enthält das "/proc"-Verzeichnis weitere Informationen zu den verwendeten Ressourcen wie Speicher und Bibliotheken sowie ein Unterverzeichnis "fd", das die Dateideskriptoren aller vom Prozess verwendeten Dateien enthält.
- Diese Informationen werden beispielsweise von Programmen genutzt, die Prozessinformationen anzeigen.
- Was jedoch im Zusammenhang mit Hardware besonders wichtig ist, ist die Möglichkeit, über das "/proc"-Verzeichnis auf bestimmte hardwarebezogene Informationen zuzugreifen.
Hardwareparameter im "/proc"-Verzeichnis
- Wie bereits auf der Hardwareparameter-Seite erwähnt, benötigen wir für die Interaktion mit bestimmten Hardwarekomponenten Einstellungen, die sowohl auf der Hardwareseite vorhanden sein müssen als auch dem Betriebssystem bekannt sein müssen.
- Um festzustellen, welche dieser Parameter Linux welcher Hardware zuweist, stellt uns das "/proc"-Verzeichnis mehrere Dateien zur Verfügung, die diese Informationen enthalten.
- Noch einmal zur Erinnerung: Diese Dateien sind keine tatsächlichen Dateien, sondern Schnittstellen zum Kernel. Das "/proc"-
/proc/sys
- Der /proc/sys-Teil des Verzeichnisses enthält Informationen und ermöglicht die Änderung von Kernel-Parametern und Systemeinstellungen.
- Diese Informationen und Einstellungen sind in Dateien im /proc/sys-Verzeichnis organisiert.
Hier ist eine Liste einiger wichtiger Dateien im /proc/sys-Verzeichnis
/proc/net/tcp
- Die Datei "/proc/net/tcp" enthält Informationen über den aktuellen Zustand der TCP-Verbindungen auf dem System.
- Sie enthält Daten wie lokale und entfernte IP-Adressen, Portnummern, Zustände der Verbindungen und andere Informationen zu den TCP-Sockets.
- Die Informationen in "/proc/net/tcp" können verwendet werden, um laufende TCP-Verbindungen zu überwachen, den Zustand der Verbindungen zu analysieren und Netzwerkprobleme zu diagnostizieren.
- Die Daten in "/proc/net/tcp" sind im Hexadezimalformat codiert und können mit geeigneten Tools oder Skripten analysiert und interpretiert werden.
/proc/sys/net/ipv4/ip_forward
- Diese Datei ermöglicht das Aktivieren oder Deaktivieren der IP-Weiterleitung auf dem System. Ein Wert von 1 bedeutet, dass die Weiterleitung aktiviert ist, während ein Wert von 0 bedeutet, dass sie deaktiviert ist.
/proc/sys/net/ipv4/tcp_syncookies
- Diese Datei ermöglicht das Aktivieren oder Deaktivieren von TCP-SYN-Cookies.
- TCP-SYN-Cookies werden verwendet, um SYN-Flooding-Angriffe abzuwehren.
- Ein Wert von 1 aktiviert die Verwendung von TCP-SYN-Cookies, während ein Wert von 0 sie deaktiviert.
/proc/sys/net/ipv4/icmp_echo_ignore_all
- Diese Datei ermöglicht das Ignorieren aller eingehenden ICMP-Echoanforderungen (Ping).
- Ein Wert von 1 bedeutet, dass alle eingehenden ICMP-Echoanforderungen ignoriert werden, während ein Wert von 0 bedeutet, dass sie akzeptiert werden.
/proc/sys/kernel/hostname
- Diese Datei enthält den Hostnamen des Systems.
- Der Inhalt kann gelesen und geändert werden, um den Hostnamen des Systems festzulegen oder abzurufen.
/proc/sys/vm/swappiness
- Diese Datei steuert das Verhalten des Systems beim Swappen von Speicherseiten auf die Festplatte.
- Der Wert kann zwischen 0 und 100 liegen, wobei ein niedrigerer Wert weniger Swapping und ein höherer Wert mehr Swapping bewirkt.
/proc/sys/fs/file-max
- Diese Datei enthält den maximalen Wert für die Anzahl der offenen Dateien im System.
- Der Wert kann gelesen und geändert werden, um die maximale Anzahl der offenen Dateien festzulegen.
/proc/<pid>/cmdline
- Enthält die Befehlszeile des Prozesses mit der angegebenen PID.
- Sie ist eine Null-terminierte Zeichenkette, die die exakte Befehlszeile darstellt, die verwendet wurde, um den Prozess zu starten.
/proc/<pid>/fd
- Das Verzeichnis enthält symbolische Links zu den geöffneten Dateideskriptoren des Prozesses mit der angegebenen PID.
- Diese Links ermöglichen den Zugriff auf die geöffneten Dateien, die vom Prozess verwendet werden, und können Informationen wie den Dateityp und den Zugriffsmodus enthalten.
- ls /proc/914221/fd
0 1 2 255
/proc/stat
- Die Datei /proc/stat enthält statistische Informationen über verschiedene Aspekte des Systems und der Prozessorauslastung.
- Sie liefert aggregierte Daten zu Prozessorzeiten, Interrupts, Kontextwechseln und anderen Systemressourcen.
- In der Regel besteht die Ausgabe der Datei /proc/stat aus einer einzelnen Zeile mit verschiedenen Feldern.
- Das erste Feld enthält den Namen "cpu" und stellt die gesamte Prozessorzeit dar. Die nachfolgenden Felder repräsentieren einzelne CPU-Kerne oder logische Prozessoren und enthalten Informationen wie Benutzerzeit, Systemzeit, Leerlaufzeit und weitere statistische Werte.
- Diese Daten sind für die Überwachung der Systemleistung und der Prozessoraktivität nützlich. Sie können verwendet werden, um die Auslastung der CPU-Kerne, die Gesamtauslastung des Systems und andere Leistungsindikatoren zu analysieren.
- Die Werte in /proc/stat werden normalerweise als Zeiten oder Zähler dargestellt und können verwendet werden, um Trends zu identifizieren oder Vergleiche zwischen verschiedenen Zeitpunkten durchzuführen.
/proc/meminfo
- Die Datei "/proc/meminfo" enthält Informationen über den aktuellen Speicherzustand des Systems, einschließlich des physikalischen und virtuellen Speichers.
- Sie liefert Daten wie den insgesamt verfügbaren Speicher, den belegten Speicher, den freien Speicher, die Auslagerungsdateien und vieles mehr.
- Die Auswertung von "/proc/meminfo" kann bei der Überwachung des Speicherverbrauchs und der Identifizierung von Engpässen im System helfen.
Lesen und ändern der Werte
- Um diese Dateien zu lesen oder Werte zu ändern, können Befehle wie "cat" zum Lesen oder "echo" zum Schreiben verwendet werden. Zum Beispiel:
- cat /proc/sys/net/ipv4/ip_forward
- zeigt den aktuellen Wert der IP-Weiterleitung an.
- echo 1 > /proc/sys/net/ipv4/ip_forward
- ändert den Wert der IP-Weiterleitung auf 1 (aktiviert).
Änderungen
- Bitte beachte, dass Änderungen in diesen Dateien normalerweise nicht dauerhaft sind und nach einem Neustart des Systems verloren gehen.
- Um Änderungen dauerhaft zu machen, können sie in der Konfigurationsdatei "/etc/sysctl.conf" festgelegt werden.
- Diese wird beim Systemstart ausgelesen