Provided by: manpages-de_4.21.0-2_all bug

BEZEICHNUNG

       proc - Pseudo-Dateisystem für Prozessinformationen

BESCHREIBUNG

       /proc  ist  ein  Pseudo-Dateisystem.  Es  dient  als Schnittstelle zu den Kernel-Datenstrukturen und wird
       gewöhnlich unter /proc eingehängt. Typischerweise wird es vom System automatisch eingehängt. Es kann aber
       auch mit einem Befehl manuell eingehängt werden:

           mount -t proc proc /proc

       Die meisten Einträge im Dateisystem proc sind nur lesbar,  aber  einige  Dateien  sind  auch  schreibbar,
       wodurch das Verändern von Kernel-Variablen erlaubt wird.

   Einhänge-Optionen
       Das Dateisystem proc unterstützt die folgenden Einhängeoptionen:

       hidepid=n (seit Linux 3.3)
              Diese Option regelt, wer auf die Informationen in den Verzeichnissen /proc/PID zugreifen darf. Das
              Argument n hat einen der folgenden Werte:

              0   Jeder  darf  auf  alle /proc/PID-Verzeichnisse zugreifen. Dies ist das traditionelle Verhalten
                  und die Vorgabe, falls diese Einhängeoption nicht angegeben ist.

              1   Benutzer dürfen auf nur ihre eigenen Dateien und Unterverzeichnisse  innerhalb  von  /proc/PID
                  zugreifen  (die  Verzeichnisse  /proc/PID  selbst  bleiben  sichtbar).  Sensitive  Dateien wie
                  /proc/PID/cmdline und /proc/PID/status werden jetzt vor anderen  Benutzer  geschützt.  Dadurch
                  ist  es  unmöglich,  herauszufinden,  ob  ein andere Benutzer ein bestimmtes Programm ausführt
                  (solange das Programm sich nicht anderweitig durch sein Verhalten zu erkennen gibt).

              2   Wie für  Modus  1,  aber  zusätzlich  werden  die  Verzeichnisse  /proc/PID  anderer  Benutzer
                  unsichtbar.  Das  bedeutet, dass die Einträge /proc/PID nicht mehr zur Aufdeckung von PIDs auf
                  dem System genutzt werden können. Das  versteckt  nicht  die  Tatsache,  dass  ein  bestimmter
                  PID-Wert   existiert  (dies  kann  durch  andere  Methoden,  beispielsweise  »kill  -0  $PID«,
                  herausgefunden werden), aber es versteckt die UID und GID des Prozesses, die  ansonsten  durch
                  Einsatz  von  stat(2)  auf  einem  /proc/PID-Verzeichnis  herausgefunden  werden  könnte. Dies
                  verkompliziert die Aufgabe eines Angreifers deutlich, Informationen über laufende Prozesse  zu
                  sammeln  (z.B.  zu  entdecken, ob ein Daemon mit erweiterten Privilegien läuft, ob ein anderer
                  Benutzer ein bestimmtes sensitives Programm ausführt, ob ein anderer Benutzer  ein  bestimmtes
                  Programm überhaupt ausführt usw.).

       gid=gid (seit Linux 3.3)
              Legt  die  Kennung  einer  Gruppe  fest,  deren  Mitglieder  berechtigt sind, Prozessinformationen
              herauszufinden, die andernfalls durch hidepid verweigert würden (d.h. für Benutzer in  der  Gruppe
              verhält  es  sich, als ob /proc mit hidepid=0 eingehängt worden wäre). Diese Gruppe sollte anderen
              Ansätzen (wie dem Eintrag von Benutzern in die Datei sudoers(5)) vorgezogen werden.

   Überblick
       Unterhalb von /proc gibt es die folgenden allgemeinen Gruppen von Dateien und Unterverzeichnissen:

       Unterverzeichnisse von /proc/PID
              Jedes dieser Unterverzeichnisse enthält Dateien und Unterverzeichnisse, die Informationen über die
              Prozesse mit der entsprechenden Prozesskennung offenlegen.

              Unterhalb  jedes  der  /proc/PID-Verzeichnisse  enthält  ein  Task-Unterverzeichnis  entsprechende
              Unterverzeichnisse  der  Form  TaskTID. Diese enthalten entsprechende Informationen über jeden der
              Threads in dem Prozess, wobei TID die Kernel-Thread-Kennung des Threads ist.

              Die Unterverzeichnisse /proc/PID sind beim Durchlauf durch /proc  mit  getdents(2)  sichtbar  (und
              daher sichtbar, wenn ls(1) zur Anzeige der Inhalte von /proc verwandt wird).

       Unterverzeichnisse von /proc/TID
              Jedes dieser Unterverzeichnisse enthält Dateien und Unterverzeichnisse, die Informationen über den
              Thread  mit  der entsprechenden Thread-Kennung offenlegen. Der Inhalt dieser Verzeichnisse ist der
              gleiche wie bei den entsprechenden /proc/PID/task/TID-Verzeichnissen.

              Die Verzeichnisse /proc/TID sind beim Durchlauf von /proc  mit  getdents(2)  nicht  sichtbar  (und
              daher nicht sichtbar, wenn ls(1) zur Anzeige der Inhalte von /proc verwandt wird).

       /proc/self
              Wenn  ein Prozess auf diesen magischen symbolischen Link zugreift, wird dieser auf das Verzeichnis
              /proc/PID des Prozesses selbst aufgelöst.

       /proc/thread-self
              Wenn ein Thread auf diesen magischen symbolischen Link zugreift, wird dieser auf  das  Verzeichnis
              /proc/self/task/TID des Prozesses selbst aufgelöst.

       /proc/[a-z]*
              Verschiedene  andere  Dateien  und  Unterverzeichnisse unter /proc legen systemweite Informationen
              offen.

       Alles Dargestellte wird weiter unten mit mehr Details beschrieben.

   Dateien und Verzeichnisse
       Die folgende Liste gibt Details über viele der Dateien  und  Verzeichnisse  unter  der  Hierarchie  /proc
       wieder:

       /proc/PID
              Für  jeden  laufenden  Prozess  gibt  es  ein  numerisches  Unterverzeichnis,  dessen  Nummer  der
              Prozesskennung  (PID)  entspricht.  Jedes  Unterverzeichnis  /proc/PID  enthält  die   nachfolgend
              beschriebenen Pseudo-Dateien und -Verzeichnisse.

              Als  Besitzer  der Datei innerhalb jedes /proc/PID-Verzeichnisses ist normalerweise die effektiven
              Benutzer- und Gruppenkennung des Prozesses eingetragen, allerdings  wird  als  Sicherheitsmaßnahme
              der  Besitzer  auf root:root gesetzt, wenn das »dumpable«-Attribut des Prozesses auf einen anderen
              Wert als 1 gesetzt ist.

              Vor Linux 4.11.1 bedeutete root:root die »globale« Benutzer- und Gruppenkennung von Root (d.h. UID
              0  und  GID  0  im  anfänglichen  Benutzernamensraum).  Seit  Linux  4.11   wird   die   Benutzer-
              (Gruppen-)Eigentümerschaft  von  Dateien unterhalb von /proc/PID stattdessen auf den gleichen Wert
              wie der Wurzelbenutzer (-gruppe) innerhalb des Namensraums gelegt,  falls  der  Prozess  in  einem
              nichtanfänglichen   Benutzernamenesraum   ist,   der   eine   gültige   Abbildung   für  Benutzer-
              (Gruppen-)Kennung 0 innerhalb des Namensraums hat. Das bedeutet, dass innerhalb  eines  Containers
              alle Dinge für den Benutzer »root« wie erwartet im Container ablaufen.

              Das Attribut »dumpable« mag sich aus folgenden Gründen ändern:

              •  Das Attribut wurde mit der Aktion PR_SET_DUMPABLE von prctl(2) explizit gesetzt.

              •  Das  Attribut  wurde  auf  den Wert in der Datei /proc/sys/fs/suid_dumpable (unten beschrieben)
                 zurückgesetzt. Die Gründe sind in prctl(2) beschrieben.

              Durch Zurücksetzen des Attributes »dumpable« wird die Eigentümerschaft der Dateien /proc/PID/* auf
              die effektive UID und GUID zurückgesetzt. Beachten Sie allerdings, dass  das  Attribut  »dumpable«
              zurückgesetzt  werden  kann,  falls  die  UID  oder  GUID  nachfolgend verändert wird, wie dies in
              prctl(2) beschrieben ist. Daher kann es wünschenswert sein,  dass  Attribut  »dumpable«  nach  der
              Durchführung   der   gewünschten  Änderungen  an  der  effektiven  UID  oder  GUID  des  Prozesses
              zurückzusetzen.

       /proc/PID/attr
              Die Dateien in diesem Verzeichnis stellen eine  API  für  Sicherheitsmodule  bereit.  Die  Inhalte
              dieses   Verzeichnisses   sind   Dateien,   die   gelesen   und   geschrieben  werden  können,  um
              sicherheitsbezogene Attribute zu setzen. Dieses  Verzeichnis  wurde  hinzugefügt,  um  SELinux  zu
              unterstützen.  Der  Ansatz  des  API  war  aber  allgemein  genug,  um andere Sicherheitsmodule zu
              unterstützen. Für den Zweck der Erläuterung werden Beispiele, wie SELinux diese Dateien verwendet,
              weiter unten angegeben.

              Dieses Verzeichnis ist nur vorhanden, falls der Kernel mit CONFIG_SECURITY konfiguriert wurde.

       /proc/PID/attr/current (seit Linux 2.6.0)
              Der Inhalt dieser Datei stellt die aktuellen Sicherheitsattribute des Prozesses bereit.

              In SELinux wird diese Datei zur Ermittlung des Sicherheitskontextes eines Prozesses verwandt.  Vor
              Linux  2.6.11  konnte  diese  Datei nicht zum Setzen des Sicherheitskontextes verwandt werden (ein
              Schreibzugriff wurde immer verweigert), da SELinux die Prozesssicherheitsübergänge  auf  execve(2)
              begrenzte  (siehe  die  Beschreibung  von /proc/PID/attr/exec weiter unten). Seit Linux 2.6.11 hat
              SELinux  diese  Einschränkung   aufgehoben   und   begonnen,   »set«   (Setzen-)Aktionen   mittels
              Schreibzugriffen  auf  diesen  Knoten zu unterstützen, falls dies durch Richtlinien erlaubt wurde.
              Allerdings ist die Verwendung dieser Aktion nur für Anwendungen geeignet, denen vertraut wird, die
              gewünschte Separierung zwischen dem alten und dem neuen Sicherheitskontext aufrechtzuerhalten.

              Vor Linux 2.6.28 erlaubte es SELinux Threads innerhalb von Multi-Threaded-Prozessen  nicht,  ihren
              Sicherheitskontext  mittels  dieses  Knotens  zu setzen, da es zu einer Inkonsistenz innerhalb der
              Sicherheitskontexte der Threads, die den gleichen Speicher gemeinsam benutzen, führen würde.  Seit
              2.6.28  hat  SELinux  diese  Einschränkung  aufgehoben  und  begonnen,  »set«-Aktionen für Threads
              innerhalb  von  Multi-Threaded-Prozessen  zu  unterstützen,  falls  der  neue   Sicherheitskontext
              innerhalb der Grenzen des alten Sicherheitskontextes liegt, wobei die begrenzende Beziehung in den
              Richtlinien definiert ist und garantiert, dass der neue Sicherheitskontext über eine Teilmenge der
              Rechte des alten Sicherheitskontextes verfügt.

              Andere  Sicherheitsmodule  können sich entscheiden, »set«-Aktionen über Schreibzugriffe auf diesen
              Knoten zu unterstützen.

       /proc/PID/attr/exec (seit Linux 2.6.0)
              Diese Datei repräsentiert die Attribute, die den Prozessen bei nachfolgenden execve(2)  zugewiesen
              werden sollen.

              In  SELinux  wird dies benötigt, um Rollen-/Domänenübergänge zu unterstützen und execve(2) ist die
              bevorzugte Stelle, um solche Übergänge vorzunehmen, da es  bessere  Steuermöglichkeiten  über  die
              Initialisierung des Prozesses im neuen Sicherheits-Label und die Vererbung von Zustand erlaubt. In
              SELinux  wird  dieses  Attribut  bei  execve(2)  zurückgesetzt,  so dass das neue Programm auf das
              Vorgabeverhalten für alle execve(2), die es ausführen könnte, zurückfällt.  In  SELinux  kann  ein
              Prozess nur sein eigenes Attribut /proc/PID/attr/exec setzen.

       /proc/PID/attr/fscreate (seit Linux 2.6.0)
              Diese  Datei repräsentiert die Attribute, die Dateien, die von nachfolgenden Aufrufen von open(2),
              mkdir(2), symlink(2) und mknod(2) erstellt werden, zugewiesen werden sollen.

              SELinux  verwendet  diese  Datei,  um  die  Erstellung  einer  Datei  (mit  den  vorab   erwähnten
              Systemaufrufen)  in  einem sicheren Zustand zu unterstützen, so dass es kein Risiko gibt, dass ein
              ungeeigneter Zugriff zwischen dem Zeitpunkt der Erstellung  und  dem  Zeitpunkt  des  Setzens  der
              Attribute  gibt.  In  SELinux  wird  dieses Attribut bei execve(2) zurückgesetzt, so dass das neue
              Programm wieder auf das alte Verhalten für alle  seine  Dateierstellungsaufrufe  zurückfällt.  Das
              Attribut  wird aber über mehrere Dateierstellungsaufrufe hinweg innerhalb eines Programms erhalten
              bleiben, solange es nicht explizit zurückgesetzt wird. Unter SELinux kann  ein  Prozess  nur  sein
              eigenes Attribut /proc/PID/attr/fscreate setzen.

       /proc/PID/attr/keycreate (seit Linux 2.6.18)
              Falls  ein  Prozess  ein  Sicherheitskontext  in  diese  Datei  schreibt,  werden alle nachfolgend
              erstellten Schlüssel (add_key(2)) mit  diesem  Kontext  mit  Labeln  gekennzeichnet.  Für  weitere
              Informationen   siehe   die   Kernelquelldatei  Documentation/security/keys/core.rst  (oder  Datei
              Documentation/security/keys.txt unter Linux zwischen 3.0 und 4.13 oder Documentation/keys.txt  vor
              Linux 3.0).

       /proc/PID/attr/prev (seit Linux 2.6.0)
              Diese  Datei  enthält  den  Sicherheitskontext  des  Prozesses vor dem letzten execve(2); d.h. den
              vorherigen Wert von /proc/PID/attr/current.

       /proc/PID/attr/socketcreate (seit Linux 2.6.18)
              Falls ein Prozess  ein  Sicherheitskontext  in  diese  Datei  schreibt,  werden  alle  nachfolgend
              erstellten Sockets mit diesem Kontext mit Labeln gekennzeichnet.

       /proc/PID/autogroup (seit Linux 2.6.38)
              siehe sched(7)

       /proc/PID/auxv (seit Linux 2.6.0)
              Dies ist der Inhalt der Informationen für den ELF-Interpreter, die dem Prozess zur Ausführungszeit
              übergeben  wurden. Das Format ist eine unsigned long-Kennung plus ein unsigned long-Wert für jeden
              Eintrag. Der letzte Eintrag enthält zwei Nullen. Siehe auch getauxval(3).

              Die   Zugriffsberechtigungen   dieser   Datei   werden   von   einer   Ptrace-Zugriffsmodusprüfung
              PTRACE_MODE_READ_FSCREDS geregelt; siehe ptrace(2).

       /proc/PID/cgroup (seit Linux 2.6.24)
              siehe cgroups(7)

       /proc/PID/clear_refs (seit Linux 2.6.22)

              In diese Datei kann nur geschrieben werden und nur durch den Eigentümer des Prozesses.

              Die folgenden Werte dürfen in die Datei geschrieben werden:

              1 (seit Linux 2.6.22)
                     setzt die Bits PG_Referenced und ACCESSED/YOUNG für alle diesem Prozess zugeordneten Seiten
                     zurück.  (Vor  Linux  2.6.32  hatte  das  Schreiben eines beliebigen von Null verschiedenen
                     Wertes in diese Datei diesen Effekt.)

              2 (seit Linux 2.6.32)
                     setzt die Bits PG_Referenced und ACCESSED/YOUNG für alle anonymen Seiten, die  dem  Prozess
                     zugeordnet sind, zurück.

              3 (seit Linux 2.6.32)
                     setzt  die  Bits  PG_Referenced und ACCESSED/YOUNG für alle Datei-gemappten Seiten, die dem
                     Prozess zugeordnet sind, zurück.

              Das Leeren der Bits PG_Referenced und ACCESSED/YOUNG stellt eine Methode zur  Verfügung,  ungefähr
              zu   messen,   wieviel   Speicher   der   Prozess   benutzt.   Zuerst  werden  die  Werte  in  den
              »Referenced«-Feldern für die VMAs (virtuellen Speicherbereiche) angesehen, die in  /proc/PID/smaps
              angezeigt  werden,  um  eine  Vorstellung  von  der  Speicherbelegung zu bekommen. Dann werden die
              PG_Referenced- und ACCESSED/YOUNG-Bits geleert und nach einer gemessenen  Zeitspannne  erneut  die
              Werte  in  den  »Referenced«-Feldern  angesehen,  um  eine  Vorstellung  von  der  Veränderung der
              Speicherbelegung  zu  erhalten.  Falls  nur  Interesse  besteht,  die  ausgewählten  Mapping-Typen
              anzusehen, dann kann der Wert 2 oder 3 anstelle von 1 benutzt werden.

              Weitere Werte können geschrieben werden, um andere Eigenschaften zu beeinflussen:

              4 (seit Linux 3.11)
                     leert  das  Soft-dirty-Bit für alle mit dem Prozess verbundenen Seiten. Dies wird (zusammen
                     mit /proc/PID/pagemap) vom Prüfpunktwiderherstellungssystem benutzt, um aufzudecken, welche
                     Seiten geändert wurden, seit in die Datei /proc/PID/clear_refs geschrieben wurde.

              5 (seit Linux 4.0)
                     setzt die Resident Set Size (»Hochwassermarke«) auf den derzeitigen Wert der  resident  set
                     size des aktuellen Prozesses zurück.

              Wird ein anderer als einer der oben aufgeführten Werte in /proc/PID/clear_refs geschrieben, so hat
              dies keinen Effekt.

              Die   Datei   /proc/PID/clear_refs   ist   nur  vorhanden,  wenn  die  Kernel-Konfigurationsoption
              CONFIG_PROC_PAGE_MONITOR aktiviert ist.

       /proc/PID/cmdline
              In dieser nur lesbaren Datei steht die vollständige Befehlszeile für diesen Prozess, wenn er  kein
              Zombie  ist. Im letzteren Fall ist die Datei leer, ein Lesen der Datei wird 0 Zeichen zurückgeben.
              Die Befehlszeilenargumente  sind  in  dieser  Datei  als  ein  Satz  von  Zeichenketten  abgelegt,
              Trennzeichen sind Nullbytes (»\0«). Nach der letzten Zeichenkette folgt noch ein Nullbyte.

              Falls ein Prozess nach einem execve(2) seine argv-Zeichenkette verändert, tauchen diese Änderungen
              hier auf. Dies ist nicht identisch zur Veränderung des argv-Feldes.

              Ein  Prozess  kann  desweiteren  den  Speicherort,  auf  den  diese  Datei  verweist,  mittels der
              prctl(2)-Aktionen wie PR_SET_MM_ARG_START verändern.

              Betrachten Sie diese Datei als Befehlszeile, die so ist, wie der Prozess sie darstellen möchte.

       /proc/PID/comm (seit Linux 2.6.33)
              Diese Datei legt den Wert comm des Prozesses offen – das bedeutet, den  Befehlsnamen,  der  diesem
              Prozess zugeordnet ist. Verschiedene Threads in dem gleichen Prozess können verschiedene Werte von
              comm  haben,  auf  die  mittels  /proc/PID/task/TID/comm  zugegriffen werden kann. Ein Thread kann
              seinen comm-Wert verändern oder den eines anderen Threads in der gleichen Thread-Gruppe (siehe die
              Diskussion von CLONE_THREAD in clone(2)), indem er in die Datei /proc/self/task/TID/comm schreibt.
              Zeichenketten länger als  TASK_COMM_LEN  (16)  Zeichen  (einschließlich  abschließendes  Nullbyte)
              werden ohne Rückmeldung abgeschnitten.

              Diese  Datei  stellt  eine  Obermenge der Aktionen prctl(2) PR_SET_NAME und PR_GET_NAME bereit und
              wird durch pthread_setname_np(3) eingesetzt, wenn vom Aufrufenden verschiedene  Threads  umbenannt
              werden.  Der  Wert  in  dieser Datei wird für den Kennzeichner %e in /proc/sys/kernel/core_pattern
              verwandt; siehe core(5).

       /proc/PID/coredump_filter (seit Linux 2.6.23)
              siehe core(5)

       /proc/PID/cpuset (seit Linux 2.6.12)
              siehe cpuset(7)

       /proc/PID/cwd
              Dies ist ein symbolischer Link auf das aktuelle Arbeitsverzeichnis des Prozesses. Um  dieses  z.B.
              für den Prozess 20 herauszufinden, geben Sie die folgenden Befehle ein:

                  $ cd /proc/20/cwd; pwd -P

              In  einem  Multithread-Prozess ist der Inhalt dieses symbolischen Links nicht mehr verfügbar, wenn
              der Haupt-Thread schon beendet ist (typischerweise durch einen Aufruf von pthread_exit(3)).

              Die Rechte, diesen symbolischen Link zu dereferenzieren oder zu lesen  (readlink(2)),  werden  von
              einer Ptrace-Zugriffsmodusprüfung PTRACE_MODE_READ_FSCREDS gesteuert; siehe ptrace(2).

       /proc/PID/environ
              Diese  Datei  enthält  die  anfängliche  Prozess-Umgebung,  die  gesetzt  wurde,  als  das aktuell
              ausgeführte Programm mit einem execve(2) gestartet wurde.  Die  Einträge  werden  durch  Nullbytes
              (»\0«)  getrennt, am Ende der Liste kann ebenfalls ein Nullbyte stehen. Die Umgebung von Prozess 1
              geben Sie wie folgt aus:

                  $ cat /proc/1/environ | tr '\000' '\n'

              Falls ein Prozess nach einem execve(2) seine Umgebung verändert (z.B. durch Aufruf von  Funktionen
              wie  putenv(3)  oder durch direkte Veränderungen der environ(7)-Variablen) wird diese Datei solche
              Änderungen nicht berücksichtigen.

              Ein Prozess  kann  desweiteren  den  Speicherort,  auf  den  diese  Datei  verweist,  mittels  der
              prctl(2)-Aktionen wie PR_SET_MM_ENV_START verändern.

              Die   Zugriffsberechtigungen   dieser   Datei   werden   von   einer   Ptrace-Zugriffsmodusprüfung
              PTRACE_MODE_READ_FSCREDS geregelt; siehe ptrace(2).

       /proc/PID/exe
              Unter Linux 2.2 und höher ist diese Datei ein symbolischer Link  mit  dem  eigentlichen  Pfad  des
              ausgeführten  Befehls.  Dieser  symbolische  Link  kann  in  der  Regel dereferenziert werden; der
              Versuch, ihn zu öffnen,  wird  die  ausführbare  Datei  öffnen.  Sie  können  sogar  /proc/PID/exe
              eingeben,  um  eine weitere Kopie der gleichen ausführbaren Datei auszuführen, die für den Prozess
              PID läuft.  Falls  der  Pfadname  mit  unlink  gelöscht  wurde,  wird  der  symbolische  Link  die
              Zeichenkette   »(deleted)«   an   den   ursprünglichen   Dateinamen   angehängt  haben.  In  einem
              Multithread-Prozess ist der Inhalt dieses  symbolischen  Links  nicht  mehr  verfügbar,  wenn  der
              Haupt-Thread schon beendet ist (typischerweise durch einen Aufruf von pthread_exit(3)).

              Die  Rechte,  diesen  symbolischen Link zu dereferenzieren oder zu lesen (readlink(2)), werden von
              einer Ptrace-Zugriffsmodusprüfung PTRACE_MODE_READ_FSCREDS gesteuert; siehe ptrace(2).

              Unter Linux 2.0 und früher ist /proc/PID/exe ein Zeiger auf das Programm, das ausgeführt wurde und
              erscheint als symbolischer Link. Ein Aufruf von readlink(2) auf diese Datei unter Linux  2.0  gibt
              eine Zeichenkette im folgenden Format zurück:

                  [Gerät]:Inode

              Beispielsweise wäre [0301]:1502 also Inode 1502 auf dem Gerät mit der Major-Gerätenummer 03 (IDE-,
              MFM-Festplatten) und der Minor-Gerätenummer 01 (erste Partition der ersten Platte).

              find(1) mit der Option -inum zeigt, in welchem Verzeichnis die Datei liegt.

       /proc/PID/fd/
              In diesem Unterverzeichnis stehen die Dateideskriptoren der von diesem Prozess geöffneten Dateien.
              Diese Einträge sind symbolische Links zu den eigentlichen Dateien. Also ist 0 die Standardeingabe,
              1 ist die Standardausgabe, 2 ist der Standardfehlerkanal usw.

              Für  Dateideskriptoren  für  Pipes  und  Sockets werden die Einträge symbolische Links sein, deren
              Inhalt der Dateityp mit dem Inode ist. Ein Aufruf von readlink(2) mit dieser  Datei  liefert  eine
              Zeichenkette im folgenden Format zurück:

                  Typ:[Inode]

              Beispielsweise  wird  socket:[2248868] ein Socket sein, dessen Inode 2248868 ist. Für Sockets kann
              dieser Inode dazu verwandt werden, weitere Informationen in einem der Dateien unter /proc/net/  zu
              finden.

              Für   Dateideskriptoren,   die   keinen   korrespondierenden   Inode  haben  (d.h.  durch  bpf(2),
              epoll_create(2), eventfd(2), inotify_init(2), perf_event_open(2),  signalfd(2),  timerfd_create(2)
              und  userfaultfd(2)  erstellte Dateideskriptoren), wird der Eintrag ein symbolischer Link sein mit
              Inhalten der Form

                  anon_inode:Dateityp

              In vielen (aber nicht allen) Fällen wird Dateityp durch eckige Klammern eingeschlossen.

              Beispielsweise  wird  ein  Epoll-Dateideskriptor  einen  symbolischen  Link,  dessen  Inhalt   die
              Zeichenkette anon_inode:[eventpoll] ist, haben.

              In  einem  Multithread-Prozess ist der Inhalt dieses Verzeichnisses nicht mehr verfügbar, wenn der
              Haupt-Thread schon beendet ist (typischerweise durch einen Aufruf von pthread_exit(3)).

              Programme, die einen Dateinamen als Befehlszeilen-Argument verarbeiten, aber ohne  Argument  keine
              Eingaben  aus  der  Standardeingabe  annehmen  oder  die  in  eine Datei schreiben, deren Name als
              Befehlszeilen-Argument übergeben wird, aber bei fehlendem Argument nicht  in  die  Standardausgabe
              ausgeben,  können  dennoch  mittels  Dateien  /proc/PID/fd als Befehlszeilenargument dazu gebracht
              werden, die Standardeingabe oder die Standardausgabe zu verwenden.  Angenommen,  der  Schalter  -i
              bezeichnet die Eingabedatei und -o die Ausgabedatei:

                  $ foobar -i /proc/self/fd/0 -o /proc/self/fd/1 

              und Sie haben einen funktionierenden Filter.

              /proc/self/fd/N  ist  in etwa dasselbe wie /dev/fd/N in einigen UNIX- und UNIX-ähnlichen Systemen.
              Die meisten MAKEDEV-Skripte legen tatsächlich symbolische Links von /proc/self/fd zu /dev/fd an.

              Die meisten Systeme stellen die symbolischen Links /dev/stdin, /dev/stdout und /dev/stderr bereit,
              die entsprechend auf die Dateien 0, 1 und 2 in /proc/self/fd weisen. Das  letzte  Beispiel  könnte
              also auch alternativ geschrieben werden als:

                  $ foobar -i /dev/stdin -o /dev/stdout 

              Die  Rechte,  die  symbolischen  Links  in  diesem  Verzeichnis  zu  dereferenzieren oder zu lesen
              (readlink(2)), werden von einer  Ptrace-Zugriffsmodusprüfung  PTRACE_MODE_READ_FSCREDS  gesteuert;
              siehe ptrace(2).

              Beachten  Sie,  dass für Dateideskriptoren, die sich auf Inodes beziehen (Pipes und Sockets, siehe
              oben), diese Inodes immer noch die von den Einträgen /proc/PID/fd verschiedenen  Berechtigungsbits
              und   Eigentümerinformationen   haben   und  dass  sich  der  Eigentümer  von  den  Benutzer-  und
              Gruppenkennungen des Prozesses unterscheiden kann. Einem nicht privilegierten Prozess könnten  die
              Rechte zum Öffnen fehlen, wie in diesem Beispiel:

                  $ echo test | sudo -u nobody cat
                  test
                  $ echo test | sudo -u nobody cat /proc/self/fd/0
                  cat: /proc/self/fd/0: Permission denied

              Dateideskriptor  0  bezieht  sich  auf  die durch die Shell erzeugte und von diesem Shell-Benutzer
              (dies ist nobody) besessene Pipe, so dass cat nicht über  die  Berechtigungen  verfügt,  um  einen
              neuen  Dateideskriptor  zu  erstellen,  um  von  dieser  Inode  zu lesen, obwohl es immer noch vom
              existierenden Dateideskriptor 0 lesen kann.

       /proc/PID/fdinfo/ (seit Linux 2.6.22)
              In diesem Unterverzeichnis stehen  die  Dateideskriptoren  aller  von  diesem  Prozess  geöffneten
              Dateien.  Die  Dateien  in  diesem Verzeichnis können nur von dem Eigentümer des Prozesses gelesen
              werden. Der Inhalt jeder Datei kann gelesen  werden,  um  Informationen  über  den  entsprechenden
              Dateideskriptor zu bekommen. Der Inhalt hängt von der Art der Datei ab, die von dem entsprechenden
              Dateideskriptor referenziert wird.

              Für reguläre Dateien und Verzeichnisse ergibt sich etwas der Form:

                  $ cat /proc/12015/fdinfo/4
                  pos:    1000
                  flags:  01002002
                  mnt_id: 21

              Die Bedeutung der Felder im Einzelnen:

              pos    Dies ist eine Dezimalzahl, die den Dateiversatz zeigt.

              flags  Dies  ist  eine oktale Zahl, die den Dateizugriffsmodus und die Dateistatusschalter anzeigt
                     (siehe open(2)). Falls der »close-on-exec«-Dateideskriptorschalter gesetzt ist, wird  flags
                     auch den Wert O_CLOEXEC enthalten.

                     Vor  Linux  3.1  zeigte  dieses  Feld  inkorrekterweise  die  Einstellung von O_CLOEXEC zum
                     Zeitpunkt des Öffnens der Datei an, statt den aktuellen Wert des Schalters close-on-exec.

              mnt_id Dieses seit Linux 3.15 vorhandene Feld zeigt die Kennung der Einhängung an, der diese Datei
                     enthält. Siehe die Beschreibung von /proc/PID/mountinfo.

              Für den Eventfd-Dateideskriptor (siehe eventfd(2)) gibt es (seit Linux 3.8) die folgenden Felder:

                  pos: 0
                  flags:    02
                  mnt_id:   10
                  eventfd-count:               40

              eventfd-count ist der aktuelle hexadezimale Wert des Eventfd-Zählers.

              Für den Epoll-Dateideskriptor (siehe epoll(7)) gibt es (seit Linux 3.8) die folgenden Felder:

                  pos: 0
                  flags:    02
                  mnt_id:   10
                  tfd:        9 events:       19 data: 74253d2500000009
                  tfd:        7 events:       19 data: 74253d2500000007

              Jede mit tfd beginnende Zeile beschreibt einen Dateideskriptor, der mit dem  Epoll-Dateideskriptor
              überwacht  wird  (siehe  epoll_ctl(2)  für  weitere  Details).  Das  Feld  tfd  ist die Nummer des
              Dateideskriptors. Das Feld events ist eine  hexadezimale  Maske  der  für  diesen  Dateideskriptor
              überwachten Ereignisse. Das Feld data ist der diesem Dateideskriptor zugeordnete Datenwert.

              Für  den  Signalfd-Dateideskriptor  (siehe  signalfd(2))  gibt  es  (seit Linux 3.8) die folgenden
              Felder:

                  pos: 0
                  flags:    02
                  mnt_id:   10
                  sigmask:  0000000000000006

              sigmask  ist  die  hexadezimale  Maske  der  Signale,  die  über  diesen  Signalfd-Dateideskriptor
              akzeptiert werden. (In diesem Beispiel sind die Bits 2 und 3 gesetzt; dies entspricht den Signalen
              SIGINT und SIGQUIT; siehe signal(7).)

              Für Inotify-Dateideskriptoren (siehe inotify(7)) gibt es (seit Linux 3.8) die folgenden Felder:

                  pos: 0
                  flags:    00
                  mnt_id:   11
                  inotify wd:2 ino:7ef82a sdev:800001 mask:800afff ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:2af87e00220ffd73
                  inotify wd:1 ino:192627 sdev:800001 mask:800afff ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:27261900802dfd73

              Jede  der mit »inotify« beginnenden Zeilen zeigt Informationen über eine überwachte Datei oder ein
              überwachtes Verzeichnis an. Die Felder in dieser Zeile sind wie folgt:

              wd     Eine Watch-Deskriptornummer (deziaml)

              ino    Die Inode-Nummer der Zieldatei (hexadezimal).

              sdev   Die Kennung des Gerätes, auf dem sich die Zieldatei befindet (hexadezimal).

              mask   Die Maske der für die Zieldatei überwachten Ereignisse (hexadezimal).

              Falls der Kernel mit Exportfs-Unterstützung gebaut wurde, ist der Pfad zu  der  Zieldatei  mittels
              drei hexadezimaler Felder als Datei-Handle offengelegt: fhandle-bytes, fhandle-type und f_handle.

              Für Fanotify-Dateideskriptoren (siehe fanotify(7)) gibt es (seit Linux 3.8) die folgenden Felder:

                  pos: 0
                  flags:    02
                  mnt_id:   11
                  fanotify flags:0 event-flags:88002
                  fanotify ino:19264f sdev:800001 mflags:0 mask:1 ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:4f261900a82dfd73

              Das  vierte  Feld  zeigt  Informationen,  die  bei  der  Erstellung  der  Fanotify-Gruppe  mittels
              fanotify_init(2) definiert wurden:

              flags  Das an fanotify_init(2) übergebene Argument flags (hexadezimal ausgedrückt).

              event-flags
                     Das an fanotify_init(2) übergebene Argument event_f_flags (hexadezimal ausgedrückt).

              Jede zusätzliche in der Datei gezeigte Zeile enthält Informationen über eine der  Markierungen  in
              der Fanotify-Gruppe. Die meisten der Felder sind für Inotify, außer:

              mflags Die der Markierung zugeordneten Schalter (hexadezimal ausgedrückt).

              mask   Die Ereignismaske für diese Markierung (hexadezimal ausgedrückt).

              ignored_mask
                     Die Maske der für diese Markierung ignorierten Ereignisse (hexadezimal ausgedrückt).

              Für Details über diese Felder lesen Sie fanotify_mark(2).

              Für den Timerfd-Dateideskriptor (siehe timerfd(2)) gibt es (seit Linux 3.17) die folgenden Felder:

                  pos:    0
                  flags:  02004002
                  mnt_id: 13
                  clockid: 0
                  ticks: 0
                  settime flags: 03
                  it_value: (7695568592, 640020877)
                  it_interval: (0, 0)

              clockid
                     Dies  ist  der  numerische  Wert  der  Uhrkennung  (entsprechend einer der mittels <time.h>
                     definierten Konstanten), der zur Markierung des Fortschritts des Timers verwandt  wird  (in
                     diesem Beispiel ist 0 CLOCK_REALTIME).

              ticks  Dies ist die Anzahl der aufgetretenen Abläufe des Timers (d.h. dem Wert, den read(2) darauf
                     zurückliefern würde).

              settime flags
                     Dieses  Feld  führt  in oktaler Schreibweise die Schalter auf, mit denen Timerfd letztmalig
                     beladen wurde (siehe timerfd_settime(2)) (in diesem Beispiel sind sowohl  TFD_TIMER_ABSTIME
                     als auch TFD_TIMER_CANCEL_ON_SET gesetzt).

              it_value
                     Dieses  Feld hält die Zeitdauer in Sekunden und Nanosekunden, bis der Timer das nächste Mal
                     ablaufen wird. Der Wert wird immer relativ ausgedrückt,  unabhängig  davon,  ob  der  Timer
                     mittels des Schalters TFD_TIMER_ABSTIME erstellt wurde.

              it_interval
                     Dieses  Feld  enthält  das  Intervall  des Timers in Sekunden und Nanosekunden. (Die Felder
                     it_value  und  it_interval  enthalten  die  Werte,  die   timerfd_gettime(2)   auf   diesem
                     Dateideskriptor zurückliefern würde.)

       /proc/PID/gid_map (seit Linux 3.5)
              Siehe user_namespaces(7).

       /proc/PID/io (seit Linux 2.6.20)
              Diese Datei enthält E/A-Statistiken für den Prozess, beispielsweise:

                  # cat /proc/3828/io
                  rchar: 323934931
                  wchar: 323929600
                  syscr: 632687
                  syscw: 632675
                  read_bytes: 0
                  write_bytes: 323932160
                  cancelled_write_bytes: 0

              Die Bedeutung der Felder im Einzelnen:

              rchar: characters read (gelesene Zeichen)
                     Die  Anzahl  an  Bytes, die aufgrund dieses Prozesses vom Speicher gelesen wurden. Dies ist
                     einfach die Summe der Bytes, die dieser  Prozess  an  read(2)  und  ähnliche  Systemaufrufe
                     übergeben  hat.  Sie  enthält  Dinge wie Terminal-E/A und ist unabhängig davon, ob wirklich
                     physische   Platten-E/A   benötigt   wurde    (die    Leseanforderung    kann    aus    dem
                     Seitenzwischenspeicher befriedigt worden sein).

              wchar: characters written (geschriebene Zeichen)
                     Die  Anzahl  an  Bytes,  die  aufgrund  dieses Prozesses auf Platte geschrieben wurden oder
                     werden. Es gelten ähnliche Warnungen wie bei rchar.

              syscr: Syscalls lesen
                     Ein Versuch, die Anzahl der gelesen E/A-Vorgänge zu  zählen  (d.h.  der  Systemaufrufe  wie
                     read(2) und pread(2)).

              syscw: Syscalls schreiben
                     Ein  Versuch,  die  Anzahl der geschriebenen E/A-Vorgänge zu zählen (d.h. der Systemaufrufe
                     wie write(2) und pwrite(2)).

              read_bytes: bytes read (gelesene Bytes)
                     Versucht, die Anzahl der Bytes zu zählen, die aufgrund dieses Prozesses  wirklich  von  der
                     Speichereinheit geholt wurden. Für blockunterstützte Dateisysteme ist dies genau.

              write_bytes: bytes written (geschriebene Bytes)
                     Ein  Versuch,  die  Anzahl der Bytes, die ausgelöst durch diesen Prozess zum Speichermedium
                     gesandt wurden, zu zählen.

              cancelled_write_bytes:
                     Die große Ungenauigkeit hier ist das Abschneiden. Falls ein Prozess  1  MB  in  eine  Datei
                     schreibt  und  diese  dann löscht, wird tatsächlich nichts rausgeschrieben. Allerdings wird
                     dies als 1 MB Schreiben in eine Datei verbucht. Mit anderen Worten: Dieses Feld stellt  die
                     Anzahl   an   Bytes   dar,  die  durch  diesen  Prozess  nicht  passiert  sind,  indem  der
                     Seitenzwischenspeicher  abgeschnitten  wurde.  Ein  Prozess  kann   auch   »negative«   E/A
                     hervorrufen.  Falls  dieser Prozess benutzten (»dirty«) Seitenzwischenspeicher abschneidet,
                     wird ein Teil des E/A, der für einen  anderen  Prozess  (in  seinem  write_bytes)  verbucht
                     wurde, nicht passieren.

              Hinweis:   In   der   aktuellen   Implementierung   gibt  es  auf  32-Bit-Systemen  einen  kleinen
              Ressourcenwettlauf: Falls Prozess A /proc/PID/io von Prozess B liest, während Prozess B einen  der
              64-Bit-Zähler aktualisiert, könnte Prozess A ein Zwischenergebnis sehen.

              Die   Zugriffsberechtigungen   dieser   Datei   werden   von   einer   Ptrace-Zugriffsmodusprüfung
              PTRACE_MODE_READ_FSCREDS geregelt; siehe ptrace(2).

       /proc/PID/limits (seit Linux 2.6.24)
              Diese Datei enthält die weichen und harten Grenzen sowie die  Maßeinheiten  der  für  den  Prozess
              geltenden  Ressourcenbeschränkungen (siehe getrlimit(2)). Bis einschließlich Linux 2.6.35 darf die
              Datei nur mit der realen UID des Prozesses gelesen werden. Seit Linux 2.6.36 kann diese Datei  von
              allen Benutzern des Systems gelesen werden.

       /proc/PID/map_files/ (seit Linux 3.3)
              Dieses  Unterverzeichnis  enthält  Einträge,  die  zu  Speicher-gemappten  Dateien  gehören (siehe
              mmap(2)). Einträge werden durch Start- und Endadresspaare  von  Speicherbereichen  benannt  (durch
              hexadezimale  Zahlen ausgedrückt). Sie sind symbolische Verweise auf die gemappten Dateien selbst.
              Hier nun ein Beispiel, bei dem die Ausgabe umgebrochen und neu formatiert wurde, damit sie in eine
              80-spaltige Anzeige passt:

                  # ls -l /proc/self/map_files/
                  lr--------. 1 root root 64 Apr 16 21:31
                              3252e00000-3252e20000 -> /usr/lib64/ld-2.15.so
                  …

              Obwohl diese Einträge für Speicherbereiche vorhanden sind, die mit dem Schalter  MAP_FILE  gemappt
              wurden, bedeutet die Art, wie anonym gemeinsam benutzter Speicher (Bereiche, die mit den Schaltern
              MAP_ANON  |  MAP_SHARED  erzeugt  wurden)  in Linux implementiert ist, dass diese Bereiche auch in
              diesem Verzeichnis erscheinen. Hier folgt ein Beispiel, bei dem die Zieldatei diejenige  ist,  die
              gelöscht /dev/zero wurde:

                  lrw-------. 1 root root 64 Apr 16 21:33
                              7fc075d2f000-7fc075e6f000 -> /dev/zero (deleted)

              Die   Zugriffsberechtigungen   dieser   Datei   werden   von   einer   Ptrace-Zugriffsmodusprüfung
              PTRACE_MODE_READ_FSCREDS geregelt; siehe ptrace(2).

              Bis  Linux  4.3  erschien  dieses   Verzeichnis   nur,   falls   die   Kernel-Konfigurationsoption
              CONFIG_CHECKPOINT_RESTORE aktiviert war.

              Capabilities,  die  zum  Lesen  der  Inhalte von symbolischen Links in diesem Verzeichnis benötigt
              werden: Vor Linux 5.9 benötigte der Leseprozess CAP_SYS_ADMIN im anfänglichen  Benutzernamensraum;
              seit  Linux  5.9  muss  der Leseprozess entweder über CAP_SYS_ADMIN oder CAP_CHECKPOINT_RESTORE im
              Benutzernamensraum, in dem er sich befindet, verfügen.

       /proc/PID/maps
              Eine Datei mit den derzeit  gemappten  Speicherbereichen  und  ihren  Zugriffsrechten.  Lesen  Sie
              mmap(2) für weitere Informationen über Speicher-Mappings.

              Die   Zugriffsberechtigungen   dieser   Datei   werden   von   einer   Ptrace-Zugriffsmodusprüfung
              PTRACE_MODE_READ_FSCREDS geregelt; siehe ptrace(2).

              Das Format der Datei lautet:

                  address           perms offset  dev   inode       pathname
                  00400000-00452000 r-xp 00000000 08:02 173521      /usr/bin/dbus-daemon
                  00651000-00652000 r--p 00051000 08:02 173521      /usr/bin/dbus-daemon
                  00652000-00655000 rw-p 00052000 08:02 173521      /usr/bin/dbus-daemon
                  00e03000-00e24000 rw-p 00000000 00:00 0           [heap]
                  00e24000-011f7000 rw-p 00000000 00:00 0           [heap]
                  ...
                  35b1800000-35b1820000 r-xp 00000000 08:02 135522  /usr/lib64/ld-2.15.so
                  35b1a1f000-35b1a20000 r--p 0001f000 08:02 135522  /usr/lib64/ld-2.15.so
                  35b1a20000-35b1a21000 rw-p 00020000 08:02 135522  /usr/lib64/ld-2.15.so
                  35b1a21000-35b1a22000 rw-p 00000000 00:00 0
                  35b1c00000-35b1dac000 r-xp 00000000 08:02 135870  /usr/lib64/libc-2.15.so
                  35b1dac000-35b1fac000 ---p 001ac000 08:02 135870  /usr/lib64/libc-2.15.so
                  35b1fac000-35b1fb0000 r--p 001ac000 08:02 135870  /usr/lib64/libc-2.15.so
                  35b1fb0000-35b1fb2000 rw-p 001b0000 08:02 135870  /usr/lib64/libc-2.15.so
                  ...
                  f2c6ff8c000-7f2c7078c000 rw-p 00000000 00:00 0    [stack:986]
                  ...
                  7fffb2c0d000-7fffb2c2e000 rw-p 00000000 00:00 0   [stack]
                  7fffb2d48000-7fffb2d49000 r-xp 00000000 00:00 0   [vdso]

              Das Feld address ist der Adressraum im Prozess, das das Mapping belegt. Das Feld  perms  ist  eine
              Gruppe von Zugriffsrechten.

                  r = read (lesen)
                  w = write (schreiben)
                  x = execute (ausführen)
                  s = shared (gemeinsam benutzt)
                  p = private (copy on write) (Kopieren bei Schreibzugriffen)

              Das  Feld  offset  ist  der  Abstand zum Anfang (der Datei oder was auch immer), dev steht für das
              Gerät (major:minor) und Inode ist der Inode auf diesem Gerät. Ist Inode 0, dann  ist  keine  Datei
              mit diesem Speicherbereich verbunden, wie z.B. im Falle von BSS (nicht initialisierte Daten).

              Das  Feld  pathname  wird  normalerweise  die  Datei  sein,  die  dem  Mapping  zugrundeliegt. Für
              ELF-Dateien können Sie dies einfach mit dem Feld offset koordinieren, indem Sie das Feld Offset in
              den ELF-Programm-Headern (readelf -l) anschauen.

              Es gibt zusätzliche, hilfreiche Pseudo-Pfade:

              [stack]
                     Der initiale Stack des Prozesses (auch als Haupt-Thread bekannt).

              [stack:TID] (von Linux 3.4 bis 4.4)
                     Der Stack eines Prozesses (wobei die TID eine Thread-Kennung ist). Er entspricht  dem  Pfad
                     /proc/PID/task/TID/.  Dieses Feld wurde in Linux 4.5 entfernt, da die Bereitstellung dieser
                     Informationen für einen Prozess mit einer großen Anzahl an Threads kostspielig ist.

              [vdso] Das virtuelle dynamisch-gelinkte Laufzeitobjekt. Siehe vdso(7).

              [heap] Der Prozess-Heap.

              [anon:Name] (seit Linux 5.17)
                     Ein benanntes, privates, anonymes Mapping. Mit prctl(2) PR_SET_VMA_ANON_NAME gesetzt.

              [anon_shmem:Name] (seit Linux 6.2)
                     Ein benanntes, gemeinsames, anonymes Mapping. Mit prctl(2) PR_SET_VMA_ANON_NAME gesetzt.

              Falls das Feld pathname leer ist, ist dies ein anonymes Mapping, wie es per mmap(2) gewonnen wird.
              Es gibt keine einfache Möglichkeit, dies zu einer  Prozessquelle  zurückzukoordinieren,  außer  es
              durch gdb(1), strace(1) oder ähnliches auszuführen.

              pathname   wird   desmaskiert   angezeigt,   außer  für  Zeilenumbrüche,  die  durch  eine  oktale
              Maskiersequenz ersetzt werden. Daher ist es  im  Ergebnis  nicht  möglich  zu  bestimmen,  ob  der
              ursprüngliche  Dateiname  ein  Zeilenumbruchzeichen  oder  die  tatsächliche  Zeichensequenz  \012
              enthielt.

              Falls das Mapping Datei-basiert ist  und  die  Datei  gelöscht  wurde,  wird  die  Zeichenkette  »
              (deleted)« an den Pfadnamen angehängt. Beachten Sie, dass auch dies mehrdeutig ist.

              Unter Linux 2.0 gibt es kein Feld, das den Pfadnamen angibt.

       /proc/PID/mem
              Diese  Datei kann genutzt werden, um auf die Speicherseiten des Prozesses mittels open(2), read(2)
              und lseek(2) zuzugreifen.

              Die  Rechte,  auf  diese  Datei  zuzugreifen,   werden   von   einer   Ptrace-Zugriffsmodusprüfung
              PTRACE_MODE_ATTACH_FSCREDS gesteuert; siehe ptrace(2).

       /proc/PID/mountinfo (seit Linux 2.6.26)
              Diese  Datei  enthält  Informationen  über Einhängungen im Einhängenamensraum des Prozesses (siehe
              mount_namespaces(7)). Sie stellt verschiedene Informationen (z.B. Ausbreitungszustand, Wurzel  von
              Einhängungen  für  Bind-Einhängungen, Kennzeichner für jede Einhängung und seine Elterneinhängung)
              bereit, die in der (älteren) Datei /proc/PID/mounts  fehlen  und  korrigiert  verschiedene  andere
              Probleme mit dieser Datei (z.B. Nichterweiterbarkeit, keine Unterscheidbarkeit von pro-Einhängung-
              vs. pro-Superblock-Optionen).

              Die Datei enthält Zeilen der folgenden Form:

              36 35 98:0 /mnt1 /mnt2 rw,noatime master:1 - ext3 /dev/root rw,errors=continue
              (1)(2)(3)   (4)   (5)      (6)      (7)   (8) (9)   (10)         (11)

              Die Zahlen in Klammern sind Zuordnungen zu den folgenden Beschreibungen:

              (1)  Einhängekennung:  eine  eindeutige  Kennung  für dieses Einhängen (kann nach umount(2) erneut
                   verwendet werden).

              (2)  Elternkennung: die Kennung  der  Eltern-Einhängung  (oder  von  selbst  für  die  Wurzel  des
                   Einhängebaums dieses Einhängenamensraums)

                   Falls  eine  neue  Einhängung  oben auf eine bisherige bestehende Einhängung beim Pfadnamen P
                   gestapelt  wird  (so  dass  es  die  bestehende   Einhängung   versteckt),   dann   ist   die
                   Elterneinhängung  der neuen Einhängung die vorherige Einhängung an diesem Ort. Beim Blick auf
                   alle an einem bestimmten Ort gestapelten Einhängungen ist daher die oberste Einhängung  jene,
                   die  keine Elterneinhängung irgendeiner anderen Einhängung am gleichen Ort ist. (Beachten Sie
                   allerdings, dass diese oberste  Einhängung  nur  zugreifbar  sein  wird,  falls  das  längste
                   Pfadpräfix  von  P,  das der Einhängepunkt ist, nicht selbst durch eine gestapelte Einhängung
                   versteckt ist.)

                   Falls die Elterneinhängung außerhalb des  Wurzelverzeichnisses  des  Prozesses  liegt  (siehe
                   chroot(2))  wird  die  hier gezeigte Kennung keinen korrespondierenden Datensatz in mountinfo
                   haben, dessen Einhängekennung (Feld 1) auf die Einhängekennung des Elternprozesses passt  (da
                   Einhängungen, die außerhalb des Wurzelverzeichnisses des Prozesses liegen, nicht in mountinfo
                   angezeigt werden). Als Sonderfall bei diesem Punkt kann die Wurzeleinhängung dieses Prozesses
                   eine   Elterneinhängung   (für   das   Initramfs-Dateisystem)   haben,   der   außerhalb  des
                   Wurzelverzeichnisses des Prozesses liegt, und  ein  Eintrag  für  diese  Einhängung  wird  in
                   mountinfo nicht auftauchen.

              (3)  Major:Minor: der Wert von st_dev für Dateien im Dateisystem (siehe stat(2)).

              (4)  Wurzel:  der Pfadname des Verzeichnisses in dem Dateisystem, der die Wurzel dieser Einhängung
                   darstellt.

              (5)  Einhängepunkt: der Einhängepunkt relativ zum Wurzelverzeichnis des Prozesses.

              (6)  Einhängeoptionen: individuelle Einhängeoptionen (siehe mount(2)).

              (7)  Optionale Felder: ein oder mehrere Felder der Form »Bezeichnung[:Wert]« (siehe unten).

              (8)  Trennzeichen: Das Ende der optionalen Felder wird durch einen einzelnen Bindestrich markiert.

              (9)  Dateisystemtyp: der Typ des Dateisystems im Format »Typ[.Untertyp]«.

              (10) Einhänge-Ursprung: dateisystemspezifische Informationen oder »none«.

              (11) Super-Optionen: individuelle Superblock-Optionen (siehe mount(2)).

              Derzeit sind shared, master,  propagate_from  und  unbindable  mögliche  optionale  Felder.  Siehe
              mount_namespaces(7)  für  eine  Beschreibung  dieser  Felder.  Auswertprogramme sollten alle nicht
              erkannten optionalen Felder ignorieren.

              Weitere    Informationen    zur    Ausbreitung    von    Einhängepunkten     finden     Sie     in
              Documentation/filesystems/sharedsubtree.rst  (oder Documentation/filesystems/sharedsubtree.txt vor
              Linux 5.8) im Linux-Kernel-Quelltext.

       /proc/PID/mounts (seit Linux 2.4.19)
              Diese Datei listet alle Dateisysteme auf, die derzeit  in  dem  Einhängenamensraum  des  Prozesses
              eingehängt   sind   (siehe   mount_namespaces(7)).  Das  Format  dieser  Datei  wird  in  fstab(5)
              dokumentiert.

              Seit Linux 2.6.15 kann diese  Datei  abgefragt  werden:  Nach  dem  Öffnen  der  Datei  zum  Lesen
              veranlasst  eine  Änderung  in  dieser  Datei  (d.h.  ein  Dateisystem  einhängen  oder aushängen)
              select(2), den Dateideskriptor als besondere Bedingung und poll(2) und epoll_wait(2) die Datei als
              Prioritätsereignis (POLLPRI) zu markieren. (Vor Linux 2.6.30 führte eine Änderung in dieser  Datei
              dazu,  dass  der  Dateideskriptor  als  lesbar für select(2) und als Fehlerzustand für poll(2) und
              epoll_wait(2) markiert wurde.)

       /proc/PID/mountstats (seit Linux 2.6.17)
              Diese Datei macht Informationen (Statistiken, Konfigurationsinformation) über die Einhängungen  im
              »mount«-Namensraum  des  Prozesses  verfügbar  (siehe mount_namespaces(7)). Zeilen in dieser Datei
              haben die folgende Form:

                  device /dev/sda7 mounted on /home with fstype ext3 [stats]
                  (       1      )            ( 2 )             (3 ) (  4  )

              Die Felder in jeder Zeile sind:

              (1)  Der Name des eingehängten Geräts (oder »nodevice«, wenn es kein entsprechendes Gerät gibt).

              (2)  Der Einhängepunkt innerhalb des Dateisystembaums.

              (3)  Der Dateisystemtyp.

              (4)  Optionale Statistiken und Konfigurationsinformationen. Derzeit (Stand Linux  2.6.26)  stellen
                   nur NFS-Dateisysteme Informationen in diesem Feld bereit.

              Diese Datei kann nur vom Eigentümer des Prozesses gelesen werden.

       /proc/PID/net (seit Linux 2.6.25)
              Siehe die Beschreibung von /proc/net.

       /proc/PID/ns/ (seit Linux 3.0)
              Dieses  Unterverzeichnis  enthält  einen  Eintrag  für  jeden  Namensraum,  der  mittels  setns(2)
              manipuliert werden kann. Für weitere Informationen siehe namespaces(7).

       /proc/PID/numa_maps (seit Linux 2.6.14)
              Siehe numa(7).

       /proc/PID/oom_adj (seit Linux 2.6.11)
              Diese Datei kann verwendet werden,  um  die  Bewertung  anzupassen,  anhand  dessen  Prozesse  bei
              Speicherknappheit  (out-of-memory,  OOM)  abgebrochen werden. Der Kernel verwendet diesen Wert für
              eine Bit-Verschiebeoperation des oom_score-Werts des Prozesses: Gültig sind Werte im  Bereich  von
              -16 bis +15, sowie der besondere Wert -17, der einen Abbruch des Prozesses wegen Speicherknappheit
              deaktiviert.  Ein  positiver  Wert  erhöht die Wahrscheinlichkeit, dass der Prozess vom OOM-Killer
              getötet wird, ein negativer Wert senkt die Wahrscheinlichkeit.

              Der Standardwert für diese Datei ist 0. Ein neuer Prozess erbt die Einstellung oom_adj von  seinem
              Elternprozess.   Ein  Prozess  muss  privilegiert  sein  (CAP_SYS_RESOURCE),  um  diese  Datei  zu
              aktualisieren.

              seit Linux 2.6.36 wird die Verwendung dieser Datei gegenüber /proc/PID/oom_score_adj missbilligt.

       /proc/PID/oom_score (seit Linux 2.6.11)
              Diese Datei zeigt die aktuelle Bewertung des Kernels für diesen  Prozess  als  Grundlage  für  die
              Auswahl  als  Opfer des OOM-Killers. Eine höhere Bewertung bedeutet, dass der Prozess eher von dem
              OOM-Killer ausgewählt werden soll. Die  Grundlage  dieser  Bewertung  ist  der  Speicherverbrauch.
              Verschiedene andere Faktoren erhöhen (+) oder verringern (-) diesen Wert. Diese Faktoren sind:

              •  ob der Prozess privilegiert ist (-).

              Vor Linux 2.6.36 wurden die folgenden Faktoren auch bei der Berechnung von oom_score benutzt:

              •  ob der Prozess mittels fork(2) viele Kinder erzeugt (+);

              •  ob der Prozess schon lange läuft oder viel CPU-Zeit verbraucht hat (-);

              •  ob der Prozess einen niedrigen Nice-Wert hat (d.h. > 0) (+); und

              •  ob der Prozess direkt auf die Hardware zugreift (-).

              Der  oom_score  spiegelt  auch die Anpassung durch die oom_score_adj- oder oom_adj-Einstellung für
              den Prozess.

       /proc/PID/oom_score_adj (seit Linux 2.6.36)
              Diese Datei kann zur Anpassung der Schlechtigkeitsheuristik verwandt werden, die eingesetzt  wird,
              um in Speicherknappheitssituationen den zu beendenden Prozess auszuwählen.

              Die  Schlechtigkeits-Heuristik  weist jedem möglichen Prozess einen Wert von 0 (niemals töten) bis
              1000 (immer töten) zu, um zu bestimmen, welcher Prozess infrage  kommt.  Der  Wert  beschreibt  im
              Wesentlichen  den  kontinuierlichen  Anteil  des  erlaubten  Speichers,  aus  dem sich der Prozess
              Speicher  zuweisen  darf.  Als  Grundlage  dient  dazu  der  aktuelle  verwendete   Speicher   und
              Auslagerungsspeicher.  Wenn  ein  Prozess  beispielsweise sämtlichen erlaubten Speicher nutzt, ist
              dessen Schlechtigkeitsbewertung bei 1000. Nutzt er die Hälfte des erlaubten Speichers, beträgt die
              Bewertung 500.

              Es gibt einen weiteren Faktor in der Schlechtigkeitsbewertung: Root-Prozessen wird 3% zusätzlicher
              Speicher gegenüber anderen Prozessen gegeben.

              Die Menge des »erlaubten« Speichers hängt von dem Kontext ab, in  dem  der  OOM-Killer  aufgerufen
              wurde.  Falls  der  Kontext  ist,  dass  der oder die Prozessoren ausgelastet sind, entspricht der
              erlaubte Speicher dem Speicher, der diesem Cpuset zugewiesen ist (siehe cpuset(7)). Falls der oder
              die Mempolicy-Knoten erschöpft ist/sind, repräsentiert der erlaubte Speicher die Mempolicy-Knoten.
              Falls eine Arbeitsspeicher- (oder Auslagerungsspeicher-) Grenze  erreicht  wurde,  entspricht  der
              erlaubte Speicher dieser Grenze. Sollte das gesamte System keinen Speicher mehr übrig haben, steht
              der erlaubte Speicher für alle verfügbaren Ressoucen.

              Die  Wert  aus  oom_score_adj  wird  zur  Schlechtigkeitsbewertung  hinzugefügt,  bevor dieser zur
              Ermittlung des zu tötenden  Prozesses  verwendet  wird.  Zulässige  Werte  liegen  zwischen  -1000
              (OOM_SCORE_ADJ_MIN)  und  +1000  (OOM_SCORE_ADJ_MAX),  einschließlich  dieser. Dies ermöglicht auf
              Anwendungsebene die Einstellungen für das OOM-Killern zu steuern; dies reicht von der  permanentes
              Bevorzugen  eines  bestimmten  Prozesses oder deren vollständige Deaktivierung des OOM-Killers für
              ihn.  Der  niedrigste  mögliche  Wert  von  -1000  ist  gleichbedeutend  mit   der   vollständigen
              Deaktivierung  des  OOM-Killers  für diesen Prozess, da dieser stets eine Schlechtigkeitsbewertung
              von 0 meldet.

              Infolgedessen ist es für die Anwendungsebene sehr einfach, die Speichermenge  zu  definieren,  die
              für jeden Prozess in Betracht gezogen wird. Die Festlegung eines Wertes von +500 für oom_score_adj
              ist  beispielsweise etwa gleichbedeutend damit, dass die übrigen Prozesse, die das gleiche System,
              Cpuset, Mempolicy oder Speicher-Controller-Ressourcen mit verwenden, mindestens 50% mehr  Speicher
              verwenden.  Andererseits wäre ein Wert von -500 etwa gleichbedeutend damit, den erlaubten Speicher
              eines Prozesses bei der Bewertung des erlaubten Speichers des Prozesses um 50% zu reduzieren.

              Zur  Rückwärtskompatibilität  mit  früheren  Kerneln  kann  /proc/PID/oom_adj   immer   noch   zur
              Feineinstellung  der  Schlechtigkeitsbewertung  verwendet  werden. Dieser Wert skaliert linear mit
              oom_score_adj.

              Schreiben in /proc/PID/oom_score_adj oder /proc/PID/oom_adj führt zur Änderung des anderen mit dem
              skalierten Wert.

              Das Programm  choom(1)  stellt  eine  Befehlszeilenschnittstelle  für  die  Anpassung  des  Wertes
              oom_score_adj eines laufenden Prozesses oder frisch ausgeführten Befehls bereit.

       /proc/PID/pagemap (seit Linux 2.6.25)
              Diese  Datei  zeigt  das  Mapping  jeder  der  virtuellen  Seiten des Prozesses auf die physischen
              Seiten-Frames oder den Auslagerungsbereich. Sie  enthält  einen  64-Bit-Wert  für  jede  virtuelle
              Seite, wobei die Bits wie folgt gesetzt sind:

              63     Falls gesetzt ist die Seite im RAM

              62     Falls gesetzt, befindet sich die Seite im Auslagerungsbereich (Swap)

              61 (seit Linux 3.5)
                     Die Seite ist eine Datei-gemappte Seite oder eine gemeinsam benutzte Seite.

              60…58 (seit Linux 3.11)
                     Null

              57 (seit Linux 5.14)
                     Falls gesetzt, ist die Seite durch userfaultfd(2) schreibgeschützt.

              56 (seit Linux 4.2)
                     Diese Seite ist exklusiv gemappt.

              55 (seit Linux 3.11)
                     PTE     ist     soft-dirty     (leicht     geändert,     siehe     die    Kernel-Quelldatei
                     Documentation/admin-guide/mm/soft-dirty.rst).

              54…0   Falls die Seite im RAM (Bit 63) liegt, stellen diese Bits die  Seiten-Frame-Nummer  bereit,
                     die zum Indizieren von /proc/kpageflags und /proc/kpagecount benutzt werden kann. Falls die
                     Seite   im   Auslagerungsspeicher   liegt  (Bit  62),  geben  die  Bits  4…0  den  Typ  des
                     Auslagerungsspeichers an und die Bits 54…5 kodieren den Auslagerungsspeicherversatz.

              Vor Linux 3.11 wurden die Bits  60…55  dazu  verwandt,  den  Logarithmus  (in  der  Basis  2)  der
              Seitengröße zu halten.

              Um  /proc/PID/pagemap  effektiv einzusetzen, verwenden Sie /proc/PID/maps, um die Speicherbereiche
              zu bestimmen, die tatsächlich gemappt sind und überspringen Sie die nicht gemappten Bereiche.

              Die  Datei   /proc/PID/pagemap   ist   nur   vorhanden,   wenn   die   Kernel-Konfigurationsoption
              CONFIG_PROC_PAGE_MONITOR aktiviert ist.

              Die   Zugriffsberechtigungen   dieser   Datei   werden   von   einer   Ptrace-Zugriffsmodusprüfung
              PTRACE_MODE_READ_FSCREDS geregelt; siehe ptrace(2).

       /proc/PID/personality (seit Linux 2.6.28)
              Diese  nur  lesbare  Datei  legt  die  Ausführungs-Domain  des  Prozesses  offen,  wie   sie   von
              personality(2) gesehen wird. Der Wert ist hexadezimal dargestellt.

              Die   Rechte,   auf   diese   Datei  zuzugreifen,  werden  von  einer  Ptrace-Zugriffsmodusprüfung
              PTRACE_MODE_ATTACH_FSCREDS gesteuert; siehe ptrace(2).

       /proc/PID/root
              UNIX und Linux unterstützen das Konzept eines prozesseigenen Wurzel-Dateisystems (root),  das  für
              jeden Prozess mit dem Systemauf chroot(2) gesetzt wird. Diese Datei ist ein symbolischer Link, der
              auf das Wurzelverzeichnis des Prozesses weist, und verhält sich wie es auch exe und fd/* tun.

              Beachten  Sie,  dass  diese  Datei  nicht  nur ein einfacher symbolischer Link ist. Sie stellt den
              gleichen  Blick  auf  das   Dateisystem   (einschließlich   Namensräume   und   der   Gruppe   der
              pro-Prozess-Einhängungen)  wie  der  Prozess  dar.  Ein  Beispiel erläutert diesen Punkt. In einem
              Terminal wird eine Shell in einem neuen Benutzer- und Einhängenamensraum gestartet und  in  dieser
              Shell werden einige neue Einhängungen erstellt:

                  $ PS1='sh1# ' unshare -Urnm
                  sh1# mount -t tmpfs tmpfs /etc  # Leeres Tmpfs unter /etc einhängen
                  sh1# mount --bind /usr /dev     # /usr unter /dev einhängen
                  sh1# echo $$
                  27123

              In  einem  zweiten  Terminalfenster, in dem ursprünglichen Einhängenamensraum, wird der Inhalt der
              entsprechenden Einhängungen in dem ursprünglichen und dem neuen Namensraum angeschaut:

                  $ PS1='sh2# ' sudo sh
                  sh2# ls /etc | wc -l                  # Im anfänglichen NR
                  309
                  sh2# ls /proc/27123/root/etc | wc -l  # /etc in anderem NR
                  0                                     # Das leere Verz tmpfs
                  sh2# ls /dev | wc -l                  # Im anfänglichen NR
                  205
                  sh2# ls /proc/27123/root/dev | wc -l  # /dev in anderem NR
                  11                                    # Tatsächlich bind-
                                                        # eingehängt in /usr
                  sh2# ls /usr | wc -l                  # /usr im anfänglichen NR
                  11

              In einem Multithread-Prozess ist der Inhalt  des  symbolischen  Links  /proc/PID/root  nicht  mehr
              verfügbar,  wenn  der  Haupt-Thread  schon  beendet  ist  (typischerweise  durch  einen Aufruf von
              pthread_exit(3)).

              Die Rechte, diesen symbolischen Link zu dereferenzieren oder zu lesen  (readlink(2)),  werden  von
              einer Ptrace-Zugriffsmodusprüfung PTRACE_MODE_READ_FSCREDS gesteuert; siehe ptrace(2).

       /proc/PID/projid_map (seit Linux 3.7)
              Siehe user_namespaces(7).

       /proc/PID/seccomp (Linux 2.6.12 bis 2.6.22)
              Diese Datei kann zum Lesen und Ändern der Moduseinstellungen der sicheren Berechnung (Seccomp) des
              Prozesses  verwandt  werden. Sie enthält den Wert 0, falls der Prozess sich nicht im Seccomp-Modus
              befindet und 1, falls der Prozess sich im strikten Seccomp-Modus befindet (siehe seccomp(2)). Wird
              1 in diese Datei geschrieben, wird  der  Prozess  unwiderruflich  in  den  strikten  Seccomp-Modus
              gebracht.   (Weitere  Versuche,  in  diese  Datei  zu  schreiben,  werden  mit  dem  Fehler  EPERM
              fehlschlagen.)

              Unter Linux 2.6.23 verschwand  diese  Datei  und  wurde  durch  die  Aktionen  PR_GET_SECCOMP  und
              PR_SET_SECCOMP  von  prctl(2)  ersetzt  (und  später  durch  seccomp(2)  und  das  Feld Seccomp in
              /proc/PID/status).

       /proc/PID/setgroups (seit Linux 3.19)
              Siehe user_namespaces(7).

       /proc/PID/smaps (seit Linux 2.6.14)
              Diese Datei zeigt den Speicherverbrauch für jedes der Prozess-Mappings. (Der Befehl pmap(1)  zeigt
              ähnliche Informationen in einer Form, die leichter auswertbar sein könnte.) Für jedes der Mappings
              gibt es eine Reihe von Zeilen wie die folgende:

                  00400000-0048a000 r-xp 00000000 fd:03 960637       /bin/bash
                  Size:                552 kB
                  Rss:                 460 kB
                  Pss:                 100 kB
                  Shared_Clean:        452 kB
                  Shared_Dirty:          0 kB
                  Private_Clean:         8 kB
                  Private_Dirty:         0 kB
                  Referenced:          460 kB
                  Anonymous:             0 kB
                  AnonHugePages:         0 kB
                  ShmemHugePages:        0 kB
                  ShmemPmdMapped:        0 kB
                  Swap:                  0 kB
                  KernelPageSize:        4 kB
                  MMUPageSize:           4 kB
                  Locked:                0 kB
                  ProtectionKey:         0
                  VmFlags: rd ex mr mw me dw

              Die  erste  dieser  Zeilen  enthält  die  gleichen  Informationen,  wie  sie  für  das  Mapping in
              /proc/PID/maps angezeigt werden. Die übrigen Zeilen zeigen die Größe des Mappings, den aktuell  im
              RAM  befindlichen Anteil des Mappings, der Anteil des Prozesses an dem Mapping (»Pss«), die Anzahl
              unveränderter (clean) und geänderter (dirty) gemeinsam  genutzter  Seiten  des  Mappings  und  die
              Anzahl  unveränderter  und geänderter privater Seiten. »Referenced« gibt die Menge des derzeit als
              referenziert oder zugegriffen markierten Speichers an. »Anonymous« zeigt die Speichermenge, die zu
              keiner Datei gehört. »Swap« zeigt an, wieviel  möchte-gerne-Anonym-Speicher  auch  verwandt  wird,
              aber im Auslagerungsspeicher.

              Die Zeile »KernelPageSize« (verfügbar seit Linux 2.6.29) ist die vom Kernel verwandte Seitengröße,
              um  den virtuellen Speicherbereich zu hinterlegen. Dies passt in den meisten Fällen auf die Größe,
              die von der MMU verwandt wird. Allerdings tritt ein Gegenbeispiel auf PPC64-Kerneln auf, auf denen
              64 kB als Basisseitengröße verwandt wird, aber auf älteren Prozessoren 4 kB für die MMU  verwendet
              wird.  Um zwischen den zwei Attributen zu unterscheiden, meldet die Zeile »MMUPageSize« (auch seit
              Linux 2.6.29 verfügbar) die von der MMU verwandte Seitengröße.

              Das »Locked« zeigt an, ob das Mapping im Speicher gesperrt ist oder nicht.

              Die Zeile »ProtectionKey« (verfügbar seit Linux 4.9, nur x86) enthält den  Speicherschutzschlüssel
              (siehe  pkeys(7)),  der  dem  virtuellen  Speicherbereich  zugeordnet  ist. Dieser Eintrag ist nur
              vorhanden, falls der Kernel mit der  Konfigurationsoption  CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS
              gebaut wurde (seit Linux 4.6).

              Die  Zeile  »VmFlags«  (verfügbar  seit  Linux  3.8)  stellt  die  dem  virtuellen Speicherbereich
              zugeordneten Kernelschalter dar, kodiert mittels der folgenden zwei-Buchstaben-Codes:

                     rd   -   lesbar
                     wr   -   schreibbar
                     ex   -   ausführbar
                     sh   -   gemeinsam
                     mr   -   darf gelesen werden
                     mw   -   darf geschrieben werden
                     me   -   darf ausgeführt werden
                     ms   -   darf gemeinsam verwandt werden
                     gd   -   Stapelsegment wächst nach unten
                     pf   -   reiner PFN-Bereich
                     dw   -   Schreiben auf die gemappte Datei deaktiviert
                     lo   -   Seiten sind im Speicher gesperrt
                     io   -   Speicher-gemappter E/A-Bereich
                     sr   -   Empfehlung zum sequentiellen Lesen bereitgestellt
                     rr   -   Empfehlung zum zufälligen Lesen bereitgestellt
                     dc   -   beim Fork nicht zu kopierender Bereich
                     de   -   Bereich beim Remapping nicht erweitern
                     ac   -   Bereich ist rechenschaftspflichtig
                     nr   -   Auslagerungsbereich ist für den Bereich nicht reserviert
                     ht   -   Bereich verwendet große tlb-Seiten
                     sf   -   synchrone Seitenausnahmebehandlungen durchführen (seit Linux 4.15)
                     nl   -   nichtlineares Mapping (entfernt in Linux 4.0)
                     ar   -   Architektur-spezifische Schalter
                     wf   -   beim Fork bereinigen (seit Linux 4.14)
                     dd   -   Bereich nicht in den Speicherauszug aufnehmen
                     sd   -   Soft-dirty-Schalter (seit Linux 3.13)
                     mm   -   gemischt-gemappter Bereich
                     hg   -   Empfehlungs-Schalter für große Seiten
                     nh   -   Kein-Empfehlungs-Schalter für große Seiten
                     mg   -   Empfehlungsschalter zum Zusammenführen
                     um   -   userfaultfd-Nachverfolgung fehlender Seiten (seit Linux 4.3)
                     uw   -   userfaultfd-Nachverfolgung wprotect-Seiten (seit Linux 4.3)

              Die   Datei   /proc/PID/smaps   ist   nur   vorhanden,   wenn   die    Kernel-Konfigurationsoption
              CONFIG_PROC_PAGE_MONITOR aktiviert ist.

       /proc/PID/stack (seit Linux 2.6.29)
              Diese  Datei  stellt  eine  symbolische Verfolgung der Funktionsaufrufe in dem Kernel-Stack dieses
              Prozesses  bereit.  Diese  Datei   wird   nur   bereitgestellt,   falls   der   Kernel   mit   der
              Konfigurationsoption CONFIG_STACKTRACE gebaut wurde.

              Die   Rechte,   auf   diese   Datei  zuzugreifen,  werden  von  einer  Ptrace-Zugriffsmodusprüfung
              PTRACE_MODE_ATTACH_FSCREDS gesteuert; siehe ptrace(2).

       /proc/PID/stat
              Statusinformationen des Prozesses. Wird von ps(1) benutzt.  Sie  werden  in  der  Kernelquelldatei
              fs/proc/array.c definiert.

              Die  Felder  werden  in  dieser Reihenfolge mit ihrem passenden scanf(3)-Formatkennzeichnern unten
              aufgeführt.  Ob  bestimmte  dieser  Felder  gültige  Informationen  anzeigen,   wird   von   einer
              Ptrace-Zugriffsmodusprüfung   PTRACE_MODE_READ_FSCREDS   |  PTRACE_MODE_NOAUDIT  gesteuert  (siehe
              ptrace(2)). Falls die Prüfung den Zugriff verweigert, wird  der  Feldwert  mit  0  angegeben.  Die
              betroffenen Felder werden mit der Markierung [PT] gekennzeichnet.

              (1) PID  %d
                     Die Prozesskennung.

              (2) comm  %s
                     Der  Name  der ausführbaren Datei, in Klammern. Zeichenketten länger als TASK_COMM_LEN (16)
                     Zeichen   (einschließlich   des   abschließenden   Nullbytes)   werden   ohne   Rückmeldung
                     abgeschnitten.  Dies wird angezeigt, unabhängig davon, ob das Programm ausgelagert ist oder
                     nicht.

              (3) state  %c
                     Eines der folgenden Zeichen zur Angabe des Prozesszustandes:

                     R      Laufend

                     S      Schlafend in einem unterbrechbaren Wartezustand

                     D      Wartend in einem nicht unterbrechbaren Plattenschlaf

                     Z      Zombie

                     T      Gestoppt (aufgrund eines Signals) oder (vor Linux 2.6.33) Verfolgung gestoppt

                     t      Verfolgung gestoppt (seit Linux 2.6.33)

                     W      Paging (nur vor Linux 2.6.0)

                     X      Getötet (seit Linux 2.6.0)

                     x      Getötet (nur Linux 2.6.33 bis 3.13)

                     K      Wakekill (nur Linux 2.6.33 bis 3.13)

                     W      Aufwachend (nur Linux 2.6.33 bis 3.13)

                     P      Geparkt (nur Linux 3.9 bis 3.13)

                     I      Leerlauf (Linux 4.14 und neuer)

              (4) ppid  %d
                     Die Prozesskennung (PID) des Elternprozesses dieses Prozesses.

              (5) pgrp  %d
                     Die Prozess-Gruppenkennung des Prozesses.

              (6) session  %d
                     Die Sitzungskennung des Prozesses.

              (7) tty_nr  %d
                     Das steuernde Terminal des Prozesses. (Die Minor-Gerätenummer ist in  der  Kombination  der
                     Bits  31  bis 20 und 7 bis 0 enthalten; die Major-Gerätenummer befindet sich in den Bits 15
                     bis 8.)

              (8) tpgid  %d
                     Die Kennung der Vordergrund-Prozessgruppe des steuernden Terminals des Prozesses.

              (9) flags  %u
                     Das Wort mit den Kernel-Schaltern des Prozesses. Die Bedeutung der Bits finden Sie  in  den
                     PF_*-#define-Anweisungen  in  der  Linux-Quellcodedatei <linux/sched.h>. Die Details hängen
                     von der Kernel-Version ab.

                     Das Format dieses Feldes war %lu vor Linux 2.6.

              (10) minflt  %lu
                     Die Anzahl geringfügiger Ausnahmebehandlungen  des  Prozesses,  die  kein  Nachladen  einer
                     Speicherseite von Platte erforderlich gemacht haben.

              (11) cminflt  %lu
                     Die  Anzahl  geringfügiger Ausnahmebehandlungen der Kindprozesse des Prozesses, auf die der
                     Prozess wartete.

              (12) majflt  %lu
                     Die Anzahl  wesentlicher  Ausnahmebehandlungen  des  Prozesses,  die  das  Nachladen  einer
                     Speicherseite von der Platte erforderten.

              (13) cmajflt  %lu
                     Die  Anzahl  wesentlicher  Ausnahmebehandlungen der Kindprozesse des Prozesses, auf die der
                     Prozess wartete.

              (14) utime  %lu
                     Gesamtzeit, die dieser Prozess im Benutzermodus  verbracht  hat,  gemessen  in  Uhren-Ticks
                     (dividieren Sie durch sysconf(_SC_CLK_TCK)). Das umfasst Gastzeit, guest_time (aufgewendete
                     Zeit  für  den  Betrieb  einer  virtuellen  CPU, siehe unten), so dass Anwendungen, die das
                     Gastzeit-Feld nicht kennen, diese Zeit in ihren Berechnungen nicht außer acht lassen.

              (15) stime  %lu
                     Gesamtzeit, die dieser Prozess im  Kernel-Modus  verbracht  hat,  gemessen  in  Uhren-Ticks
                     (dividieren Sie durch sysconf(_SC_CLK_TCK)).

              (16) cutime  %ld
                     Gesamtzeit,  die  abgewartete  Kindprozesse  im  Benutzermodus verbracht haben, gemessen in
                     Uhren-Ticks (dividieren Sie durch sysconf(_SC_CLK_TCK)) (siehe auch times(2)). Das  umfasst
                     Gastzeit, guest_time (Laufzeit in einer virtuellen CPU, siehe unten).

              (17) cstime  %ld
                     Gesamtzeit,  die  abgewartete  Kindprozesse  im  Kernel-Modus  verbracht haben, gemessen in
                     Uhren-Ticks (dividieren Sie durch sysconf(_SC_CLK_TCK)).

              (18) priority  %ld
                     (Erklärung für Linux 2.6) Für Prozesse, die im Scheduling eine Echtzeit-Strategie verfolgen
                     (policy   weiter   unten,   siehe   sched_setscheduler(2)),   ist   dies    die    negierte
                     Scheduling-Priorität  minus  eins,  das  heißt,  eine  Zahl  im  Bereich  von  -2 bis -100,
                     entsprechend den Echtzeitprioritäten  1  bis  99.  Für  Prozesse,  deren  Scheduling  keine
                     Echtzeit-Strategie verfolgt, ist dies der rohe Nice-Wert (setpriority(2)), wie er im Kernel
                     dargestellt  ist.  Der  Kernel  speichert  Nice-Werte als Zahlen im Bereich 0 (hoch) bis 39
                     (niedrig), entsprechend des für den Benutzer sichtbaren Nice-Bereichs von -20 bis 19.

                     Vor Linux 2.6 war dies ein skalierter Wert auf Grundlage des vom Scheduler an  den  Prozess
                     zugewiesenen Gewichts.

              (19) nice  %ld
                     Der  Nice-Wert  (siehe setpriority(2)), ein Wert im Bereich von 19 (niedrige Priorität) bis
                     -20 (hohe Priorität).

              (20) num_threads  %ld
                     Anzahl von Threads in diesem Prozess (seit Linux 2.6). Vor Linux 2.6 war  dieses  Feld  mit
                     dem Wert 0 als Platzhalter für ein früher entferntes Feld hartkodiert.

              (21) itrealvalue  %ld
                     Die  Zeit  (in  Jiffies),  bevor  dem  Prozess  aufgrund eines Intervall-Timers ein SIGALRM
                     gesendet wird. Seit Linux 2.6.17 wird dieses Feld  nicht  mehr  gewartet  und  wird  mit  0
                     hartkodiert.

              (22) starttime  %llu
                     Die  Zeit,  zu der der Prozess nach dem Systemstart gestartet wurde. In Linux vor 2.6 wurde
                     dieser Wert in Jiffies ausgegeben. Seit Linux 2.6 wird der Wert in Uhren-Ticks  ausgedrückt
                     (teilen Sie diese durch sysconf(_SC_CLK_TCK)).

                     Das Format dieses Feldes war %lu vor Linux 2.6.

              (23) vsize  %lu
                     Größe des virtuellen Speichers in Bytes.

              (24) rss  %ld
                     Resident  Set  Size:  Anzahl der Seiten, die der Prozess tatsächlich im Speicher hat. Dabei
                     zählen nur die Seiten von  Text,  Daten  und  Stack.  Nicht  abgerufene  oder  ausgelagerte
                     Bereiche zählen nicht mit. Dieser Wert ist ungenau, siehe /proc/PID/statm weiter unten.

              (25) rsslim  %lu
                     Aktuelle  weiche Grenze für die RSS des Prozesses; siehe die Beschreibung von RLIMIT_RSS in
                     getrlimit(2).

              (26) startcode  %lu  [PT]
                     Die Adresse, oberhalb derer Programmtext ausgeführt werden kann.

              (27) endcode  %lu  [PT]
                     Die Adresse, unterhalb derer Programmtext ausgeführt werden kann.

              (28) startstack  %lu  [PT]
                     Die Startadresse des Stacks (also der »Boden«).

              (29) kstkesp  %lu  [PT]
                     Derzeitiger Wert von ESP (Stack Pointer), wie  er  in  der  Kernel-Stack-Seite  für  diesen
                     Prozess steht.

              (30) kstkeip  %lu  [PT]
                     Der aktuelle EIP (Instruction Pointer, Anweisungszeiger).

              (31) signal  %lu
                     Die  Bitmap  anstehender  Signale,  angezeigt  als  Dezimalzahl.  Obsolet,  weil  sie keine
                     Informationen über Echtzeitsignale gibt; verwenden Sie stattdessen /proc/PID/status.

              (32) blocked  %lu
                     Die Bitmap  blockierter  Signale,  angezeigt  als  Dezimalzahl.  Obsolet,  weil  sie  keine
                     Informationen über Echtzeitsignale gibt; verwenden Sie stattdessen /proc/PID/status.

              (33) sigignore  %lu
                     Die  Bitmap  ignorierter  Signale,  angezeigt  als  Dezimalzahl.  Obsolet,  weil  sie keine
                     Informationen über Echtzeitsignale gibt; verwenden Sie stattdessen /proc/PID/status.

              (34) sigcatch  %lu
                     Die Bitmap abgefangener  Signale,  angezeigt  als  Dezimalzahl.  Obsolet,  weil  sie  keine
                     Informationen über Echtzeitsignale gibt; verwenden Sie stattdessen /proc/PID/status.

              (35) wchan  %lu  [PT]
                     Dies  ist der »Kanal«, in dem der Prozess wartet. Es ist die Adresse des Orts im Kernel, an
                     dem der Prozess  schläft.  Der  entsprechende  symbolische  Name  kann  in  /proc/PID/wchan
                     gefunden werden.

              (36) nswap  %lu
                     Anzahl ausgelagerter Seiten (nicht gewartet).

              (37) cnswap  %lu
                     Aufaddiertes nswap der Kindprozesse (nicht gewartet).

              (38) exit_signal  %d  (seit Linux 2.1.22)
                     Das an den Elternprozess zu sendende Signal, wenn wir sterben.

              (39) processor  %d  (seit Linux 2.2.8)
                     Nummer der CPU, auf der der Prozess zuletzt lief.

              (40) rt_priority  %u  (seit Linux 2.5.19)
                     Priorität  für  das  Echtzeit-Scheduling,  eine  Zahl im Bereich von 1 bis 99 für Prozesse,
                     deren  Scheduling  einer  Echtzeit-Strategie  folgt  oder  0  für  andere  Prozesse  (siehe
                     sched_setscheduler(2)).

              (41) policy  %u  (seit Linux 2.5.19)
                     Scheduling-Regeln    (siehe    sched_setscheduler(2)).   Dekodieren   Sie   sie   mit   den
                     SCHED_*-Konstanten in linux/sched.h.

                     Das Format dieses Feldes war %lu vor Linux 2.6.22.

              (42) delayacct_blkio_ticks  %llu  (seit Linux 2.6.18)
                     Kumulierte Block-E/A-Verzögerungen, gemessen in Uhren-Ticks (Hundertstelsekunden).

              (43) guest_time  %lu  (seit Linux 2.6.24)
                     Gastzeit des Prozesses (aufgewendete Zeit für den Betrieb  einer  virtuellen  CPU  für  ein
                     Gast-Betriebssystem), gemessen in Uhren-Ticks (dividieren Sie durch sysconf(_SC_CLK_TCK)).

              (44) cguest_time  %ld  (seit Linux 2.6.24)
                     Gastzeit  der  Kindprozesse  des  Prozesses,  gemessen in Uhren-Ticks (dividieren Sie durch
                     sysconf(_SC_CLK_TCK)).

              (45) start_data  %lu  (seit Linux 3.3)  [PT]
                     Adresse, oberhalb derer die initialisierten und nicht-initialisierten  Programmdaten  (BSS)
                     abgelegt werden.

              (46) end_data  %lu  (seit Linux 3.3)  [PT]
                     Adresse,  unterhalb derer die initialisierten und nicht-initialisierten Programmdaten (BSS)
                     abgelegt werden.

              (47) start_brk  %lu  (seit Linux 3.3)  [PT]
                     Adresse, oberhalb derer der Heap von Programmen mit brk(2) ausgedehnt werden kann.

              (48) arg_start  %lu  (seit Linux 3.5)  [PT]
                     Adresse, oberhalb derer die Befehlszeilenargumente (argv) abgelegt werden.

              (49) arg_end  %lu  (seit Linux 3.5)  [PT]
                     Adresse, unterhalb derer die Befehlszeilenargumente (argv) abgelegt werden.

              (50) env_start  %lu  (seit Linux 3.5)  [PT]
                     Adresse, oberhalb derer die Programmumgebung abgelegt wird.

              (51) env_end  %lu  (seit Linux 3.5)  [PT]
                     Adresse, unterhalb derer die Programmumgebung abgelegt wird.

              (52) exit_code  %d  (seit Linux 3.5)  [PT]
                     Der Exit-Status des Threads in dem durch waitpid(2) berichteten Format.

       /proc/PID/statm
              Informiert über den Speicherverbrauch, gemessen in Seiten. Die Spalten bedeuten:

                  Größe         (1) Gesamtgröße des Programms
                                (dasselbe wie VmSize in /proc/PID/status)
                  im Speicher   (2) Größe des Resident Set
                                (dasselbe wie VmRSS in /proc/PID/status)
                  gemeinsam     (3) Anzahl von residenten (d.h. dateigestützten) gemeinsamen
                                Seiten
                                (ungenau; dasselbe wie RssFile+RssShmem in
                                /proc/PID/status)
                  Text          (4) Text (Code)
                  Bibliothek    (5) Bibliothek (seit Linux 2.6 nicht verwendet, immer 0)
                  Daten         (6) Daten + Stack
                  geändert      (7) geänderte Seiten (dirty) (seit Linux 2.6
                                nicht verwendet, immer 0)

              Einige dieser Werte sind aufgrund  kernelinterner  Skalierungsoptimierung  ungenau.  Falls  genaue
              Werte  benötigt  werden,  verwenden  Sie  stattdessen /proc/PID/smaps oder /proc/PID/smaps_rollup.
              Diese sind deutlich langsamer, stellten aber genaue, detaillierte Informationen bereit.

       /proc/PID/status
              Stellt viele der Informationen in /proc/PID/stat und /proc/PID/statm in einem Format  bereit,  das
              für Menschen einfacher auszuwerten ist. Ein Beispiel:

                  $ cat /proc/$$/status
                  Name:   bash
                  Umask:  0022
                  State:  S (sleeping)
                  Tgid:   17248
                  Ngid:   0
                  Pid:    17248
                  PPid:   17200
                  TracerPid:      0
                  Uid:    1000    1000    1000    1000
                  Gid:    100     100     100     100
                  FDSize: 256
                  Groups: 16 33 100
                  NStgid: 17248
                  NSpid:  17248
                  NSpgid: 17248
                  NSsid:  17200
                  VmPeak:     131168 kB
                  VmSize:     131168 kB
                  VmLck:           0 kB
                  VmPin:           0 kB
                  VmHWM:       13484 kB
                  VmRSS:       13484 kB
                  RssAnon:     10264 kB
                  RssFile:      3220 kB
                  RssShmem:        0 kB
                  VmData:      10332 kB
                  VmStk:         136 kB
                  VmExe:         992 kB
                  VmLib:        2104 kB
                  VmPTE:          76 kB
                  VmPMD:          12 kB
                  VmSwap:          0 kB
                  HugetlbPages:          0 kB        # 4.4
                  CoreDumping:   0                       # 4.15
                  Threads:        1
                  SigQ:   0/3067
                  SigPnd: 0000000000000000
                  ShdPnd: 0000000000000000
                  SigBlk: 0000000000010000
                  SigIgn: 0000000000384004
                  SigCgt: 000000004b813efb
                  CapInh: 0000000000000000
                  CapPrm: 0000000000000000
                  CapEff: 0000000000000000
                  CapBnd: ffffffffffffffff
                  CapAmb:   0000000000000000
                  NoNewPrivs:     0
                  Seccomp:        0
                  Speculation_Store_Bypass:       vulnerable
                  Cpus_allowed:   00000001
                  Cpus_allowed_list:      0
                  Mems_allowed:   1
                  Mems_allowed_list:      0
                  voluntary_ctxt_switches:        150
                  nonvoluntary_ctxt_switches:     545

              Die Bedeutung der Felder im Einzelnen:

              Name   Der  von  diesem  Prozess  ausgeführte  Befehl. Zeichenketten länger als TASK_COMM_LEN (16)
                     Zeichen   (einschließlich   des   abschließenden   Nullbytes)   werden   ohne   Rückmeldung
                     abgeschnitten.

              Umask  Die Umask des Prozesses, oktal mit führender Null, siehe umask(2). (Seit Linux 4.7.)

              State  Aktueller  Prozesszustand; einer der Werte »R (running)«, »S (sleeping)«, »D (disk sleep)«,
                     »T (stopped)«, »t (tracing stop)«, »Z (zombie)« oder »X (dead)«.

              Tgid   Gruppenkennung des Threads (d.h. die Prozesskennung).

              Ngid   NUMA-Gruppenkennung (0 falls keine; seit Linux 3.13).

              Pid    Thread-Kennung (siehe gettid(2)).

              PPid   PID des Elternprozesses.

              TracerPid
                     PID des Prozesses, der diesen Prozess beobachtet (0 ohne Beobachtung).

              Uid, Gid
                     reale, effektive, gespeicherte sowie Dateisystem-UIDs (GIDs).

              FDSize Anzahl der aktuell bereitgestellten Dateideskriptor-Slots.

              Groups Ergänzende Gruppenliste.

              NStgid Thread-Gruppenkennung (d.h. PID) in jedem der PID-Namensräume, in denen  PID  ein  Mitglied
                     ist.  Der  ganz linke Eintrag zeigt den Wert in Bezug auf den PID-Namensraum des Prozesses,
                     der dieses Procfs eingehängt hat (oder des Wurzelnamensraums, falls vom Kernel eingehängt),
                     gefolgt von den Werten nachfolgend geschachtelter innerer Namensräume. (Seit Linux 4.1)

              NSpid  Thread-Kennung in jedem der PID-Namensräume, in denen PID ein Mitglied ist. Die Felder sind
                     wie bei NStgid sortiert. (Seit Linux 4.1.)

              NSpgid Prozessgruppenkennung in jedem der PID-Namensräume, in denen  PID  ein  Mitglied  ist.  Die
                     Felder sind wie bei NStgid sortiert. (Seit Linux 4.1.)

              NSsid  Sitzungskennung   der  Nachkommens-Namensraum-Sitzungs-Kennungs-Hierarchie,  in  jedem  der
                     PID-Namensraumen, in denen PID ein Mitglied ist. Die Felder sind wie bei  NStgid  sortiert.
                     (Seit Linux 4.1.)

              VmPeak Maximalwert des genutzten virtuellen Speichers.

              VmSize Größe des virtuellen Speichers

              VmLck  Größe des gesperrten Speichers (siehe mlock(2)).

              VmPin  Größe  des  befestigten  Speichers  (seit  Linux 3.2). Diese Seiten können nicht verschoben
                     werden, da etwas den direkten Zugriff auf physischen Speicher benötigt.

              VmHWM  Resident Set Size (»Hochwassermarke«).  Dieser  Wert  ist  ungenau;  siehe  /proc/PID/statm
                     weiter oben.

              VmRSS  Resident  set  size.  Beachten  Sie,  dass  dieser  Wert die Summe aus RssAnon, RssFile und
                     RssShmem ist. Dieser Wert ist ungenau; siehe /proc/PID/statm weiter oben.

              RssAnon
                     Größe des residenten anonymen Speichers. (seit Linux 4.5). Dieser Wert ist  ungenau;  siehe
                     /proc/PID/statm weiter oben.

              RssFile
                     Größe  von  residenten  Datei-Mappings.  (seit  Linux  4.5). Dieser Wert ist ungenau; siehe
                     /proc/PID/statm weiter oben.

              RssShmem
                     Größe des residenten gemeinsamen Speichers (einschließlich  System-V-gemeinsamer  Speicher,
                     Mappings von tmpfs(5) und gemeinsame anonyme Mappings). (seit Linux 4.5).

              VmData, VmStk, VmExe
                     Größe  der  Daten-,  Stapelspeicher-  und  Textsegmente.  Dieser  Wert  ist  ungenau; siehe
                     /proc/PID/statm weiter oben.

              VmLib  Code-Größe von dynamischen Bibliotheken.

              VmPTE  Größe der Einträge in der Page Table (seit Linux 2.6.10).

              VmPMD  Größe der Page Tables zweiter Stufe (in Linux 4.0 hinzugefügt, entfernt in Linux 4.15).

              VmSwap VmSwap:   ausgelagerte   virtuelle   Speichergröße    durch    anonyme    private    Pages;
                     Shmem-Auslagerungsverwendung  ist  nicht  enthalten  (seit  Linux  2.6.34). Dieser Wert ist
                     ungenau, siehe /proc/PID/statm weiter oben.

              HugetlbPages
                     Größe der Hugetlb-Speicheranteile (seit Linux 4.4).

              CoreDumping
                     Enthält den Wert 1, falls der Prozess derzeit einen Speicherauszug durchführt und 0,  falls
                     nicht  (seit  Linux  4.15).  Diese  Information kann von einem Überwachungsprozess verwandt
                     werden, um das Töten  eines  Prozesses  zu  vermeiden,  der  derzeit  einen  Speicherauszug
                     durchführt, wodurch eine beschädigte Speicherauszugsdatei (»core dump«) vermieden wird.

              Threads
                     Anzahl der Threads im Prozess, zu dem dieser Thread gehört.

              SigQ   Dieses  Feld enthält zwei durch Schrägstriche getrennte Zahlen, die sich auf Signale in der
                     Warteschlange für die reale Benutzerkennung des Prozesses beziehen. Die erste davon ist die
                     Anzahl  der  derzeit  in  der  Warteschlange   befindlichen   Signale   für   diese   reale
                     Benutzerkennung  und  die  zweite  ist  die  Ressourcenbegrenzung  für die Anzahl wartender
                     Signale für diesen Prozess (siehe die Beschreibung von RLIMIT_SIGPENDING in getrlimit(2)).

              SigPnd, ShdPnd
                     Maske (hexadezimal ausgedrückt) der insgesamt für Thread  und  Prozess  anhängende  Signale
                     (siehe pthreads(7) und signal(7)).

              SigBlk, SigIgn, SigCgt
                     Masken  (hexadezimal ausgedrückt) für die Anzeige blockierter, ignorierter und abgefangener
                     Signale (siehe signal(7)).

              CapInh, CapPrm, CapEff
                     In  den  vererbbaren,  erlaubten  und  effektiven   Capability-Mengen   aktivierte   Masken
                     (hexadezimal ausgedrückt) (siehe capabilities(7)).

              CapBnd Capability-Begrenzungsmenge,    hexadezimal   ausgedrückt   (seit   Linux   2.6.26,   siehe
                     capabilities(7)).

              CapAmb Umgebungs-Capability-Menge,   hexadezimal    ausgedrückt    (seit    Linux    4.3,    siehe
                     capabilities(7)).

              NoNewPrivs
                     Wert des Bits no_new_privs (seit Linux 4.10, siehe prctl(2)).

              Seccomp
                     Seccomp-Modus   des   Prozesses   (seit   Linux   3.8,   siehe   seccomp(2)).   0  bedeutet
                     SECCOMP_MODE_DISABLED; 1  bedeutet  SECCOMP_MODE_STRICT;  2  bedeutet  SECCOMP_MODE_FILTER.
                     Dieses   Feld   wird   nur   bereitgestellt,   falls   der   Kernel   mit  der  aktivierten
                     Kernelkonfigurationsoption CONFIG_SECCOMP gebaut wurde.

              Speculation_Store_Bypass
                     Zustand der Abschwächung des Spekulationsdefekts (seit Linux 4.17, siehe prctl(2)).

              Cpus_allowed
                     Hexadezimale Maske von CPUs, auf denen der Prozess laufen kann (seit  Linux  2.6.24,  siehe
                     cpuset(7)).

              Cpus_allowed_list
                     Dasselbe   wie  das  vorhergehende,  aber  in  »Listenformat«  (seit  Linux  2.6.26,  siehe
                     cpuset(7)).

              Mems_allowed
                     Maske von für diesen Prozess erlaubten Speicherknoten (seit Linux 2.6.24, siehe cpuset(7)).

              Mems_allowed_list
                     Dasselbe  wie  das  vorhergehende,  aber  in  »Listenformat«  (seit  Linux  2.6.26,   siehe
                     cpuset(7)).

              voluntary_ctxt_switches, nonvoluntary_ctxt_switches
                     Anzahl der freiwilligen und der unfreiwilligen Kontextwechsel (seit Linux 2.6.23).

       /proc/PID/syscall (seit Linux 2.6.27)
              Diese  Datei legt die Systemaufrufnummer und -argumentenregister für den derzeit durch den Prozess
              ausgeführten   Systemaufruf   offen.   Es   folgen   die   Werte   des   Stack-Zeigers   und   der
              Programmzählerregister.  Die  Werte  aller sechs Argumentenregister werden offengelegt, obwohl die
              meisten Systemaufrufe weniger Register verwenden.

              Falls der Prozess blockiert aber nicht in einem Systemaufruf ist, dann zeigt die Datei -1  an  der
              Stelle  der  Systemaufrufnummer  an,  gefolgt  von  nur  den  Werten  des  Stack-Zeigers  und  des
              Programmzählers.  Falls  der  Prozess  nicht  blockiert  ist,  dann  enthält  die  Datei  nur  die
              Zeichenkette »running«.

              Diese Datei ist nur vorhanden, falls der Kernel mit CONFIG_HAVE_ARCH_TRACEHOOK konfiguriert wurde.

              Die   Rechte,   auf   diese   Datei  zuzugreifen,  werden  von  einer  Ptrace-Zugriffsmodusprüfung
              PTRACE_MODE_ATTACH_FSCREDS gesteuert; siehe ptrace(2).

       /proc/PID/task (seit Linux 2.6.0)
              Dieses Verzeichnis enthält ein Unterverzeichnis für jeden Thread in dem Prozess.  Der  Name  jedes
              Unterverzeichnisses ist die numerische Thread-Kennung (TID) des Threads (siehe gettid(2)).

              Innerhalb  jedes  dieser  Unterverzeichnisse gibt es eine Reihe von Dateien mit gleichem Namen und
              Inhalt wie unter den /proc/PID-Verzeichnissen. Für Attribute,  die  von  allen  Threads  gemeinsam
              verwendet  werden,  sind  die Inhalte für jede der Dateien unter den /task/TID-Unterverzeichnissen
              die gleichen wie in der  entsprechenden  Datei  im  Elternverzeichnis  /proc/PID  (z.B.  in  einem
              Multithread-Prozess  werden  task/TID/cwd-Dateien  den gleichen Wert wie die Datei task/PID/cwd im
              Elternverzeichnis haben, da alle Threads in einem Prozess sich ein Arbeitsverzeichnis teilen). Für
              Attribute, die für jeden Thread verschieden sind, können die entsprechenden Dateien unter task/TID
              unterschiedliche   Werte   annehmen   (z.B.   können   verschiedene   Felder    in    jeder    der
              task/TID/status-Dateien  für  jeden  Thread  unterschiedlich  sein)  oder sie könnten in /proc/PID
              überhaupt nicht existieren.

              In Multithread-Prozessen sind  die  Inhalte  des  Verzeichnisses  /proc/PID/task  überhaupt  nicht
              verfügbar,  falls  der  Haupt-Thread  bereits  beendet  wurde (typischerweise durch den Aufruf von
              pthread_exit(3)).

       /proc/PID/task/TID/children (seit Linux 3.5)
              Eine durch Leerzeichen getrennte Liste von Kindprozessen dieses Prozesses. Jeder Kindprozess  wird
              durch seine TID dargestellt.

              Diese    Option    ist    für   die   Verwendung   durch   das   Prüfpunktwiederherstellungssystem
              (Checkpoint/Restore  In  Userspace/CRIU)  gedacht  und  stellt  nur  verlässlich  eine  Liste  von
              Kindprozessen  bereit,  falls  alle  Kindprozesse gestoppt oder eingefroren sind. Sie funktioniert
              nicht richtig, falls Kindprozesse des Ziel-Tasks während des  Lesens  der  Datei  beendet  werden.
              Kindprozesse,  die  enden,  können  dazu  führen,  dass  nicht  endende  Kindprozesse in der Liste
              weggelassen werden. Dies macht diese Schnittstelle sogar  noch  unzuverlässiger  als  herkömmliche
              PID-basierte Herangehensweisen, wenn der untersuchte Task und seine Kindprozesse nicht eingefroren
              sind und der meiste Code sollte wahrscheinlich diese Schnittstelle nicht benutzen.

              Bis   Linux   4.2   wurde   die   Existenz   dieser  Datei  durch  die  Kernelkonfigurationsoption
              CONFIG_CHECKPOINT_RESTORE gesteuert. Seit Linux 4.2 wird sie durch die Option CONFIG_PROC_CHILDREN
              gesteuert.

       /proc/PID/timers (seit Linux 3.10)
              Eine Liste der POSIX-Timer für diesen Prozess. Jeder Timer wird mit einer  Zeile  aufgeführt,  die
              mit der Zeichenkette »ID:« beginnt, beispielsweise:

                  ID: 1
                  signal: 60/00007fff86e452a8
                  notify: signal/pid.2634
                  ClockID: 0
                  ID: 0
                  signal: 60/00007fff86e452a8
                  notify: signal/pid.2634
                  ClockID: 1

              Die gezeigten Zeilen für jeden Timer haben die folgenden Bedeutungen:

              ID     Die  Kennung für diesen Timer. Dies ist nicht mit der von timer_create(2) zurückgelieferten
                     Timer-Kennung identisch. Stattdessen ist es die gleiche kernelinterne Kennung, die  mittels
                     des Feldes si_timerid der Struktur siginfo_t verfügbar ist (siehe sigaction(2)).

              signal Dies  ist  die  Signalnummer,  die  dieser  Timer  zur  Auslieferung von Benachrichtigungen
                     verwendet. Ihr folgt ein Schrägstrich und  dann  der  dem  Signal-Handler  übergebene  Wert
                     sigev_value. Gültig nur für Timer, die mittels Signal benachrichtigen.

              notify Der  Teil vor dem Schrägstrich legt den Mechanismus fest, den dieser Timer zur Auslieferung
                     von Nachrichten verwendet. Er ist entweder »thread«, »signal« oder »none«. Direkt nach  dem
                     Schrägstrich     ist     entweder     die     Zeichenkette     »tid«    für    Timer    mit
                     SIGEV_THREAD_ID-Benachrichtigungen oder »pid« für Timer,  die  mittels  andere  Mechanismen
                     benachrichtigen.  Nach  dem ».« folgt die PID des Prozesses (oder der Kernel-Thread-Kennung
                     des Threads), der ein Signal geliefert bekommt, falls der Timer Benachrichtigungen über ein
                     Signal ausliefert.

              ClockID
                     Dieses Feld identifiziert die Uhr, die der Timer für die  Zeitmessung  verwendet.  Für  die
                     meisten  Uhren ist dies eine Zahl, die auf einen der Konstanten der Anwendungsebene CLOCK_*
                     passt, die mittels <time.h> offengelegt werden. CLOCK_PROCESS_CPUTIME_ID-Timer  zeigen  mit
                     einem  Wert  -6  in  diesem Feld. CLOCK_THREAD_CPUTIME_ID-Timer zeigen mit einem Wert -2 in
                     diesem Feld.

              Diese Datei ist nur vorhanden, falls der Kernel mit CONFIG_CHECKPOINT_RESTORE konfiguriert wurde.

       /proc/PID/timerslack_ns (seit Linux 4.6)
              Diese Datei legt den »derzeitigen« Spielraum des Timers ausgedrückt in Nanosekunden  offen.  Diese
              Datei  ist  schreibbar,  wodurch das Ändern des Spielraums des Timers möglich ist. Wird 0 in diese
              Datei geschrieben, wird der Spielraum  auf  den  »Standard«-Spielraum  des  Timers  zurückgesetzt.
              Weitere Einzelheiten finden Sie in der Besprechung von PR_SET_TIMERSLACK in prctl(2).

              Ursprünglich  wurde die Zugriffsberechtigung für diese Datei über eine Ptrace-Zugriffsmodusprüfung
              PTRACE_MODE_ATTACH_FSCREDS geregelt (siehe ptrace(2)). Allerdings wurde dies  nachfolgend  als  zu
              strenge  Anforderung  erachtet  (und  es  hatte den Seiteneffekt, dass die Notwendigkeit für einen
              Prozess, die Capability CAP_SYS_PTRACE zu haben, auch dazu führte,  dass  er  den  Speicher  jedes
              Prozesses  lesen  und verändern konnte). Daher wird seit Linux 4.9 nur die (schwächere) Capability
              CAP_SYS_NICE für den Zugriff auf diese Datei benötigt.

       /proc/PID/uid_map (seit Linux 3.5)
              Siehe user_namespaces(7).

       /proc/PID/wchan (seit Linux 2.6.0)
              Der symbolische Name, der dem Ort im Kernel entspricht, an dem der Prozess schläft.

              Die   Zugriffsberechtigungen   dieser   Datei   werden   von   einer   Ptrace-Zugriffsmodusprüfung
              PTRACE_MODE_READ_FSCREDS geregelt; siehe ptrace(2).

       /proc/TID
              Dies   ist   ein   numerisches  Unterverzeichnis  für  jeden  der  laufenden  Threads,  der  nicht
              Thread-Gruppenleiter ist (d.h. einem Thread, dessen Thread-Kennung  nicht  zu  der  Prozesskennung
              identisch   ist).   Das  Unterverzeichnis  ist  nach  der  Thread-Kennung  benannt.  Jedes  dieser
              Unterverzeichnisse enthält Dateien und Unterverzeichnisse, die Informationen über den  Thread  mit
              der Thread-Kennung TID offenlegen. Die Inhalte dieser Verzeichnisse sind identisch zu den Inhalten
              der entsprechenden /proc/PID/task/TID-Verzeichnisse.

              Die  Unterverzeichnisse  /proc/TID  sind beim Durchlauf durch /proc mit getdents(2) nicht sichtbar
              (und daher nicht sichtbar, wenn ls(1) zur Anzeige der Inhalte von /proc verwandt wird). Allerdings
              sind die Pfadnamen dieser Verzeichnisse sichtbar (d.h als Argumente benutzbar in)  Systemaufrufen,
              die auf diesen Pfadnamen arbeiten.

       /proc/apm
              Version  von »advanced power management« und Informationen zur Batterie, wenn bei der Kompilierung
              des Kernels CONFIG_APM definiert wird.

       /proc/buddyinfo
              Diese Datei enthält Informationen, die zur Diagnose von Speicherfragmentierungsproblemen  verwandt
              werden.  Jede  Zeile beginnt mit der Kennzeichnung des Knotens und dem Name der Zone, die zusammen
              einen Speicherbereich identifizieren. Dies wird von der Anzahl  der  verfügbaren  Stücke  (Chunks)
              einer  bestimmten  Ordnung,  in  die  diese  Zonen geteilt sind, gefolgt. Die Größe in Bytes einer
              bestimmten Ordnung wird von der folgenden Formel bestimmt:

                  (2^Ordnung) * PAGE_SIZE

              Der binäre Buddy-Speicherverwaltungsalgorithmus innerhalb des  Kernels  wird  ein  Stück  in  zwei
              Stücke  einer  geringeren  Ordnung  (daher mit der halben Größe) unterteilen oder zwei angrenzende
              Stück in ein größeres Stück höherer Ordnung  (daher  mit  der  doppelten  Größe)  kombinieren,  um
              Reservierungsanfragen  zu  erfüllen  und  um  Speicherfragmentierung  etwas  entgegenzusetzen. Die
              Ordnung entspricht der Spaltennummer, wenn mit dem Zählen bei Null begonnen wird.

              Auf einem x86-64-System zum Beispiel:
         Node 0, zone     DMA     1    1    1    0    2    1    1    0    1    1    3
         Node 0, zone   DMA32    65   47    4   81   52   28   13   10    5    1  404
         Node 0, zone  Normal   216   55  189  101   84   38   37   27    5    3  587

              In diesem Beispiel gibt es einen Knoten, der drei  Zonen  enthält  und  es  gibt  11  verschiedene
              Stückgrößen.  Falls die Seitengröße 4 Kilobyte beträgt, dann hat die erste Zone, genannt DMA, (auf
              X86 die ersten 16 Megabyte an Speicher) ein Stück von 4 Kilobyte (Ordnung 0) verfügbar und  hat  3
              Stücke von 4 Megabyte (Ordnung 10) verfügbar.

              Falls  der Speicher stark fragmentiert ist, werden die Zähler für Stücke höherer Ordnung Null sein
              und Zuweisungen von großen, zusammenhängenden Bereichen fehlschlagen.

              Weitere Informationen über die Zonen können in /proc/zoneinfo gefunden werden.

       /proc/bus
              Enthält Unterverzeichnisse für installierte Busse.

       /proc/bus/pccard
              Unterverzeichnis für PCMCIA-Geräte, wenn bei der Kompilierung des  Kernels  CONFIG_PCMCIA  gesetzt
              wird.

       /proc/bus/pccard/drivers

       /proc/bus/pci
              Enthält   diverse  Bus-Unterverzeichnisse  und  Pseudodateien  mit  Informationen  zu  PCI-Bussen,
              installierten Geräten und Gerätetreibern. Einige dieser Dateien sind nicht in ASCII codiert.

       /proc/bus/pci/devices
              Informationen über PCI-Geräte. Auf diese kann mittels lspci(8) und setpci(8) zugegriffen werden.

       /proc/cgroups (seit Linux 2.6.24)
              siehe cgroups(7)

       /proc/cmdline
              Dem Kernel beim Startvorgang übergebene Argumente. Oft geschieht das über  einen  Bootmanager  wie
              lilo(8) oder grub(8).

       /proc/config.gz (seit Linux 2.6)
              Diese  Datei  macht  die  Konfigurationsoptionen  verfügbar, die für den Bau des aktuell laufenden
              Kernels verwendet wurden. Das Format ist das gleiche  wie  in  der  Datei  .config,  die  bei  der
              Konfiguration  des  Kernels  (mittels  make xconfig, make config oder ähnlichem) erzeugt wird. Der
              Inhalt der Datei ist komprimiert; er kann mittels zcat(1) und zgrep(1)  angezeigt  und  durchsucht
              werden.  Solange  keine Änderungen in der folgenden Datei vorgenommen wurden, sind die Inhalte von
              /proc/config.gz die gleichen, die wie folgt gewonnen werden können:

                  cat /lib/modules/$(uname -r)/build/.config

              /proc/config.gz wird nur bereitgestellt, wenn der  Kernel  mit  CONFIG_IKCONFIG_PROC  konfiguriert
              wird.

       /proc/crypto
              Eine  Liste  der durch das Kernel-Krypto-API bereitgestellten Chiffren. Für Details schauen Sie in
              die   Kerneldokumentation   zum   Thema   Linux   Kernel   Crypto   API,   die    unterhalb    des
              Kernelquellbaumverzeichnisses  Documentation/crypto/  (oder  Documentation/DocBook vor Linux 4.10)
              verfügbar ist. (Die Dokumentation kann mit einem Befehl wie make htmldocs im Wurzelverzeichnis des
              Kernelquellbaums gebaut werden.)

       /proc/cpuinfo
              Dies ist eine Sammlung von Informationen, die von der CPU und der Systemarchitektur abhängen.  Die
              Liste  sieht  für jede unterstützte Architektur anders aus. Die einzigen Einträge, die man überall
              antrifft, sind processor, welcher die Nummer der CPU anzeigt und BogoMIPS,  eine  Systemkonstante,
              die  während der Kernel-Initialisierung errechnet wird. SMP-Maschinen haben Informationen für jede
              CPU. Der Befehl lscpu(1) sammelt seine Informationen aus dieser Datei.

       /proc/devices
              Eine Textliste der  Major-Gerätenummern  und  Gerätegruppen.  Kann  von  MAKEDEV-Skripten  genutzt
              werden, um mit dem Kernel überein zu stimmen.

       /proc/diskstats (seit Linux 2.5.69)
              Diese  Datei  enthält  Platten-E/A-Statistiken für jedes Plattengerät. Die Linux-Kernel-Quelldatei
              Documentation/admin-guide/iostats.rst (oder Documentation/iostats.txt vor Linux 5.3) gibt  weitere
              Informationen.

       /proc/dma
              Das  ist  eine  Liste  von registrierten ISA-DMA-Kanälen, die zur Zeit benutzt werden (DMA: Direct
              Memory Access).

       /proc/driver
              Leeres Unterverzeichnis.

       /proc/execdomains
              Liste der Ausführungsdomänen (ABI-Personalitäten).

       /proc/fb
              Information zum Bildspeicher (frame buffer), wenn  bei  der  Kompilierung  des  Kernels  CONFIG_FB
              definiert wird.

       /proc/filesystems
              Eine  Auflistung der Dateisysteme, die vom Kernel unterstützt werden, nämlich Dateisysteme, die in
              den  Kernel  kompiliert  wurden  oder  deren  Kernel-Module  derzeit  geladen  sind  (siehe   auch
              filesystems(5)).  Wenn  ein  Dateisystem  mit »nodev« gekennzeichnet ist, bedeutet dies, dass kein
              Block-Gerät eingehängt werden muss (z.B. virtuelles Dateisystem, Netzwerk-Dateisystem).

              Im Übrigen kann diese Datei von mount(8) verwendet werden, wenn kein Dateisystem  angegeben  wurde
              und  es  den  Typ  des Dateisystems nicht bestimmen konnte. Dann werden in dieser Datei enthaltene
              Dateisysteme ausprobiert (ausgenommen diejenigen, die mit »nodev« gekennzeichnet sind).

       /proc/fs
              Enthält Unterverzeichnisse, die wiederum Dateien mit Informationen  über  (bestimmte)  eingehängte
              Dateisysteme enthalten.

       /proc/ide
              Dieses Verzeichnis gibt es auf Systemen mit dem IDE-Bus. Es gibt Verzeichnisse für jeden IDE-Kanal
              und jedes zugeordnete Gerät. Zu den Dateien gehören:

                  cache              Puffergröße in KB
                  capacity           Anzahl der Sektoren
                  driver             Version des Treibers
                  geometry           physikalische und logische Geometrie
                  identify           hexadezimal
                  media              Medientyp
                  model              Modellnummer des Herstellers
                  settings           Laufwerkeinstellungen
                  smart_thresholds   IDE-Plattenverwaltungsschwellwerte (hexadezimal)
                  smart_values       IDE-Plattenverwaltungswerte (hexadezimal)

              Das Werkzeug hdparm(8) ermöglicht einen angenehmen Zugriff auf diese Informationen.

       /proc/interrupts
              Diese  Datei wurde verwendet, um die Anzahl der Interrupts pro CPU pro E/A-Gerät aufzunehmen. Seit
              Linux 2.6.24 werden außerdem, zumindest für  die  Architekturen  i386  und  x86-64,  systeminterne
              Interrupts  (das  sind  nicht  unmittelbar  an  ein Gerät gebundene) wie beispielsweise NMI (nicht
              maskierbarer Interrupt), LOC  (lokaler  Timer-Interrupt),  und  für  SMP-Systeme  TLB  (TLB  Flush
              Interrupt), RES (Interrupt für Änderungen im Scheduling), CAL (Remote Function Call Interrupt) und
              möglicherweise andere mit eingetragen. Sie ist in ASCII codiert und sehr leicht zu lesen.

       /proc/iomem
              E/A-Speicher-Map in Linux 2.4

       /proc/ioports
              Das ist eine Liste der derzeit registrierten und benutzten Ein-/Ausgabe-Port-Regionen.

       /proc/kallsyms (seit Linux 2.5.71)
              Hier  stehen  die  vom  Kernel  exportierten  Symboldefinitionen, die von modules(X)-Tools benutzt
              werden, um ladbare Module dynamisch zu linken und zu binden. Bis einschließlich Linux  2.5.47  gab
              es eine ähnliche Datei ksyms mit leicht abweichender Syntax.

       /proc/kcore
              Diese    Datei   repräsentiert   den   physikalischen   Speicher   des   Systems   und   hat   das
              Elf-core-Dateiformat.   Mit   dieser   Pseudodatei   und   einem   Kernel    mit    Debug-Symbolen
              (/usr/src/linux/vmlinux)  kann  mit GDB der aktuelle Zustand der Kernel-Datenstrukturen untersucht
              werden.

              Die Gesamtgröße dieser Datei ist die Größe des physischen Speichers (RAM) plus 4 KiB.

       /proc/keys (seit Linux 2.6.10)
              Siehe keyrings(7).

       /proc/key-users (seit Linux 2.6.10)
              Siehe keyrings(7).

       /proc/kmsg
              Diese Datei kann anstelle des Systemaufrufs syslog(2) benutzt werden, um Meldungen des Kernels  zu
              lesen.  Ein Prozess muss Superuser-Privilegien haben, um diese Datei zu lesen und nur ein einziger
              Prozess sollte dies tun. Die Datei sollte nicht ausgelesen werden, wenn ein Syslog-Prozess  läuft,
              der den Systemaufruf syslog(2) zur Protokollierung benutzt.

              Die Informationen in dieser Datei können mit dmesg(1) dargestellt werden.

       /proc/kpagecgroup (seit Linux 4.3)
              Diese  Datei  enthält 64-Bit-Inode-Nummern der Speicher-Cgroup, auf die jede Seite berechnet wird.
              Sie ist durch die Seiten-Frame-Nummer indiziert (siehe die Erörterung von /proc/PID/pagemap).

              Die  Datei  /proc//proc/kpagecgroup  ist  nur  vorhanden,  wenn  die   Kernel-Konfigurationsoption
              CONFIG_MEMCG aktiviert ist.

       /proc/kpagecount (seit Linux 2.6.25)
              Diese  Datei  enthält einen 64-Bit-Zähler der Anzahl, die jede physische Seiten-Frame gemappt ist,
              indiziert durch die Seiten-Frame-Nummer (siehe die Beschreibung von /proc/PID/pagemap).

              Die   Datei   /proc/kpagecount   ist   nur   vorhanden,   wenn   die   Kernel-Konfigurationsoption
              CONFIG_PROC_PAGE_MONITOR aktiviert ist.

       /proc/kpageflags (seit Linux 2.6.25)
              Diese  Datei  enthält  64-Bit-Masken, die jedem physischen Seiten-Frame entsprechen. Sie ist durch
              die Seiten-Frame-Nummer indiziert (siehe die Erörterung von /proc/PID/pagemap). Die Bits sind  wie
              folgt:

                      0   -   KPF_LOCKED
                      1   -   KPF_ERROR
                      2   -   KPF_REFERENCED
                      3   -   KPF_UPTODATE
                      4   -   KPF_DIRTY
                      5   -   KPF_LRU
                      6   -   KPF_ACTIVE
                      7   -   KPF_SLAB
                      8   -   KPF_WRITEBACK
                      9   -   KPF_RECLAIM
                     10   -   KPF_BUDDY
                     11   -   KPF_MMAP            (seit Linux 2.6.31)
                     12   -   KPF_ANON            (seit Linux 2.6.31)
                     13   -   KPF_SWAPCACHE       (seit Linux 2.6.31)
                     14   -   KPF_SWAPBACKED      (seit Linux 2.6.31)
                     15   -   KPF_COMPOUND_HEAD   (seit Linux 2.6.31)
                     16   -   KPF_COMPOUND_TAIL   (seit Linux 2.6.31)
                     17   -   KPF_HUGE            (seit Linux 2.6.31)
                     18   -   KPF_UNEVICTABLE     (seit Linux 2.6.31)
                     19   -   KPF_HWPOISON        (seit Linux 2.6.31)
                     20   -   KPF_NOPAGE          (seit Linux 2.6.31)
                     21   -   KPF_KSM             (seit Linux 2.6.32)
                     22   -   KPF_THP             (seit Linux 3.4)
                     23   -   KPF_BALLOON         (seit Linux 3.18)
                     24   -   KPF_ZERO_PAGE       (seit Linux 4.0)
                     25   -   KPF_IDLE            (seit Linux 4.3)

              Für    weitere    Details   zur   Bedeutung   dieser   Bits   lesen   Sie   die   Kernelquelldatei
              Documentation/admin-guide/mm/pagemap.rst. Vor Linux 2.6.29 lieferten  KPF_WRITEBACK,  KPF_RECLAIM,
              KPF_BUDDY und KPF_LOCKED nicht die korrekten Werte.

              Die   Datei   /proc/kpageflags   ist   nur   vorhanden,   wenn   die   Kernel-Konfigurationsoption
              CONFIG_PROC_PAGE_MONITOR aktiviert ist.

       /proc/ksyms (Linux 1.1.23…2.5.47)
              Siehe /proc/kallsyms.

       /proc/loadavg
              Die ersten drei Felder in dieser Datei geben die durchschnittliche Anzahl von Jobs an, die in  der
              Run-Warteschlange sind (Status R) oder auf Platten-E/A warten (Status D), gemittelt über 1, 5, und
              15  Minuten.  Das  sind  die  gleichen  Angaben  für  die durchschnittliche Belastung, wie sie von
              uptime(1) und anderen Programmen angegeben werden. Das vierte Feld besteht aus  zwei  durch  einen
              Schrägstrich  (/)  getrennten  Zahlen.  Die  erste  davon  ist die Anzahl von derzeit ausführbaren
              Kernel-Scheduling-Einheiten (Prozesse, Threads). Der Wert nach dem Schrägstrich ist die Anzahl der
              Kernel-Scheduling-Einheiten, die aktuell auf dem System existieren. Das fünfte Feld  ist  die  PID
              des Prozesses, der zuletzt auf dem System erzeugt wurde.

       /proc/locks
              Diese Datei zeigt aktuelle Datei-Sperren (flock(2) und fcntl(2)) und -Ausleihen (fcntl(2)) an.

              Ein Beispiel für den Inhalt in dieser Datei wird nachfolgend gezeigt:

                  1: POSIX  ADVISORY  READ  5433 08:01:7864448 128 128
                  2: FLOCK  ADVISORY  WRITE 2001 08:01:7864554 0 EOF
                  3: FLOCK  ADVISORY  WRITE 1568 00:2f:32388 0 EOF
                  4: POSIX  ADVISORY  WRITE 699 00:16:28457 0 EOF
                  5: POSIX  ADVISORY  WRITE 764 00:16:21448 0 0
                  6: POSIX  ADVISORY  READ  3548 08:01:7867240 1 1
                  7: POSIX  ADVISORY  READ  3548 08:01:7865567 1826 2335
                  8: OFDLCK ADVISORY  WRITE -1 08:01:8713209 128 191

              Die Bedeutung der Felder in jeder Zeile im Einzelnen:

              [1]  Die ordinale Position der Sperre in der Liste.

              [2]  Der Sperrtyp. Folgende Werte können hier u.A. erscheinen:

                   FLOCK  Dies ist eine mittels flock(2) erstellte BSD-Sperrdatei.

                   OFDLCK Dies ist eine mittels fcntl(2) erstellte offene Dateideskriptorsperre (OFD).

                   POSIX  Dies ist eine mittels fcntl(2) erstellte POSIX-Byte-Bereichssperre.

              [3]  Unter den hier auftretenden Zeichenketten sind auch die folgenden:

                   ADVISORY
                          Dies ist eine empfohlene Sperre.

                   MANDATORY
                          Dies ist eine Pflichtsperre.

              [4]  Die Art der Sperre. Folgende Werte können hier auftauchen:

                   READ   Dies ist eine POSIX- oder OFD-Lesesperre oder eine gemeinsame BSD-Sperre.

                   WRITE  Dies ist eine POSIX- oder OFD-Schreibsperre oder eine exklusive BSD-Sperre.

              [5]  die PID des Prozesses, der die Sperre besitzt,

                   Da   OFD-Sperren   nicht   einem   einzelnen   Prozess  gehören  (da  mehrere  Prozesse  über
                   Dateideskriptoren  verfügen  können,  die  sich  auf  die  gleiche  offene   Dateideskription
                   beziehen),  wird  in diesem Feld der Wert -1 für OFD-Sperren angezeigt. (Vor Linux 4.14 wurde
                   durch einen Fehler die PID des Prozesses, der  ursprünglich  die  Sperre  erwarb,  statt  des
                   Wertes -1 angezeigt.)

              [6]  Drei  Doppelpunkt-getrennte  Unterlisten,  die die Major- und Minor-Gerätekennung des Geräts,
                   das das Dateisystem enthält, auf dem sich die  gesperrte  Datei  befindet,  gefolgt  von  der
                   Inode-Nummer der gesperrten Datei.

              [7]  Der Byte-Versatz des ersten Bytes der Sperre. Für BSD-Sperren ist dieser Wert immer 0.

              [8]  Der  Byteversatz des letzten Bytes der Sperre. EOF im Feld bedeutet, dass sich die Sperre bis
                   zum Ende der Datei ausdehnt. Für BSD-Sperren ist der angezeigte Wert immer EOF.

              Seit Linux 4.9 wird die Liste der in /proc/locks gezeigten Sperren gefiltert, um nur  die  Sperren
              für  die  Prozesse  in dem PID-Namensraum (siehe pid_namespaces(7)), für den das Dateisystem /proc
              eingehängt worden war, anzuzeigen. (Im ursprünglichen PID-Namensraum gibt es keine  Filterung  der
              in dieser Datei angezeigten Datensätze.)

              Der Befehl lslocks(8) stellt etwas mehr Informationen über jede Sperre bereit.

       /proc/malloc (nur bis zu einschließlich Linux 2.2)
              Diese  Datei  existiert  nur,  wenn bei der Kompilierung des Kernels CONFIG_DEBUG_MALLOC definiert
              war.

       /proc/meminfo
              Diese Datei berichtet Statistiken über die Speicherverwendung auf dem System. Sie wird von free(1)
              benutzt, um den freien und benutzen (sowohl physischen als  auch  Auslagerungs-)Speicher  auf  dem
              System  zu  berichten, sowie den gemeinsam benutzten Speicher und die vom Kernel benutzten Puffer.
              Jede Zeile der Datei besteht aus einem Parameternamen, gefolgt von einem Doppelpunkt, dem Wert des
              Parameters und einer Maßeinheit der Option (z.B. »kB«).  Die  nachfolgende  Liste  beschreibt  die
              Parameternamen und die Formatkennzeichner, die zum Lesen des Feldwertes benötigt wird. Außer falls
              unten  angegeben  sind alle Felder seit mindestens Linux 2.6.0 vorhanden. Einige Felder werden nur
              angezeigt, falls der Kernel mit bestimmten Optionen konfiguriert wurde, diese Abhängigkeiten  sind
              in der Liste vermerkt.

              MemTotal %lu
                     Gesamter  verwendbarer  Arbeitsspeicher (d.h. physischer Arbeitsspeicher abzüglich ein paar
                     reservierter Bits und dem Binärcode des Kernels).

              MemFree %lu
                     Die Summe von LowFree+HighFree.

              MemAvailable %lu (seit Linux 3.14)
                     Eine Abschätzung, wieviel Speicher  zum  Starten  neuer  Anwendungen  verfügbar  ist,  ohne
                     auszulagern.

              Buffers %lu
                     Relativ  temporärer Speicher für rohe Plattenblöcke, der nicht besonders groß werden sollte
                     (20 MB oder so).

              Cached %lu
                     Speicherinterner    Zwischenspeicher    für    von    Platte    gelesene    Dateien    (der
                     Seiten-Zwischenspeicher). Enthält SwapCached nicht.

              SwapCached %lu
                     Speicher,  der  schon  ausgelagert  war,  und wieder hereingelagert wurde, aber noch in der
                     Auslagerungsdatei ist. (Falls der Speicherdruck hoch ist, müssen diese Seiten nicht  wieder
                     ausgelagert werden, da sie bereits in der Auslagerungsdatei sind. Dies spart E/A).

              Active %lu
                     Speicher,  der  kürzlich verwandt wurde und normalerweise noch nicht zurückgefordert wurde,
                     falls nicht absolut notwendig.

              Inactive %lu
                     Speicher, der nicht kürzlich verwandt wurde. Er ist für Rückforderungen für  andere  Zwecke
                     geeigneter.

              Active(anon) %lu (seit Linux 2.6.28)
                     [Muss noch dokumentiert werden.]

              Inactive(anon) %lu (seit Linux 2.6.28)
                     [Muss noch dokumentiert werden.]

              Active(file) %lu (seit Linux 2.6.28)
                     [Muss noch dokumentiert werden.]

              Inactive(file) %lu (seit Linux 2.6.28)
                     [Muss noch dokumentiert werden.]

              Unevictable %lu (seit Linux 2.6.28)
                     (Von   Linux   2.6.28   bis  2.6.30:  CONFIG_UNEVICTABLE_LRU  war  notwendig.)  [Muss  noch
                     dokumentiert werden.]

              Mlocked %lu (seit Linux 2.6.28)
                     (Von  Linux  2.6.28  bis  2.6.30:  CONFIG_UNEVICTABLE_LRU  war   notwendig.)   [Muss   noch
                     dokumentiert werden.]

              HighTotal %lu
                     (Beginnend mit Linux 2.6.19 wird CONFIG_HIGHMEM benötigt). Gesamtmenge von Highmem. Highmem
                     ist  aller  Speicher  oberhalb  ~860  MB  physischen Speichers. Highmem-Bereiche können von
                     Anwendungsprogrammen oder für den Seiten-Zwischenspeicher verwandt werden. Der Kernel  muss
                     Tricks  zum  Zugriff  auf  diesen Speicher verwenden, wodurch der Zugriff langsamer als bei
                     Lowmem ist.

              HighFree %lu
                     (Beginnend mit Linux 2.6.19 wird CONFIG_HIGHMEM benötigt) Menge des freien Highmems.

              LowTotal %lu
                     (Beginnend mit Linux 2.6.19 wird CONFIG_HIGHMEM benötigt) Gesamtmenge an Lowmem. Lowmem ist
                     Speicher, der für alles verwandt werden kann, wofür Highmem verwandt werden  kann,  er  ist
                     aber  auch für die Verwendung durch den Kernel für seine eigenen Datenstrukturen verfügbar.
                     Unter anderem wird hier heraus Slab zugewiesen. Schlimme Dinge passieren, falls kein Lowmem
                     mehr verfügbar ist.

              LowFree %lu
                     (Beginnend mit Linux 2.6.19 wird CONFIG_HIGHMEM benötigt) Menge des freien Lowmems.

              MmapCopy %lu (seit Linux 2.6.29)
                     (CONFIG_MMU ist notwendig.) [Muss noch dokumentiert werden.]

              SwapTotal %lu
                     Gesamtmenge des verfügbaren Auslagerungsbereichs.

              SwapFree %lu
                     Größe des derzeit ungenutzten Auslagerungsbereichs.

              Dirty %lu
                     Speicher, der darauf wartet, zurück auf Platte geschrieben zu werden.

              Writeback %lu
                     Speicher, der aktiv zurück auf Platte geschrieben wird.

              AnonPages %lu (seit Linux 2.6.18)
                     Nicht-Datei basierende Seiten, die in Seitentabellen des Anwendungsraums gemappt sind.

              Mapped %lu
                     Dateien, die in den Speicher (mit mmap(2)) gemappt wurden, wie Bibliotheken.

              Shmem %lu (seit Linux 2.6.32)
                     Speichermenge, die vom tmpfs(5) belegt wird.

              KReclaimable %lu (seit Linux 4.20)
                     Kernelzuweisungen,  die  der  Kernel  versuchen  wird,  im  Falle   von   Speicherknappheit
                     zurückzuverlangen. Schließt SReclaimable (siehe nachfolgend) und andere direkte Zuweisungen
                     mit einem Verkleinerer ein.

              Slab %lu
                     Zwischenspeicher für In-Kernel-Datenstrukturen. (siehe slabinfo(5))

              SReclaimable %lu (seit Linux 2.6.19)
                     Teil von Slab, der zurückgewonnen werden könnte, wie Zwischenspeicher.

              SUnreclaim %lu (seit Linux 2.6.19)
                     Teil von Slab, der bei Speicherknappheit nicht zurückgewonnen werden kann.

              KernelStack %lu (seit Linux 2.6.32)
                     Teil des Speichers, der Kernel-Stacks zugewiesen wurde.

              PageTables %lu (seit Linux 2.6.18)
                     Menge des Speichers, der der niedrigsten Stufe der Seitentabellen zugeordnet ist.

              Quicklists %lu (seit Linux 2.6.27)
                     (CONFIG_QUICKLIST ist notwendig.) [Muss noch dokumentiert werden.]

              NFS_Unstable %lu (seit Linux 2.6.18)
                     NFS-Seiten,  die  an den Server gesandt, aber noch nicht dem dauerhaften Speicher übergeben
                     wurden.

              Bounce %lu (seit Linux 2.6.18)
                     Speicher, der für Blockgerät-»bounce buffer« verwendet wird.

              WritebackTmp %lu (seit Linux 2.6.26)
                     Speicher, das von FUSE für temporäre Rückschreibe-Puffer verwandt wird.

              CommitLimit %lu (seit Linux 2.6.10)
                     Dies ist der Gesamtbetrag des  Speichers,  der  derzeit  zum  Reservieren  auf  dem  System
                     verfügbar  ist,  ausgedrückt  in  Kilobyte.  Diese Beschränkung wird nur eingehalten, falls
                     strikte Überbuchungs-Buchführung aktiviert ist (Modus 2 in /proc/sys/vm/overcommit_memory).
                     Die Beschränkung wird gemäß der unter /proc/sys/vm/overcommit_memory  beschriebenen  Formel
                     berechnet.    Weitere    Einzelheiten    finden    Sie    in    der    Kernelquelltextdatei
                     Documentation/vm/overcommit-accounting.rst.

              Committed_AS %lu
                     Die derzeit im System belegte Speichermenge.  Der  gebuchte  Speicher  ist  die  Summe  des
                     Speichers,  der  vom  Prozess  belegt wird, selbst wenn der noch nicht durch ihn »verwandt«
                     wurde. Ein Prozess, der 1 GB Speicher (mittels malloc(3) oder ähnlichem)  reserviert,  aber
                     nur  300  MB davon anrührt, wird mit 300 MB an benutztem Speicher angezeigt, selbst wenn er
                     einen Adressraum für das gesamte 1 GB reserviert hat.

                     Dieses ein GB ist Speicher, der  durch  die  VM  »gebucht«  ist  und  jederzeit  durch  die
                     reservierende  Anwendung  verwendet  werden  kann.  Ist  striktes Überbuchen auf dem System
                     aktiviert (Modus 2 in /proc/sys/vm/overcommit_memory), werden  Speicherreservierungen,  die
                     das   CommitLimit   überschreiten   würden,  nicht  gestattet.  Dies  ist  nützlich,  falls
                     gewährleisten werden soll, dass Prozesse aufgrund von  Speichermangel  nicht  fehlschlagen,
                     nachdem dieser Speicher erfolgreich reserviert wurde.

              VmallocTotal %lu
                     Gesamtgröße des Vmalloc-Speicherbereichs.

              VmallocUsed %lu
                     Größe  des benutzten Vmalloc-Bereichs. Seit Linux 4.4 wird dieses Feld nicht mehr berechnet
                     und ist auf 0 hartkodiert. Siehe /proc/vmallocinfo.

              VmallocChunk %lu
                     Größter zusammenhängender freier Vmalloc-Bereichsblock. Seit Linux  4.4  wird  dieses  Feld
                     nicht mehr berechnet und ist auf 0 hartkodiert. Siehe /proc/vmallocinfo.

              HardwareCorrupted %lu (seit Linux 2.6.32)
                     (CONFIG_MEMORY_FAILURE ist notwendig.) [Muss noch dokumentiert werden.]

              LazyFree %lu (seit Linux 4.12)
                     Zeigt die Menge des durch madvise(2) als MADV_FREE markierten Speichers.

              AnonHugePages %lu (seit Linux 2.6.38)
                     (CONFIG_TRANSPARENT_HUGEPAGE  wird benötigt) Nicht-Datei basierte große Speicherseiten, die
                     in die Seitentabellen im Anwendungsraum gemappt sind.

              ShmemHugePages %lu (seit Linux 4.8)
                     (CONFIG_TRANSPARENT_HUGEPAGE  wird  benötigt.)  Von  gemeinsam  benutztem  Speicher  (shem)
                     benutzter Speicher und mit großen Speicherseiten reserviertes tmpfs(5).

              ShmemPmdMapped %lu (seit Linux 4.8)
                     (CONFIG_TRANSPARENT_HUGEPAGE  wird benötigt.) Gemeinsamer, in den Anwendungsraum mit großen
                     Seiten gemappter Speicher.

              CmaTotal %lu (seit Linux 3.1)
                     Gesamte CMA- (Contiguous Memory Allocator) Seiten. (CONFIG_CMA wird benötigt.)

              CmaFree %lu (seit Linux 3.1)
                     Freie CMA- (Contiguous Memory Allocator) Seiten. (CONFIG_CMA wird benötigt.)

              HugePages_Total %lu
                     (CONFIG_HUGETLB_PAGE wird benötigt.) Die Größe des Vorrats der großen Speicherseiten.

              HugePages_Free %lu
                     (CONFIG_HUGETLB_PAGE wird benötigt.) Die Anzahl der großen Speicherseiten  in  dem  Vorrat,
                     die noch nicht reserviert worden sind.

              HugePages_Rsvd %lu (seit Linux 2.6.17)
                     (CONFIG_HUGETLB_PAGE wird benötigt.) Dies ist die Anzahl der großen Speicherseiten, für die
                     eine  Verpflichtung  zur Reservierung aus dem Vorrat erfolgte, aber noch keine Reservierung
                     durchgeführt wurde. Die reservierten großen Speicherseiten garantieren, dass die  Anwendung
                     in  der  Lage  sein wird, große Speicherseiten aus dem Vorrat von großen Speicherseiten zum
                     Zeitpunkt der Ausnahmebehandlung zu reservieren.

              HugePages_Surp %lu (seit Linux 2.6.24)
                     (CONFIG_HUGETLB_PAGE wird benötigt.) Dies ist die Anzahl an großen  Speicherseiten  in  dem
                     Vorrat   oberhalb   des   Wertes  in  /proc/sys/vm/nr_hugepages.  Die  maximale  Anzahl  an
                     zusätzlichen  großen   Speicherseiten   wird   durch   /proc/sys/vm/nr_overcommit_hugepages
                     gesteuert.

              Hugepagesize %lu
                     (CONFIG_HUGETLB_PAGE wird benötigt.) Die Größe der großen Speicherseiten.

              DirectMap4k %lu (seit Linux 2.6.27)
                     Anzahl von Bytes von RAM (in 4 kB-Seiten), der durch den Kernel linear gemappt ist. (x86)

              DirectMap4M %lu (seit Linux 2.6.27)
                     Anzahl an Bytes von RAM (in 4 MB-Seiten), der durch den Kernel linear gemappt ist. (x86 mit
                     aktiviertem CONFIG_X86_64 oder CONFIG_X86_PAE)

              DirectMap2M %lu (seit Linux 2.6.27)
                     Anzahl an Bytes von RAM (in 2 MB-Seiten), der durch den Kernel linear gemappt ist. (x86 mit
                     aktiviertem CONFIG_X86_64 oder CONFIG_X86_PAE)

              DirectMap1G %lu (seit Linux 2.6.27)
                     (x86 mit CONFIG_X86_64 und CONFIG_X86_DIRECT_GBPAGES aktiviert.)

       /proc/modules
              Eine Textliste der vom System geladenen Module (siehe auch lsmod(8)) .

       /proc/mounts
              Vor Linux 2.4.19 war diese Datei eine Liste aller aktuell im System eingehängten Dateisysteme. Mit
              der  Einführung der prozesseigenen Einhängenamensräume in Linux 2.4.19 (siehe mount_namespaces(7))
              wurde diese Datei  ein  Link  auf  /proc/self/mounts,  die  die  Einhängungen  des  prozesseigenen
              Einhängenamensraums auflistet. Das Format dieser Datei wird in fstab(5) dokumentiert.

       /proc/mtrr
              Die     Memory    Type    Range    Register,    Details    siehe    die    Linux-Kernel-Quelldatei
              Documentation/x86/mtrr.rst    (oder    Documentation/x86/mtrr.txt    vor    Linux     5.2     oder
              Documentation/mtrr.txt vor Linux 2.6.28).

       /proc/net
              Dieses Verzeichnis enthält verschiedene Dateien und Unterverzeichnisse, die Informationen über die
              Netzwerkschicht  enthalten.  Diese  Dateien  enthalten  ASCII-Strukturen  und sind daher mit »cat«
              lesbar. Allerdings stellt der Standardbefehl netstat(8)  einen  sehr  viel  saubereren  Zugang  zu
              diesen Dateien dar.

              Mit  dem  Aufkommen  von  Netznamensräumen sind verschiedene Informationen über den Netzwerkstapel
              virtualisiert  (siehe  network_namespaces(7)).  Daher  ist  seit  Linux   2.6.25   /proc/net   ein
              symbolischer  Link auf das Verzeichnis /proc/self/net, das die gleichen unten aufgeführten Dateien
              und  Verzeichnisse  enthält.  Allerdings  stellen  diese  Dateien  und   Verzeichnisse   nun   die
              Informationen für den Netznamensraum dar, bei dem der Prozess Mitglied ist.

       /proc/net/arp
              Enthält  einen in ASCII lesbaren Abzug der ARP-Tabelle des Kernels, die zur Adressauflösung dient.
              Angezeigt werden sowohl dynamisch gelernte wie auch  vorprogrammierte  ARP-Einträge  in  folgendem
              Format:

                  IP address     HW type   Flags     HW address          Mask   Device
                  192.168.0.50   0x1       0x2       00:50:BF:25:68:F3   *      eth0
                  192.168.0.250  0x1       0xc       00:00:00:00:00:00   *      eth0

              Dabei  ist  »IP  address«  die  IPv4-Adresse  der  Maschine,  »HW type« ist der Hardware-Typ gemäß
              RFC 826.   Die    Schalter    sind    die    internen    Schalter    der    ARP-Struktur    (siehe
              /usr/include/linux/if_arp.h)  und »HW address« ist die Zuordnung in der Daten-Link-Ebene für diese
              IP-Adresse, wenn bekannt.

       /proc/net/dev
              Die Pseudodatei dev enthält Statusinformationen über die Netzwerkkarte. Darin  stehen  die  Anzahl
              der  empfangenen  und  gesendeten  Pakete,  die  Anzahl der Übertragungsfehler und Kollisionen und
              weitere grundlegende Statistik. Das Programm ifconfig(8) benutzt diese Werte für die  Anzeige  des
              Gerätestatus. Das Format ist:

              Inter-|   Receive                                                |  Transmit
               face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
                  lo: 2776770   11307    0    0    0     0          0         0  2776770   11307    0    0    0     0       0          0
                eth0: 1215645    2751    0    0    0     0          0         0  1782404    4324    0    0    0   427       0          0
                ppp0: 1622270    5552    1    0    0     0          0         0   354130    5669    0    0    0     0       0          0
                tap0:    7714      81    0    0    0     0          0         0     7714      81    0    0    0     0       0          0

       /proc/net/dev_mcast
              Definiert in /usr/src/linux/net/core/dev_mcast.c:

                  indx interface_name  dmi_u dmi_g dmi_address
                  2    eth0            1     0     01005e000001
                  3    eth1            1     0     01005e000001
                  4    eth2            1     0     01005e000001

       /proc/net/igmp
              Internet Group Management Protocol. Definiert in /usr/src/linux/net/core/igmp.c.

       /proc/net/rarp
              Diese  Datei  benutzt  das gleiche Format wie die arp-Datei und enthält die aktuelle Datenbank für
              die »umgekehrte Adressauflösung« (reverse mapping), mit der rarp(8) arbeitet. Wenn RARP  nicht  in
              den Kernel hineinkonfiguriert ist, dann ist diese Datei nicht vorhanden.

       /proc/net/raw
              Enthält  einen  Abzug  der  RAW-Socket-Tabelle.  Der  Großteil  der  Informationen  dient  nur zur
              Fehlersuche. Der »sl«-Wert ist der »kernel hash slot« für diesen Socket, »local  address«  enthält
              das  Wertepaar  für  lokale  Adresse  und  Protokoll.  "St"  ist  der  interne Status des Sockets.
              »tx_queue« und »rx_queue« sind Warteschlangen für ausgehende bzw.  eintreffende  Daten,  angegeben
              als  Kernel-Speichernutzung,  »tr«,  »tm->when«  und  »rexmits«  werden von RAW nicht benutzt. Das
              »uid«-Feld enthält die effektive UID des Socket-Erstellers.

       /proc/net/snmp
              Diese Datei enthält die ASCII-Daten, die für die Verwaltung von IP, ICMP, TCP und UDP durch  einen
              SNMP-Agenten benötigt werden.

       /proc/net/tcp
              Enthält  einen  Abzug  der  TCP-Socket-Tabelle.  Der  Großteil  der  Informationen  dient  nur zur
              Fehlersuche. Der »sl«-Wert ist der »kernel hash slot« für diesen Socket, »local address«  ist  ein
              Wertepaar  aus  lokaler  Adresse  und  Port.  Die  »remote  address«  ist  (bei  einer bestehenden
              Verbindung) ein Wertepaar aus Adresse der Gegenstation und deren Port. "St" ist der interne Status
              des Sockets. »tx_queue« und »rx_queue« sind aus- und eingehenden Datenwarteschlangen bezüglich der
              Kernelspeicherverwendung.  Die  Felder  »tr«,   »tm->when«   und   »rexmits«   enthalten   interne
              Kernel-Informationen  zum  Zustand  des  Sockets  und  nutzen  nur zur Fehlersuche. Das »uid«-Feld
              enthält die effektive UID des Socket-Erstellers.

       /proc/net/udp
              Enthält einen  Abzug  der  UDP-Socket-Tabelle.  Der  Großteil  der  Informationen  dient  nur  zur
              Fehlersuche.  Der  »sl«-Wert ist der »kernel hash slot« für diesen Socket, »local address« ist ein
              Wertepaar aus  lokaler  Adresse  und  Port.  Die  »remote  address«  ist  (bei  einer  bestehenden
              Verbindung) ein Wertepaar aus Adresse der Gegenstation und deren Port. "St" ist der interne Status
              des Sockets. »tx_queue« und »rx_queue« sind aus- und eingehenden Datenwarteschlangen bezüglich der
              Kernelspeicherverwendung.  Die Felder »tr«, »tm->when« und »rexmits« werden von UDP nicht genutzt.
              Das »uid«-Feld enthält die effektive UID des Socket-Erstellers. Das Format ist:

              sl  local_address rem_address   st tx_queue rx_queue tr rexmits  tm->when uid
               1: 01642C89:0201 0C642C89:03FF 01 00000000:00000001 01:000071BA 00000000 0
               1: 00000000:0801 00000000:0000 0A 00000000:00000000 00:00000000 6F000100 0
               1: 00000000:0201 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0

       /proc/net/unix
              Liste der UNIX Domain Sockets im System und ihr Status. Format:

              Num RefCount Protocol Flags    Type St Inode Path
               0: 00000002 00000000 00000000 0001 03    42
               1: 00000001 00000000 00010000 0001 01  1948 /dev/printer

              Die Bedeutung der Felder im Einzelnen:

              Num:      die Kerneltabellenpositionsnummer.

              RefCount: Die Anzahl der Benutzer des Sockets.

              Protokoll:
                        Derzeit immer 0.

              Flags:    Die internen Kernel-Schalter, die den Status des Sockets halten.

              Type:     Der Socket-Typ. Für SOCK_STREAM-Sockets ist dies 0001, für SOCK_DGRAM-Sockets  ist  dies
                        0002 und für SOCK_SEQPACKET-Sockets ist dies 0005.

              St:       Der interne Zustand des Sockets.

              Inode:    Die Inode-Nummer des Sockets.

              Path:     Der  gebundene  Pfadname  (falls  vorhanden)  des  Sockets.  Sockets  in  dem abstrakten
                        Namensraum sind Teil der Liste und werden mit einem Path angezeigt, der mit dem  Zeichen
                        »@« beginnt.

       /proc/net/netfilter/nfnetlink_queue
              Diese Datei enthält Informationen über den Umgang mit der Netfilter-Anwendungsebene-Warteschlange,
              falls  diese  benutzt  wird. Jede Zeile stellt eine Warteschlange dar. Warteschlangen, die von der
              Anwendungsebene aus nicht abonniert wurden, werden nicht angezeigt.

                     1   4207     0  2 65535     0     0        0  1
                    (1)   (2)    (3)(4)  (5)    (6)   (7)      (8)

              Die Felder in jeder Zeile sind:

              (1)  Die Kennung der Warteschlange. Dies passt auf die  Angabe  in  --queue-num  oder  der  Option
                   --queue-balance  im  NFQUEUE-Ziel  von  iptables(8). Siehe iptables-extensions(8) für weitere
                   Informationen.

              (2)  Die Netlink-Port-Kennung, die von der Warteschlange abonniert wurde.

              (3)  Die Anzahl der derzeit eingereihten  und  auf  Verarbeitung  durch  die  Anwendung  wartenden
                   Pakete.

              (4)  Der  Kopiermodus  der Warteschlange. Er ist entweder 1 (nur Metadaten) oder 2 (auch Nutzdaten
                   in die Anwendungsebene kopieren).

              (5)  Kopierbereich.  Dies  gibt  an,  wie  viele  Bytes  der   Paketnutzdaten   maximal   in   die
                   Anwendungsebene kopiert werden sollen.

              (6)  in  Warteschlange  weggelassen.  Die  Anzahl  der  Pakete,  die vom Kernel weggelassen werden
                   mussten,  da  bereits  zu  viele  Pakete  darauf  warten,  dass  ein  Anwendungsprogramm  die
                   verpflichtenden Akzeptier-/Verwerfentscheidungen zurückliefert.

              (7)  in  Warteschlange  durch  Benutzer  weggelassen.  Die  Anzahl  der  Pakete, die innerhalb des
                   Netlink-Untersystems weggelassen werden mussten.  Diese  entfallen  normalerweise,  wenn  der
                   entsprechende  Socket-Puffer voll ist, d.h. Benutzeranwendungen nicht schnell genug sind, die
                   Meldungen zu lesen.

              (8)  Sequenznummer. Jedes Paket ist einer (32-bit), monoton-ansteigenden Sequenznummer zugeordnet.
                   Dies zeigt die Kennung des neusten eingereihten Pakets.

              Die letzte Zahl existiert nur aus Kompatibilitätsgründen und ist immer 1.

       /proc/partitions
              Enthält  neben  den  Major-  und  Minor-Gerätenummern  jeder  Partition  auch   die   Anzahl   der
              1024-Byte-Blöcke und dem Partitionsnamen.

       /proc/pci
              Das  ist  eine  Liste  aller  PCI-Geräte, die während der Initialisierung des Kernels gefunden und
              konfiguriert wurden.

              Diese Datei wurde zugunsten einer neuen /proc-Schnittstelle für PCI (/proc/bus/pci) verworfen. Sie
              wurde  in  Linux  2.2  optional  (verfügbar  durch  Setzen   von   CONFIG_PCI_OLD_PROC   bei   der
              Kernel-Kompilierung).  Sie  wurde  noch  einmal  non-optional in Linux 2.4 aktiviert. Als nächstes
              wurde sie in Linux 2.6 missbilligt (mit  gesetztem  CON-FIG_PCI_LEGACY_PROC  noch  verfügbar)  und
              schließlich seit Linux 2.6.17 entfernt.

       /proc/profile (seit Linux 2.4)
              Diese  Datei  ist  nur verfügbar, falls der Kernel mit der Befehlszeilenoption profile=1 gestartet
              wurde. Er legt die Profiling-Informationen des Kernels in einem binären Format für die  Verwendung
              mit  readprofile(1)  offen. Wird (z.B. eine leere Zeichenkette) in diese Datei geschrieben, werden
              die Profiling-Zähler zurückgesetzt; auf einigen Architekturen setzt  das  Schreiben  einer  binäre
              Ganzzahl (»Profiling-Vervielfacher«) der Größe sizeof(int) die Profiling-Interrupt-Frequenz.

       /proc/scsi
              Ein  Verzeichnis  mit  der scsi-»mid-level«-Pseudodatei und diversen Verzeichnissen für systemnahe
              SCSI-Treiber, die eine Datei pro SCSI-Host im System enthalten. Alle  diese  spiegeln  den  Status
              eines  Teils  des  SCSI-Subsystems  wider. Die Dateien enthalten ASCII-Strukturen, können also mit
              cat(1) gelesen werden.

              In einige Dateien kann auch geschrieben werden, um das Teilsystem neu  zu  konfigurieren  oder  um
              bestimmte Eigenschaften ein- oder auszuschalten.

       /proc/scsi/scsi
              Dies  ist  eine  Liste  aller  SCSI-Geräte,  die dem Kernel bekannt sind. Sie ähnelt der, die beim
              Hochfahren des Rechners zu sehen ist. SCSI unterstützt derzeit nur den  Befehl  singledevice,  der
              root ermöglicht, im laufenden Betrieb der Liste ein zusätzliches Gerät hinzuzufügen.

              Der Befehl

                  echo 'scsi add-single-device 1 0 5 0' > /proc/scsi/scsi

              veranlasst Host scsi1 nachzusehen, ob auf SCSI-Kanal 0 ein Gerät mit ID 5 LUN 0 existiert. Wenn an
              dieser   Adresse   schon   ein  Gerät  ist,  oder  die  Adresse  ungültig  ist,  wird  ein  Fehler
              zurückgeliefert.

       /proc/scsi/Treibername
              Treibername kann derzeit sein: NCR53c7xx, aha152x, aha1542, aha1740, aic7xxx, buslogic,  eata_dma,
              eata_pio,  fdomain,  in2000,  pas16,  qlogic,  scsi_debug, seagate, t128, u15-24f, ultrastore oder
              wd7000. Diese Verzeichnisse werden  für  jeden  Treiber  angezeigt,  der  zumindest  ein  SCSI-HBA
              registriert  hat.  Jedes  Verzeichnis enthält eine Datei pro registriertem Host, die als Namen die
              Nummer haben, die dem Host bei der Initialisierung zugewiesen wurde.

              Das Lesen der Dateien zeigt normalerweise Treiber- und Host-Konfiguration, Statistik usw.

              Schreiben in diese Dateien hat Host-abhängige Auswirkungen. Mit den Befehlen latency und nolatency
              kann Root den Code zur Latenzmessung im eata_dma-Treiber ein-/ausschalten. Mit lockup  und  unlock
              kann  Root  Bus-Verklemmungen  (bus  lockups)  steuern,  wie  sie vom scsi_debug-Treiber simuliert
              werden.

       /proc/self
              Dieses Verzeichnis bezieht sich auf den Prozess, der auf das /proc-Dateisystem  zugreift  und  ist
              mit dem /proc-Verzeichnis identisch, das als Namen die Prozessnummer dieses Prozesses hat.

       /proc/slabinfo
              Informationen über Kernel-Zwischenspeicher. Siehe slabinfo(5) für Details.

       /proc/stat
              Von der Architektur abhängige Kernel- und Systemstatistiken. Gebräuchliche Einträge sind:

              cpu 10132153 290696 3084719 46828483 16683 0 25195 0 175628 0
              cpu0 1393280 32966 572056 13343292 6130 0 17875 0 23933 0
                     Die  Zeitdauer  (gemessen  in  USER_HZ,  auf den meisten Architekturen Hundertstelsekunden,
                     ermitteln Sie den richtigen Wert mit sysconf(_SC_CLK_TCK)), die  das  System  (»cpu«-Zeile)
                     oder die spezielle CPU (»cpuN«-Zeile) in verschiedenen Status verbracht hat:

                     user   (1) Zeit, die auf der Anwendungsebene verbracht wurde.

                     nice   (2)  Zeit,  die  auf  der  Anwendungsebene  mit niedriger Priorität (nice) verbracht
                            wurde.

                     system (3) Zeit, die im Systemmodus verbracht wurde.

                     idle   (4) Im Leerlaufprozess verbrachte Zeit. Dieser Wert sollte USER_HZ mal  den  zweiten
                            Eintrag in der Pseudo-Datei /proc/uptime sein.

                     iowait (seit Linux 2.5.41)
                            (5)  Zeit, die für den Abschluss der E/A wartend verbracht wird. Dieser Wert ist aus
                            den folgenden Gründen nicht zuverlässig:

                            •  Die CPU wartet nicht, dass E/A abgeschlossen wird; Iowait ist die Zeit,  die  ein
                               Prozess  auf  den  Abschluss  von E/A wartet. Wenn eine CPU aufgrund ausstehender
                               Prozess-E/A  in  den  Leerlauf  geht,  wird  ein  anderer  Prozess  auf  der  CPU
                               eingeplant.

                            •  Auf  einer  Mehrkern-CPU läuft der auf den Abschluss von E/A wartende Prozess auf
                               keiner CPU, so dass die Berechnung von Iowait für jede CPU schwierig ist.

                            •  Der Wert in diesem Feld kann unter gewissen Umständen abnehmen.

                     irq (seit Linux 2.6.0)
                            (6) Zeit, die zum Ausliefern von Interrupts verbracht wurde.

                     softirq (seit Linux 2.6.0)
                            (7) Zeit, die zum Ausliefern von Softirqs verbracht wurde.

                     steal (seit Linux 2.6.11)
                            (8) Gestohlene Zeit, die in  anderen  Betriebssystemen  verbracht  wurde,  wenn  der
                            Prozess in einer virtualisierten Umgebung läuft.

                     guest (seit Linux 2.6.24)
                            (9) Zeit, die für den Betrieb einer virtuellen CPU für Gastbetriebssysteme unter der
                            Steuerung des Linux-Kernels verbracht wurde.

                     guest_nice (seit Linux 2.6.33)
                            (10)  Zeit,  die  für  die  Ausführung eines mit nice eingestellten Gastes verbracht
                            wurde (virtuelle CPU für Gastbetriebssysteme unter der Steuerung des Linux-Kernels)

              page 5741 1808
                     Die Anzahl Speicherseiten, die das System von der Platte geladen hat sowie die  Anzahl  der
                     dorthin ausgelagerten Speicherseiten.

              swap 1 0
                     Die Anzahl an Auslagerungsseiten, die hereingeholt und herausgebracht wurden.

              intr 1462898
                     Diese  Zeile zeigt Zählungen der seit dem Systemstart bearbeiteten Interrupts für jeden der
                     möglichen System-Interrupts. Die erste Spalte ist die Summe aller  bearbeiteten  Interrupts
                     (einschließlich  architekturspezifischer  Interrupts  ohne Nummer); jede weitere Spalte ist
                     die Summe für diesen bestimmten Interrupt mit Nummer. Interrupts ohne Nummer  werden  nicht
                     angezeigt, nur in der Gesamtsumme berücksichtigt.

              disk_io: (2,0):(31,30,5764,1,2) (3,0):…
                     (major,disk_idx):(noinfo, read_io_ops, blks_read, write_io_ops, blks_written)
                     (nur Linux 2.4)

              ctxt 115315
                     Anzahl Kontextwechsel, die das System durchlaufen hat.

              btime 769041601
                     Zeitpunkt des Systemstarts, in Sekunden seit dem 1. Januar 1970 0 Uhr UTC (Epoch).

              processes 86031
                     Anzahl der seit dem Systemstart erzeugten Prozesse.

              procs_running 6
                     Anzahl der lauffähigen Prozesse (von Linux 2.5.45 aufwärts).

              procs_blocked 2
                     Anzahl  von  Prozessen,  die durch das Warten auf den Abschluss von E/A blockiert sind (von
                     Linux 2.5.45 aufwärts).

              softirq 229245889 94 60001584 13619 5175704 2471304 28 51212741 59130143 0 51240672
                     Diese Zeile zeigt die Anzahl  von  Softirqs  für  alle  CPUs.  Die  erste  Spalte  ist  die
                     Gesamtsumme  aller  Softirqs  und  jede  nachfolgende  Spalte ist die Gesamtsumme für einen
                     bestimmten Softirq (von Linux 2.6.31 aufwärts).

       /proc/swaps
              Genutzte Auslagerungsbereiche; siehe auch swapon(8).

       /proc/sys
              Dieses Verzeichnis (vorhanden seit Linux 1.3.57) enthält einige  Dateien  und  Unterverzeichnisse,
              die  Kernel-Variablen  entsprechen. Diese Variablen können gelesen und einigen Fällen auch mittels
              des /proc-Dateisystems oder des (missbilligten) Systemaufrufs sysctl(2) geändert werden.

              Zeichenkettenwerte dürfen entweder von »\0« oder »\n« abgeschlossen werden.

              Werte vom Typ Integer oder Long können entweder in dezimaler oder  in  hexadezimaler  Schreibweise
              (z.B.  0x3FFF)  geschrieben  werden.  Beim Schreiben von mehreren Werten vom Typ Integer oder Long
              können diese durch eines der folgenden Leerraumzeichen getrennt werden: » «, »\t« oder  »\n«.  Die
              Verwendung anderer Trennzeichen führt zum Fehler EINVAL.

       /proc/sys/abi (seit Linux 2.4.10)
              Dieses    Verzeichnis   enthält   möglicherweise   binäre   Anwendungsinformationen;   siehe   die
              Linux-Kernel-Quelldatei Documentation/sysctl/abi.rst (oder Documentation/sysctl/abi.txt vor  Linux
              5.3) für weitere Informationen.

       /proc/sys/debug
              Dieses Verzeichnis kann leer sein.

       /proc/sys/dev
              Dieses  Verzeichnis  enthält  gerätespezifische  Informationen (z.B. /dev/cdrom/info). Auf einigen
              Systemen kann es leer sein.

       /proc/sys/fs
              Dieses Verzeichnis enthält die Dateien und Unterverzeichnisse für Kernel-Variablen in Zusammenhang
              mit Dateisystemen.

       /proc/sys/fs/aio-max-nr und /proc/sys/fs/aio-nr (seit Linux 2.6.4)
              aio-nr ist die laufende Gesamtsumme der Anzahl von Ereignissen, die mit  io_setup(2)-Aufrufen  für
              alle  derzeit  aktiven  AIO-Kontexte festgelegt wurde. Falls aio-nr aio-max-nr erreicht, dann wird
              io_setup(2) mit dem Fehler EAGAIN fehlschlagen.  Erhöhen  von  aio-max-nr  führt  nicht  zu  einer
              Vorbelegung oder Vergrößerung irgendwelcher Kernel-Datenstrukturen.

       /proc/sys/fs/binfmt_misc
              Dokumentation  für  Dateien  in  diesem  Verzeichnis  kann in den Linux-Kernelquellen in der Datei
              Documentation/admin-guide/binfmt-misc.rst  (oder  in  Documentation/binfmt_misc.txt  auf   älteren
              Kerneln) gefunden werden.

       /proc/sys/fs/dentry-state (seit Linux 2.2)
              Diese  Datei  enthält  Informationen über den Zustand des Verzeichnis-Zwischenspeichers (directory
              cache,dcache).  Die  Datei  enthält  sechs  Zahlen:  nr_dentry,  nr_unused,  age_limit  (Alter  in
              Sekunden), want_pages (vom System angeforderte Seiten) und zwei Dummy-Werte.

              •  nr_dentry  ist die Anzahl der zugewiesenen Dentries (dcache entries). Dieses Feld wird in Linux
                 2.2 nicht genutzt.

              •  nr_unused ist die Anzahl ungenutzter Dentries.

              •  age_limit  ist  das  Alter  in  Sekunden,  nach  dem  Dcache-Einträge   bei   Speicherknappheit
                 zurückgefordert werden können.

              •  want_pages  ist  ungleich  null,  wenn  der Kernel shrink_dcache_pages() aufgerufen hat und der
                 Dcache noch nicht bereinigt ist.

       /proc/sys/fs/dir-notify-enable
              Diese Datei kann genutzt  werden,  um  die  in  fcntl(2)  beschriebene  dnotify-Schnittstelle  auf
              systemweiter  Basis zu aktivieren oder zu deaktivieren. Ein Wert von 0 in dieser Datei deaktiviert
              die Schnittstelle, ein Wert von 1 aktiviert sie.

       /proc/sys/fs/dquot-max
              Diese Datei zeigt die maximale  Anzahl  von  zwischengespeicherten  Kontingent-Einträgen  für  die
              Festplatte.  Auf  einigen  (2.4)-Systemen  ist  sie  nicht  vorhanden.  Wenn die Anzahl der freien
              Festplatten-Kontingent-Einträge im Cache sehr klein ist und Sie haben eine außergewöhnliche Anzahl
              gleichzeitiger Systembenutzer, möchten Sie vielleicht diesen Grenzwert erhöhen.

       /proc/sys/fs/dquot-nr
              Diese Datei zeigt die Anzahl zugewiesener und die Anzahl freier Plattenkontingent-Einträge.

       /proc/sys/fs/epoll (seit Linux 2.6.28)
              Dieses  Verzeichnis  enthält  die  Datei  max_user_watches,  mit  der  der   insgesamt   von   der
              epoll-Schnittstelle beanspruchte Kernel-Speicher begrenzt werden kann. Weitere Einzelheiten finden
              Sie in epoll(7).

       /proc/sys/fs/file-max
              Diese  Datei  legt  eine systemweite Grenze für die Anzahl offener Dateien für alle Prozesse fest.
              Systemaufrufe, die beim Erreichen dieser Grenze fehlschlagen, schlagen mit dem Fehler ENFILE fehl.
              (Siehe auch setrlimit(2), mit der ein Prozess seine prozess-spezifische Begrenzung, RLIMIT_NOFILE,
              für  die  Anzahl  zu  öffnender  Dateien  festlegen  kann.)  Wenn  Sie  viele  Fehlermeldungen  im
              Kernelprotkoll  über  nicht ausreichende Datei-Handles (offene Dateideskriptoren) bekommen (suchen
              Sie nach »VFS: file-max limit <number> reached«), versuchen Sie  es  mit  einer  Vergrößerung  des
              Wertes:

                  echo 100000 > /proc/sys/fs/file-max

              Ein privilegierter Prozess (CAP_SYS_ADMIN) kann die Begrenzung file-max außer Kraft setzen.

       /proc/sys/fs/file-nr
              Diese  (nur  lesbare)  Datei  enthält drei Zahlen: die Anzahl der belegten Datei-Handles (d.h. die
              Anzahl der offenen Dateiedeskriptoren; siehe open(2)); die Anzahl der freien Datei-Handles und die
              maximale Anzahl an Datei-Handles (d.h. der gleiche  Wert  wie  /proc/sys/fs/file-max).  Falls  die
              Anzahl  an  belegten  Datei-Handles  nahe dem Maximalwert ist, sollten Sie in Betracht ziehen, das
              Maximum zu erhöhen. Vor Linux 2.6 belegte der Kernel Datei-Handles dynamisch, aber gab  sie  nicht
              wieder frei. Stattdessen wurden die freien Datei-Handles in einer Liste zur Neubelegung verwaltet,
              der  Wert  »free  file  handles«  zeigt  die  Größe  dieser  Liste  an. Ein große Anzahl an freien
              Datei-Handles  zeigt  an,  dass  es  in  der  Vergangenheit  eine  Benutzungsspitze   für   offene
              Datei-Handles  gab.  Seit Linux 2.6 gibt der Kernel freigegebene Datei-Handles wieder frei und der
              Wert »free file handles« ist immer Null.

       /proc/sys/fs/inode-max (nur bis Linux 2.2 vorhanden)
              Diese Datei enthält die maximale Anzahl von im Speicher befindlichen Inodes.  Dieser  Wert  sollte
              drei-  bis  viermal  größer  sein  als der Wert von file-max, weil auch die Bearbeitung von stdin,
              stdout und Netzwerk-Sockets einen Inode erfordert. Wenn Ihnen regelmäßig die Inodes knapp  werden,
              müssen Sie diesen Wert erhöhen.

              Beginnend  mit  Linux  2.4 gibt es keine statische Begrenzung der Anzahl der Inodes mehr und diese
              Datei wurde entfernt.

       /proc/sys/fs/inode-nr
              Diese Datei enthält die ersten zwei Werte von inode-state.

       /proc/sys/fs/inode-state
              Diese Datei enthält sieben Zahlen:  nr_inodes,  nr_free_inodes,  preshrink  und  vier  Dummy-Werte
              (immer Null).

              nr_inodes  ist  die  Anzahl  der  Inodes,  die das System zugeteilt hat. nr_free_inodes stellt die
              Anzahl der freien Inodes dar.

              preshrink ist von Null verschieden, wenn nr_inodes > inode-max  und  das  System  die  Inode-Liste
              abschneiden muss, statt mehr zu belegen; seit Linux 2.4 ist das Feld ein Blindwert (immer Null).

       /proc/sys/fs/inotify (seit Linux 2.6.13)
              Dieses    Verzeichnis    enthält    die   Dateien   max_queued_events,   max_user_instances,   und
              max_user_watches, mit denen der Verbrauch  von  Kernel-Speicher  durch  die  inotify-Schnittstelle
              begrenzt werden kann. Weitere Einzelheiten finden Sie in inotify(7).

       /proc/sys/fs/lease-break-time
              Diese  Datei  legt  die  Gnadenfrist  fest,  die  der Kernel einem Prozess gewährt, der über einen
              Dateiausleihe (fcntl(2)) verfügt, nachdem der Kernel dem Prozess signalisiert hat, das ein anderer
              Prozess die Datei öffnen will. Wenn der Prozess innerhalb dieser Frist die Ausleihe nicht entfernt
              oder herabstuft, wird der Kernel die Ausleihe zwangsweise zurückziehen.

       /proc/sys/fs/leases-enable
              Mit dieser Datei können Dateiausleihen (fcntl(2)) systemweit aktiviert  oder  deaktiviert  werden.
              Wenn  diese  Datei  den  Wert  0  enthält,  werden  Ausleihen  deaktiviert. Ein Wert ungleich null
              aktiviert Ausleihen.

       /proc/sys/fs/mount-max (seit Linux 4.9)
              Der Wert in dieser Datei legt die maximale Anzahl an Einhängungen, die in einem Einhängenamensraum
              existieren dürfen, fest. Der Vorgabewert ist 100.000.

       /proc/sys/fs/mqueue (seit Linux 2.6.6)
              Dieses  Verzeichnis  enthält  die  Dateien  msg_max,   msgsize_max   und   queues_max,   die   den
              Ressourcenverbrauch   von   POSIX-Meldungswarteschlangen   steuern.  mq_overview(7)  gibt  weitere
              Informationen.

       /proc/sys/fs/nr_open (seit Linux 2.6.25)
              Diese Datei  erzwingt  eine  obere  Grenze  für  den  Wert,  auf  den  die  Ressourcenbeschränkung
              RLIMIT_NOFILE  erhöht  werden  kann  (siehe  getrlimit(2)).  Diese  obere  Grenze  wird sowohl für
              unprivilegierte als auch für privilegierte Prozesse durchgesetzt. Der Vorgabewert in dieser  Datei
              ist  1048576.  (Vor Linux 2.6.25 war die obere Grenze für RLIMIT_NOFILE hart auf den gleichen Wert
              einkodiert.)

       /proc/sys/fs/overflowgid und /proc/sys/fs/overflowuid
              Diese Dateien ermöglichen  Ihnen,  die  festen  Maximalwerte  für  UID  und  GID  zu  ändern.  Der
              Vorgabewert ist 65534. Einige Dateisysteme unterstützen nur 16-Bit-UIDs und -GIDs, obwohl in Linux
              UIDs  und GIDs 32 Bit lang sind. Wenn eines dieser Dateisysteme schreibbar eingehängt wird, würden
              alle UIDs oder GIDs, die 65535 überschreiten würden, vor dem Schreiben auf  die  Platte  in  ihren
              Überlaufwert übersetzt werden.

       /proc/sys/fs/pipe-max-size (seit Linux 2.6.35)
              siehe pipe(7).

       /proc/sys/fs/pipe-user-pages-hard (seit Linux 4.5)
              siehe pipe(7).

       /proc/sys/fs/pipe-user-pages-soft (seit Linux 4.5)
              siehe pipe(7).

       /proc/sys/fs/protected_fifos (seit Linux 4.19)
              Der Wert in dieser Datei ist/kann auf eines der Folgenden gesetzt (werden):

              0   Schreiben in FIFOs ist nicht beschränkt.

              1   O_CREAT  open(2)  wird  auf  FIFOs,  die  dem  Aufrufenden  nicht  gehören  und  in  für allen
                  schreibbaren, »sticky« Verzeichnissen  liegen,  nicht  erlaubt,  außer  der  FIFO  gehört  dem
                  Eigentümer des Verzeichnisses.

              2   Wie  bei  Wert  1,  aber  die  Beschränkung  trifft  auch  auch  Gruppen-schreibbare, »sticky«
                  Verzeichnisse.

              Das Ziel der obigen Beschränkungen ist, unbeabsichtigtes Schreiben in eine  FIFO,  die  von  einem
              Angreifer  gesteuert  wird,  zu  vermeiden,  wenn  ein  Programm  erwartet,  eine normale Datei zu
              erstellen.

       /proc/sys/fs/protected_hardlinks (seit Linux 3.6)
              Wenn der Wert in dieser Datei 0 ist, werden keine Einschränkungen  bezüglich  der  Erstellung  von
              harten  Links  gesetzt  (d.h.  dies ist das historische Verhalten vor Linux 3.6). Wenn der Wert in
              dieser Datei 1 ist, kann ein harter Link auf  ein  Ziel  nur  erstellt  werden,  falls  einer  der
              folgenden Bedingungen zutrifft:

              •  Der aufrufenden Prozess verfügt über die Capability CAP_FOWNER in seinem Benutzernamensraum und
                 die Datei-UID hat ein Zuordnung in dem Namensraum.

              •  Die  Dateisystem-UID  des  Prozesses, der den Link erstellt, passt auf den Eigentümer (UID) der
                 Zieldatei  (wie  in  credentials(7)  beschrieben,  ist  die  Dateisystem-UID  eines   Prozesses
                 normalerweise zu seiner effektiven UID identisch).

              •  Alle der folgenden Bedingungen sind wahr:

                  •  das Ziel ist eine reguläre Datei;

                  •  die Zieldatei hat nicht ihr Modus-Bit »set-user-ID« aktiviert;

                  •  die  Zieldatei  hat  nicht  sowohl  ihr Modus-Bit »set-user-ID« als auch »group-executable«
                     aktiviert; und

                  •  der Aufrufende hat Rechte, die Zieldatei zu lesen  und  zu  schreiben  (entweder  über  die
                     Dateiberechtigungsmaske oder weil er über die geeigneten Capabilities verfügt).

              Der  Vorgabewert in dieser Datei ist 0. Durch Setzen des Wertes auf 1 wird eine lange existierende
              Klasse            von            Sicherheitsproblemen            durch            hardlinkbasierte
              Prüfungszeitpunkt-Nutzungszeitpunkt-Ressourcenwettläufe     verhindert,     die     meistens    in
              weltschreibbaren Verzeichnissen wie /tmp beobachtet wird. Die häufigste Ausnutzungsmethode  dieses
              Problems   besteht   darin,  Privilegiengrenzen  beim  Folgen  eines  gegebenen  harten  Links  zu
              überschreiten (d.h. ein Root-Prozess folgt einem harten Link, den ein  anderer  Benutzer  erstellt
              hat).  Zusätzlich  verhindert dies unberechtigte Benutzer auf Systemen ohne separierte Partitionen
              vom »Festklemmen« verwundbarer set-user-ID- und  set-group-ID-Dateien  gegen  Upgrades  durch  den
              Administrator oder dem Linken auf besondere Dateien.

       /proc/sys/fs/protected_regular (seit Linux 4.19)
              Der Wert in dieser Datei ist/kann auf eines der Folgenden gesetzt (werden):

              0   Schreiben in normale Dateien ist nicht beschränkt.

              1   O_CREAT  open(2)  wird auf normale Dateien, die dem Aufrufenden nicht gehören und in für allen
                  schreibbaren, »sticky« Verzeichnissen liegen, nicht erlaubt, außer die  normale  Datei  gehört
                  dem Eigentümer des Verzeichnisses.

              2   Wie  bei  Wert  1,  aber  die  Beschränkung  trifft  auch  auch  Gruppen-schreibbare, »sticky«
                  Verzeichnisse.

              Das Ziel  der  obigen  Beschränkungen  ist  ähnlich  dem  von  protected_fifos,  erlaubt  es  aber
              Anwedungen,  das  Schreiben  in  normale  Dateien,  die  von  einem Angreifer gesteuert werden, zu
              vermeiden, wenn ein Programm erwartet, eine zu erstellen.

       /proc/sys/fs/protected_symlinks (seit Linux 3.6)
              Wenn der Wert in dieser Datei 0 ist, werden keine Einschränkungen auf die  folgenden  symbolischen
              Links gesetzt (d.h. das historische Verhalten vor Linux 3.6). Wenn der Wert in dieser Datei 1 ist,
              wird symbolischen Links nur unter den folgenden Umständen gefolgt:

              •  Die  Dateisystem-UID  des  Prozesses, der dem symbolischen Link folgt, passt auf den Eigentümer
                 (UID) des symbolischen Links (wie in credentials(7) beschrieben, ist die Dateisystem-UID  eines
                 Prozesses normalerweise identisch zu seiner effektiven UID);

              •  der Link ist nicht in einem weltschreibbaren Verzeichnis mit Sticky-Bit; oder

              •  der symbolische Link und sein Elternverzeichnis haben den gleichen Eigentümer (UID).

              Ein  Systemaufruf,  der  beim  Folgen  eines  symbolischen  Links wegen der obigen Einschränkungen
              fehlschlägt, liefert den Fehler EACCES in errno zurück.

              Der Vorgabewert in dieser Datei ist 0. Wird der  Wert  auf  1  gesetzt,  wird  eine  bereits  lang
              existierende  Klasse von Sicherheitsproblemen, die auf Ressourcenwettläufen zwischen dem Zeitpunkt
              der Überprüfung und dem Zeitpunkt der Verwendung beim  Zugriff  auf  symbolische  Links  basieren,
              vermieden.

       /proc/sys/fs/suid_dumpable (seit Linux 2.6.13)
              Der  Wert  in  dieser  Datei  wird  dem  Schalter  »dumpable«  unter den in prctl(2) beschriebenen
              Umständen  zugewiesen.  Der  Wert  dieser  Datei   bestimmt   schließlich,   ob   Speicherabbilder
              (Core-Dump-Dateien) für Set-User-ID-Programme oder anderweitig geschützte/unsaubere Binärprogramme
              erzeugt  werden.  Die  Einstellung  »dumpable«  betrifft  auch die Eigentümerschaft von Dateien im
              Verzeichnis /proc/PID eines Prozesses, wie oben beschrieben.

              Es können drei verschiedene Ganzzahlwerte festgelegt werden:

              0 (Standard)
                     0 (Standard)  Das  bewirkt  das   traditionelle   Verhalten   (vor   Linux   2.6.13).   Ein
                     Kernspeicherabzug  wird  nicht  für  Prozesse  erzeugt,  die ihre Identität änderten (durch
                     Aufruf von seteuid(2), setgid(2) oder ähnliches oder durch das Ausführen eines  set-user-ID
                     oder  set-group-ID-Programms) oder deren Binärprogramm nicht die Leseberechtigung aktiviert
                     hat.

              1 (»debug«)
                     Alle Prozesse geben einen Kernspeicherabzug aus, wenn möglich. (Gründe, warum  ein  Prozess
                     dennoch   keinen   Kernspeicherabzug   ausgibt,   sind   in   core(5)   beschrieben.)   Der
                     Kernspeicherabzug trägt die Benutzer-Kennung (UID) des erzeugenden Prozesses, es gibt keine
                     Sicherheitsprüfungen. Dies ist nur für die Fehlersuche im System gedacht: Dieser Modus  ist
                     unsicher,   da   er   es   unprivilegierten  Benutzern  erlaubt,  die  Speicherinhalte  von
                     privilegierten Prozessen zu untersuchen.

              2 (»suidsafe«)
                     2 (»suidsafe«) Für alle Programme, für die normalerweise kein Abzug  erzeugt  würde  (siehe
                     »0«  oben),  wird  ein  nur  für Root lesbarer Abzug erzeugt. Dadurch kann der Benutzer die
                     Kernspeicherabzugsdatei  entfernen,  sie   aber   nicht   lesen.   Aus   Sicherheitsgründen
                     überschreiben  Kernspeicherabzüge in diesem Modus keine anderen Abzüge oder Dateien. Dieser
                     Modus eignet sich, wenn Administratoren Probleme in einer normalen Umgebung untersuchen.

                     Zusätzlich   muss   wie   in   core(5)   ausführlich    beschrieben    seit    Linux    3.6
                     /proc/sys/kernel/core_pattern  entweder  ein  absoluter Pfadname oder ein Pipe-Befehl sein.
                     Falls core_pattern diesen Regeln nicht  folgt,  werden  in  das  Kernelprotokoll  Warnungen
                     ausgegeben und kein Kernspeicherabzug erstellt.

              Für   Einzelheiten   der   Auswirkungen   der   »dumpable«-Einstellung  eines  Prozesses  auf  die
              Ptrace-Zugriffsmodusprüfung siehe ptrace(2).

       /proc/sys/fs/super-max
              Diese Datei steuert die maximale  Anzahl  der  Superblocks  und  damit  die  maximale  Anzahl  von
              Dateisystemen,  die  der  Kernel  einhängen  kann. Sie müssen nur super-max erhöhen, wenn Sie mehr
              Dateisysteme einhängen müssen, als der aktuelle Wert in super-max zulässt.

       /proc/sys/fs/super-nr
              Diese Datei enthält die Anzahl aktuell eingehängter Dateisysteme.

       /proc/sys/kernel
              Dieses Verzeichnis enthält Dateien, die eine  Reihe  von  Kernel-Parametern  steuern,  wie  es  im
              Folgenden beschrieben wird.

       /proc/sys/kernel/acct
              Diese  Datei  enthält  drei  Zahlen: highwater, lowwater und frequency. Wenn BSD-Prozessabrechnung
              (accounting) aktiviert ist, steuern diese Werte ihr  Verhalten.  Wenn  der  freie  Platz  auf  dem
              Dateisystem  mit  der Protokolldatei unter lowwater Prozent sinkt, wird die Abrechnung ausgesetzt.
              Wenn der freie Platz über highwater steigt, wird die Abrechnung fortgesetzt.  frequency  (Wert  in
              Sekunden)  legt  fest, wie oft der Kernel die Größe des freien Speichers prüft. Standardwerte sind
              4, 2 und 30: Die Abrechnung wird unter 2% freiem Speicher ausgesetzt, über 4% fortgesetzt und alle
              30 Sekunden der freie Speicher überprüft.

       /proc/sys/kernel/auto_msgmni (Linux 2.6.27 bis 3.18)
              Von Linux 2.6.27 bis 3.18 wurde  diese  Datei  dazu  verwandt,  die  Neuberechnung  des  Werts  in
              /proc/sys/kernel/msgmni,  basierend  auf der Hinzufügung oder der Entfernung von Speicher oder der
              Erstellung/Entfernung von IPC-Namensräumen, zu steuern. Wurde der Wert »1« per Echo in diese Datei
              geschrieben, wurde die automatische Neuberechnung von msgmni aktiviert (und eine Neuberechnung von
              msgmni  basierend  auf  der  aktuellen  Menge  von  verfügbaren  Speicher  und  der   Anzahl   von
              IPC-Namensräumen  ausgelöst). Wurde »0« per Echo geschrieben, wurde die automatische Neuberechnung
              deaktiviert. (Die automatische  Neuberechnung  war  auch  deaktiviert,  falls  explizit  ein  Wert
              /proc/sys/kernel/msgmni zugewiesen worden war.) Der Vorgabewert in auto_msgmni war 1.

              Seit  Linux  3.19  hat  der  Inhalt  dieser  Datei keinen Effekt (da msgmni standardmäßig fast den
              maximalen Wert enthält) und beim Lesen aus dieser Datei wird immer der Wert »0« zurückgeliefert.

       /proc/sys/kernel/cap_last_cap (seit Linux 3.2)
              siehe capabilities(7).

       /proc/sys/kernel/cap-bound (von Linux 2.2 bis 2.6.24)
              Diese  Datei  enthält   den   Wert   der   Kernel-Capability-Begrenzungsmenge   (ausgedrückt   als
              vorzeichenbehaftete Dezimalzahl). Dieser Satz wird logisch UND-verknüpft mit den Capabilities, die
              während  execve(2)  bestanden.  Beginnend  mit Linux 2.6.25 verschwand dieser Wert und wurde durch
              seine prozess-spezifische Variante ersetzt; siehe capabilities(7).

       /proc/sys/kernel/core_pattern
              siehe core(5)

       /proc/sys/kernel/core_pipe_limit
              siehe core(5)

       /proc/sys/kernel/core_uses_pid
              siehe core(5)

       /proc/sys/kernel/ctrl-alt-del
              Diese Datei steuert den Umgang mit Strg-Alt-Entf von der Tastatur. Wenn der Wert in dieser Datei 0
              ist,  wird  Strg-Alt-Entf  abgefangen  und  an  das  init(1)-Programm  weitergeleitet,  um   einen
              ordnungsgemäßen  Neustart  auszulösen. Wenn der Wert größer als Null ist, wird Linux' Reaktion auf
              einen vulkanischen Nackengriff™ ein sofortiger Neustart sein,  ohne  auch  nur  seine  schmutzigen
              Puffer  zu  synchronisieren. Anmerkung: Wenn ein Programm (wie DOSEMU) die Tastatur im »raw«-Modus
              betreibt, wird das Strg-Alt-Entf durch das Programm abgefangen, bevor  es  die  Kernel-TTY-Schicht
              erreicht. Das Programm muss entscheiden, wie es damit umgeht.

       /proc/sys/kernel/dmesg_restrict (seit Linux 2.6.37)
              Der Wert in dieser Datei bestimmt, wer den Inhalt des Syslogs des Kernels sehen kann. Ein Wert von
              0  in dieser Datei führt zu keinen Einschränkungen. Falls der Wert 1 ist, können nur privilegierte
              Benutzer den Syslog des Kernels lesen. (Siehe syslog(2)  für  weitere  Details).  Seit  Linux  3.4
              können nur Benutzer, die über das Capability CAP_SYS_ADMIN verfügen, den Wert dieser Datei ändern.

       /proc/sys/kernel/domainname und /proc/sys/kernel/hostname
              können  benutzt  werden,  um den NIS/YP-Domainnamen und den Namen Ihres Systems auf genau dieselbe
              Weise wie mit den Befehlen domainname(1) und hostname(1) zu setzen. Also hat

                  # echo 'darkstar' > /proc/sys/kernel/hostname
                  # echo 'meineDomain' > /proc/sys/kernel/domainname

              den gleichen Effekt wie

                  # hostname 'darkstar'
                  # domainname 'meineDomain'

              Beachten Sie jedoch, dass der klassische darkstar.frop.org den  Rechnernamen  »darkstar«  und  den
              DNS-Domainnamen  (Internet  Domain  Name Server) »frop.org« hat, der nicht mit den Domainnamen von
              NIS (Network Information Service) oder YP (Gelbe Seiten) verwechselt  werden  darf.  Diese  beiden
              Domainnamen  sind  in  der  Regel anders. Für eine ausführliche Diskussion siehe die Handbuchseite
              hostname(1).

       /proc/sys/kernel/hotplug
              Diese Datei enthält den Pfadnamen für das Programm zur  Umsetzung  der  »Hotplug«-Richtlinie.  Der
              Standardwert in dieser Datei ist /sbin/hotplug.

       /proc/sys/kernel/htab-reclaim (vor Linux 2.4.9.2)
              (nur  PowerPC)  Wenn diese Datei auf einen Wert ungleich Null gesetzt ist, wird die »PowerPC htab«
              (siehe Kernel-Datei Documentation/powerpc/ppc_htab.txt)  jedesmal  »zurückgeschnitten«,  wenn  das
              System in den Leerlauf geht.

       /proc/sys/kernel/keys/*
              Dieses   Verzeichnis  enthält  verschiedene  Dateien,  die  Parameter  und  Begrenzungen  für  die
              Schlüsselverwaltungseinrichtung definieren. Diese Dateien werden in keyrings(7) beschrieben.

       /proc/sys/kernel/kptr_restrict (seit Linux 2.6.38)
              Der Wert in dieser Datei bestimmt, ob die Kerneladressen mittels  Dateien  in  /proc  und  anderen
              Schnittstellen offengelegt werden. Ein Wert von 0 in dieser Datei führt zu keinen Einschränkungen.
              Falls der Wert 1 ist, werden alle Kernelzeiger, die mittels des Formatkennzeichners %pK ausgegeben
              werden,  durch  Nullen  ersetzt, es sei denn, der Benutzer verfügt über die Capability CAP_SYSLOG.
              Falls der Wert 2 ist, werden Kernelzeiger, die  mittels  des  Formatkennzeichners  %pK  ausgegeben
              werden,  durch  Nullen  ersetzt,  unabhängig  von  den Capabilitys der Benutzer. Der ursprüngliche
              Vorgabewert dieser Datei war 1, aber die Vorgabe wurde in Linux 2.6.39 auf 0 geändert. Seit  Linux
              3.4 können nur Benutzer mit der Capability CAP_SYS_ADMIN den Wert in dieser Datei ändern.

       /proc/sys/kernel/l2cr
              (nur  PowerPC) Diese Datei enthält einen Schalter für die Steuerung des L2-Caches von Platinen mit
              dem G3-Prozessor. Der Wert 0 deaktiviert den Cache, ein Wert ungleich null aktiviert ihn.

       /proc/sys/kernel/modprobe
              Diese Datei enthält  den  Pfadnamen  zum  Programm,  das  die  Kernel-Module  lädt,  standardmäßig
              /sbin/modprobe.  Diese Datei existiert nur, falls die Kernel-Option CONFIG_MODULES (CONFIG_KMOD in
              Linux  2.6.26  und   älter)   aktiviert   ist.   Diese   wird   in   der   Linux-Kernel-Quelldatei
              Documentation/kmod.txt beschrieben (nur in Linux 2.4 und älter vorhanden).

       /proc/sys/kernel/modules_disabled (seit Linux 2.6.31)
              Ein  Umschaltwert,  der  angibt,  ob  Module  in einen andernfalls modularen Kernel geladen werden
              dürfen. Dieser Umschaltwert ist standardmäßig aus (0),  kann  aber  auf  wahr  (true,  1)  gesetzt
              werden.  Sobald er wahr ist, können Module weder geladen noch entladen werden und der Umschaltwert
              kann nicht zurück auf falsch gesetzt werden. Diese Datei ist nur vorhanden, falls der  Kernel  mit
              der aktivierten Option CONFIG_MODULES gebaut wurde.

       /proc/sys/kernel/msgmax (seit Linux 2.2)
              Diese  Datei  enthält  eine  systemweite  Begrenzung  der Maximalzahl von Bytes, die eine einzelne
              Nachricht in einer System-V-Nachrichtenschlange enthalten darf.

       /proc/sys/kernel/msgmni (seit Linux 2.4)
              Diese Datei legt die systemweite Grenze für die Anzahl der  Nachrichtenschlangen-Bezeichner  fest.
              Siehe auch /proc/sys/kernel/auto_msgmni.

       /proc/sys/kernel/msgmnb (seit Linux 2.2)
              Diese  Datei  definiert  einen  systemweiten  Parameter  für  die  Initialisierung der Einstellung
              msg_qbytes für nachfolgend erstellte Nachrichtenschlangen. msg_qbytes legt fest, wie  viele  Bytes
              maximal in eine Nachrichtenschlange geschrieben werden dürfen.

       /proc/sys/kernel/ngroups_max (seit Linux 2.6.4)
              Dies  ist  eine nur lesbare Datei, die die obere Grenze für die Anzahl der Gruppenmitgliedschaften
              eines Prozesses anzeigt.

       /proc/sys/kernel/ns_last_pid (seit Linux 3.3)
              Siehe pid_namespaces(7).

       /proc/sys/kernel/ostype und /proc/sys/kernel/osrelease
              Diese Dateien enthalten Teilzeichenketten von /proc/version.

       /proc/sys/kernel/overflowgid und /proc/sys/kernel/overflowuid
              Diese Dateien duplizieren die Dateien /proc/sys/fs/overflowgid und /proc/sys/fs/overflowuid.

       /proc/sys/kernel/panic
              Diese Datei ermöglicht Lese- und Schreib-Zugriff auf die Kernel-Variable panic_timeout. Steht hier
              eine 0, dann bleibt der Kernel in einer Panic-Schleife; ungleich 0 bedeutet, dass der Kernel  nach
              dieser   Anzahl   Sekunden   automatisch   das   System  wieder  hochfahren  soll.  Wenn  Sie  die
              Laufzeitüberwachungs-Gerätetreiber (software watchdog device driver) nutzen,  ist  der  empfohlene
              Wert 60.

       /proc/sys/kernel/panic_on_oops (seit Linux 2.5.68)
              Diese Datei steuert das Verhalten des Kernels, wenn ein Problem (oops) oder ein Fehler aufgetreten
              ist.  Falls  diese  Datei  den  Wert 0 enthält, versucht das System eine Fortsetzung des Betriebs.
              Falls sie 1 enthält, gibt das System klogd ein paar Sekunden  Zeit  für  die  Protokollierung  des
              Problems  und  verfällt  dann  in die »kernel panic«. Wenn in der Datei /proc/sys/kernel/panic ein
              Wert ungleich Null steht, wird der Rechner neu gestartet.

       /proc/sys/kernel/pid_max (seit Linux 2.5.34)
              Diese Datei gibt den Wert an, an dem PIDs überlaufen (d.h. der Wert in dieser Datei  ist  um  eins
              größer  als die maximal zulässige PID). PIDs größer als dieser Wert werden nicht zugewiesen; daher
              fungiert der Wert in dieser Datei auch als systemweite Grenze der Gesamtanzahl  an  Prozessen  und
              Threads.  Der  Standardwert für diese Datei ist 32768; dieser bewirkt den gleichen PID-Bereich wie
              auf älteren Kerneln. Auf 32-Bit-Plattformen ist 32768 der Maximalwert.  Auf  64-Bit-Systemen  kann
              pid_max  auf  einen  beliebigen  Wert  bis  zu  2^22 (PID_MAX_LIMIT, ungefähr 4 Millionen) gesetzt
              werden.

       /proc/sys/kernel/powersave-nap (nur PowerPC)
              Diese Datei enthält einen Schalter zur Steuerung von Linux-PPC. Ist er  betätigt,  wird  Linux-PPC
              den »nap«-Energiesparmodus verwenden, ansonsten wird es der »doze«-Modus sein.

       /proc/sys/kernel/printk
              siehe syslog(2)

       /proc/sys/kernel/pty (seit Linux 2.6.4)
              Dieses  Verzeichnis  enthält  zwei Dateien mit Bezug zu den Unix-98-Pseudoterminals (siehe pts(4))
              des Systems.

       /proc/sys/kernel/pty/max
              Diese Datei definiert die Maximalzahl von Pseudoterminals.

       /proc/sys/kernel/pty/nr
              Diese (nur lesbare) Datei gibt die Anzahl der derzeit im System genutzten Pseudoterminals an

       /proc/sys/kernel/random
              Dieses Verzeichnis enthält verschiedene Parameter, um  das  Verhalten  der  Datei  /dev/random  zu
              steuern. random(4) gibt weitere Informationen.

       /proc/sys/kernel/random/uuid (seit Linux 2.4)
              Jeder  Lesevorgang  aus dieser nur lesbaren Datei liefert eine zufällig generierte 128-Bit UID als
              Zeichenkette, die im Standard-UID-Format ist, zurück.

       /proc/sys/kernel/randomize_va_space (seit Linux 2.6.12)
              Wählt die Adressraumlayoutverwürfelungsregelungen (ASLR) für das System  aus  (auf  Architekturen,
              die ASLR unterstützen). Für diese Datei werden drei Werte unterstützt:

              0      Schaltet  ASLR aus. Dies ist die Vorgabe für Architekturen, die ASLR nicht unterstützen und
                     wenn der Kernel mit dem Parameter norandmaps gestartet wird.

              1      Macht die Zuweisung von Adressen durch mmap(2), den  Stack  und  die  VDSO-Seite  zufällig.
                     Unter  anderem  bedeutet  dies, dass dynamische Bibliotheken an zufälligen Adressen geladen
                     werden. Das Textsegment von PIE-gelinkten  Programmen  wird  auch  an  zufälligen  Adressen
                     geladen.  Dieser  Wert ist die Vorgabe, falls der Kernel mit CONFIG_COMPAT_BRK konfiguriert
                     wurde.

              2      (Seit Linux 2.6.25)  Speicherverwürfelung  wird  auch  unterstützt.  Dieser  Wert  ist  die
                     Vorgabe, falls der Kernel nicht mit CONFIG_COMPAT_BRK konfiguriert wurde.

       /proc/sys/kernel/real-root-dev
              Diese   Datei  wird  in  der  Linux-Kernel-Quelldatei  Documentation/admin-guide/initrd.rst  (oder
              Documentation/initrd.txt vor Linux 4.10) beschrieben.

       /proc/sys/kernel/reboot-cmd (nur Sparc)
              Diese Datei scheint eine Möglichkeit zu sein, ein Argument an  den  SPARC-ROM/Flash-Bootloader  zu
              übergeben. Vielleicht kann man ihm Anweisungen für die Zeit nach dem Neustart geben?

       /proc/sys/kernel/rtsig-max
              (Nur  in  Linux  bis einschließlich 2.6.7; siehe setrlimit(2)). Mit dieser Datei kann die maximale
              Anzahl (anstehender) von  POSIX-Echtzeit-Signalen  eingestellt  werden,  die  im  System  anstehen
              dürfen.

       /proc/sys/kernel/rtsig-nr
              (Nur  in  Linux  bis  einschließlich  2.6.7).  Diese  Datei  gibt  die  Anzahl derzeit anstehender
              POSIX-Echtzeitsignale an.

       /proc/PID/sched_autogroup_enabled (seit Linux 2.6.38)
              siehe sched(7)

       /proc/sys/kernel/sched_child_runs_first (seit Linux 2.6.23)
              Falls diese Datei den Wert Null enthält, dann wird der Elternprozess zuerst nach einem fork(2) auf
              der CPU eingeplant.  Andernfalls  wird  das  Kind  zuerst  auf  der  CPU  eingeplant.  (Auf  einem
              Mehrprozessorsystem  können  natürlich sowohl der Elternprozess als auch das Kind sofort auf einer
              CPU eingeplant werden.)

       /proc/sys/kernel/sched_rr_timeslice_ms (seit Linux 3.9)
              Siehe sched_rr_get_interval(2).

       /proc/sys/kernel/sched_rt_period_us (seit Linux 2.6.25)
              siehe sched(7)

       /proc/sys/kernel/sched_rt_runtime_us (seit Linux 2.6.25)
              siehe sched(7)

       /proc/sys/kernel/seccomp (seit Linux 4.14)
              Dieses Verzeichnis stellt zusätzliche Seccomp-Informationen  und  -konfigurationen  bereit.  Siehe
              seccomp(2) für weitere Details.

       /proc/sys/kernel/sem (since Linux 2.4)
              Diese Datei enthält vier Zahlen, die Grenzen für System-V-IPC-Semaphore definieren. Der Reihe nach
              sind das:

              SEMMSL die maximale Anzahl von Semaphoren pro Satz von Semaphoren

              SEMMNS eine systemweite Begrenzung für die Anzahl in allen Semaphoren-Sätzen

              SEMOPM die  maximale  Anzahl  von  Operationen, die in einem Aufruf von semop(2) festgelegt werden
                     dürfen

              SEMMNI eine systemweite Grenze für die maximale Anzahl von Bezeichnern für Semaphore.

       /proc/sys/kernel/sg-big-buff
              Diese Datei gibt die Größe der generischen Puffer für SCSI-Geräte an. Sie können den Wert  derzeit
              nicht optimieren, aber bei der Kompilierung ändern, indem Sie include/scsi/sg.h bearbeiten und den
              Wert SG_BIG_BUFF anpassen. Es sollte aber keinen Grund geben, diesen Wert zu ändern.

       /proc/sys/kernel/shm_rmid_forced (seit Linux 3.1)
              Falls  diese  Datei  auf 1 gesetzt wird, werden alle gemeinsam benutzten System-V-Speichersegmente
              für die Zerstörung, sobald die Anzahl der angehängten  Prozesse  auf  Null  fällt,  markiert.  Mit
              anderen Worten, es ist nicht mehr möglich, dass gemeinsam benutzte Speichersegmente unabhängig von
              angehängten Prozessen existieren.

              Der  Effekt  ist,  als  ob  shmctl(2)  IPC_RMID auf alle bestehenden und alle zukünftig erstellten
              Segmente angewandt würde (bis diese Datei auf 0 zurückgesetzt wird). Beachten Sie, dass bestehende
              Segmente, die an keinen Prozess angehängt sind, sofort  beim  Setzen  der  Datei  auf  1  zerstört
              werden.  Setzen  dieser  Option  wird  auch  Segmente  zerstören,  die zwar erstellt, aber niemals
              angehängt wurden, sobald der Prozess, der das Segment mit shmget(2) erstellte, beendet wird.

              Wird diese Datei auf 1 gesetzt, ist es möglich, sicherzustellen,  dass  alle  gemeinsam  benutzten
              System-V-Speichersegmente  beim  Ressourcenverbrauch und den Ressourcenbegrenzungen bei mindestens
              einem Prozess berücksichtigt werden (siehe die Beschreibung von RLIMIT_AS in getrlimit(2)).

              Da durch Setzen der Datei auf 1 ein nicht standardisiertes Verhalten hervorgerufen wird  und  auch
              bestehende  Anwendungen  dadurch beschädigt werden könnten, ist der Vorgabewert in dieser Datei 0.
              Setzen Sie diese Datei nur auf 1, wenn Sie ein gutes Verständnis der Semantik der Anwendungen, die
              gemeinsam benutzte System-V-Speichersegmente auf Ihrem System benutzen, haben.

       /proc/sys/kernel/shmall (seit Linux 2.2)
              Diese Datei enthält die systemweite Grenze für die Gesamtzahl der Seiten  im  gemeinsam  benutzten
              System-V-Speicher.

       /proc/sys/kernel/shmmax (seit Linux 2.2)
              Diese Datei kann genutzt werden, um die Laufzeitbeschränkung für die maximale Größe (System V IPC)
              für  gemeinsame  Speichersegmente  festzulegen. Jetzt werden im Kernel gemeinsame Speichersegmente
              bis zu 1 GB unterstützt. Dieser Wert ist per Vorgabe SHMMAX.

       /proc/sys/kernel/shmmni (seit Linux 2.4)
              Diese   Datei   spezifiziert   die   systemweite   maximale   Anzahl   von   gemeinsam   genutzten
              System-V-Speichersegmenten, die erzeugt werden können.

       /proc/sys/kernel/sysctl_writes_strict (seit Linux 3.16)
              Der  Wert  in  dieser  Datei  bestimmt,  wie der Dateiversatz das Verhalten der Aktualisierung von
              Einträgen in Dateien unter /proc/sys beeinflusst. Die Datei hat drei mögliche Werte:

              -1  Dies stellt das veraltete Verhalten bereit, ohne Printk-Warnungen.  Jeder  write(2)  muss  den
                  kompletten  zu  schreibenden  Wert  enthalten  und  mehrere  Schreibvorgänge  auf den gleichen
                  Dateideskriptor werden unabhängig von der Dateiposition den gesamten Wert überschreiben.

              0   (Vorgabe) Dies stellt das gleiche Verhalten wie bei -1 bereit,  aber  Printk-Warnungen  werden
                  für Prozesse geschrieben, die Schreibzugriffe ausführen, wenn der Dateiversatz nicht 0 ist.

              1   Respektiert den Dateiversatz beim Schreiben von Zeichenketten in Dateien in /proc/sys. Mehrere
                  Schreibvorgänge  werden  an den Wertepuffer anhängen. Alles, was hinter die maximale Länge des
                  Puffers geschrieben wird, wird ignoriert. Schreibvorgänge an numerische Einträge in  /proc/sys
                  müssen  immer  bei  Dateiversatz  0  erfolgen  und  der  Wert muss komplett in dem an write(2)
                  bereitgestellten Puffer enthalten sein.

       /proc/sys/kernel/sysrq
              Diese Datei steuert, welche Funktionen von dem SysRq-Schlüssel  aufgerufen  werden.  Standardmäßig
              enthält  die  Datei  den  Wert  1. Das bedeutet, dass jede mögliche SysRq-Anfrage möglich ist. (In
              älteren Kernel-Versionen wurde SysRq standardmäßig deaktiviert und Sie mussten SysRq gesondert zur
              Laufzeit aktivieren, aber das ist nicht mehr notwendig). Mögliche Werte in dieser Datei sind:

              0    deaktiviert Sysrq komplett

              1    aktiviert alle Funktionen von Sysrq

              > 1  Bitmaske, die Sysrq-Funktione erlaubt, wie folgt:
                     2  aktiviert die Steuerung der Konsolenprotokollierungsstufe
                     4  aktiviert die Steuerung der Tastatur (SAK, unraw)
                     8  aktiviert Speicherauszüge von Prozessen zur Fehlersuche usw.
                    16  aktiviert den Befehl »sync«
                    32  aktiviert das nur lesende erneute Einhängen
                    64  aktiviert das Signalisieren von Prozessen (term, kill, oom-kill)
                   128  erlaubt Neustarten/Ausschalten
                   256  Erlaubt die Veränderungen des Nice-Werts von Echtzeitprozessen

              Diese Datei ist nur vorhanden, wenn die Kernel-Konfigurationsoption  CONFIG_MAGIC_SYSRQ  aktiviert
              wird.     Für     weitere     Einzelheiten     lesen     Sie    die    Linux-Kernel-Quelltextdatei
              Documentation/admin-guide/sysrq.rst (oder Documentation/sysrq.txt vor Linux 4.10).

       /proc/sys/kernel/version
              Diese Datei enthält eine Zeichenkette wie beispielsweise:

                  #5 Wed Feb 25 21:49:24 MET 1998

              Die »#5« besagt, das dies der fünfte aus diesem Quelltext erstellte Kernel ist. Das  anschließende
              Datum gibt an, wann der Kernel erstellt wurde.

       /proc/sys/kernel/threads-max (seit Linux 2.3.11)
              Diese  Datei  legt  die systemweite Begrenzung für die Gesamtzahl der Threads (Prozesse) fest, die
              erstellt werden dürfen.

              Seit Linux 4.1 ist  der  Wert,  den  nach  threads-max  geschrieben  werden  kann,  begrenzt.  Der
              Minimalwert  ist 20, der Maximalwert wird durch die Konstante FUTEX_TID_MASK (0x3fffffff) gegeben.
              Falls ein Wert außerhalb dieses Bereichs nach  threads-max  geschrieben  wird,  tritt  der  Fehler
              EINVAL auf.

              Der geschriebene Wert wird gegenüber den verfügbaren RAM-Seiten geprüft. Falls die Thread-Struktur
              zu  viel  (mehr  als  1/8) der verfügbaren RAM-Seiten belegen würde, wird threads-max entsprechend
              reduziert.

       /proc/sys/kernel/yama/ptrace_scope (seit Linux 3.5)
              siehe ptrace(2).

       /proc/sys/kernel/zero-paged (nur PowerPC)
              Die Datei enthält einen Schalter. Ist er aktiviert (ungleich 0), wird Linux-PPC vorbeugend  Seiten
              im Leerlauf auf Null setzen und beschleunigt möglicherweise get_free_pages.

       /proc/sys/net
              Dieses  Verzeichnis enthält Netzwerkkram. Erklärungen für einige der Dateien in diesem Verzeichnis
              finden Sie in tcp(7) und ip(7).

       /proc/sys/net/core/bpf_jit_enable
              siehe bpf(2).

       /proc/sys/net/core/somaxconn
              Diese Datei  enthält  eine  obere  Grenze  für  das  backlog-Argument  von  listen(2);  siehe  die
              Handbuchseite von listen(2) für Einzelheiten.

       /proc/sys/proc
              Dieses Verzeichnis kann leer sein.

       /proc/sys/sunrpc
              Dieses  Verzeichnis  unterstützt Suns »remote procedure call« (rpc(3)) für das Netzwerkdateisystem
              (NFS). Auf manchen Systemen fehlt es.

       /proc/sys/user (seit Linux 4.9)
              Siehe namespaces(7).

       /proc/sys/vm
              Dieses Verzeichnis enthält Dateien für die Optimierung der Speicherverwaltung und  die  Verwaltung
              der Puffer und Caches (Zwischenspeicher).

       /proc/sys/vm/admin_reserve_kbytes (seit Linux 3.10)
              Diese  Datei  definiert die Menge an freiem Speicher (in KiB) auf dem System, der für Benutzer mit
              der Capability CAP_SYS_ADMIN reserviert werden sollte.

              Die Vorgabe für diesen Wert ist der kleinere Wert aus [3% von freien Seiten, 8  MiB],  ausgedrückt
              in  kiB.  Der  Vorgabewert  ist  dazu gedacht, unter dem standardmäßigen Überbuchungs »Rate«-Modus
              (d.h. 0 in /proc/sys/vm/overcommit_memory) genug für die Anmeldung  des  Systemadministrators  zum
              Beenden eines Prozesses, falls notwendig, bereitzustellen.

              Systeme,  die  im »Nichtmals Überbuchen«-Modus« (d.h. 2 in /proc/sys/vm/overcommit_memory) laufen,
              sollten den Wert in dieser Datei vergrößern,um der  vollen  virtuelle  Speichergröße  Rechnung  zu
              tragen,  die  Programme  zur  Wiederherstellung  benötigen  (z.B.  login(1),  ssh(1)  und top(1)).
              Andernfalls ist der Systemadministrator möglicherweise nicht in der Lage, sich anzumelden, um  das
              System  wiederherzustellen.  Auf  x86-64  ist  beispielsweise  131072  (128  MiB  reserviert)  ein
              geeigneter Wert.

              Die Änderung des Wertes in dieser Datei  tritt  in  Kraft,  wann  immer  eine  Anwendung  Speicher
              anfordert.

       /proc/sys/vm/compact_memory (seit Linux 2.6.35)
              Wenn  1  in  diese  Datei  geschrieben  wird, werden alle Zonen zusammengefasst, so dass der freie
              Speicher wo möglich in durchlaufenden Blöcken verfügbar ist. Der Effekt dieser Aktion  kann  durch
              Einsicht in /proc/buddyinfo geprüft werden.

              Nur vorhanden, falls der Kernel mit CONFIG_COMPACTION konfiguriert wurde.

       /proc/sys/vm/drop_caches (seit Linux 2.6.16)
              Das  Schreiben in diese Datei veranlasst den Kernel, saubere Zwischenspeicher, Dentries und Inodes
              aus dem Speicher zu verwerfen, was dazu führt, dass Speicher frei wird. Dies kann für  das  Testen
              der Speicherverwaltung und der Durchführung reproduzierbarer Dateisystembewertungen nützlich sein.
              Da  das  Schreiben  in  diese Datei dazu führt, dass die Vorteile der Zwischenspeicherung verloren
              gehen, kann es die Leistung des gesamten Systems vermindern.

              Zur Freigabe des Seitenzwischenspeichers, verwenden Sie:

                  echo 1 > /proc/sys/vm/drop_caches

              Zur Freigabe der Dentries und Inodes, verwenden Sie:

                  echo 2 > /proc/sys/vm/drop_caches

              Zur Freigabe des Seitenzwischenspeichers, der Dentries und Inodes, verwenden Sie:

                  echo 3 > /proc/sys/vm/drop_caches

              Da das Schreiben  in  diese  Datei  unschädlich  ist  und  geänderte  (schmutzige)  Objekte  nicht
              freigegeben werden können, sollte der Benutzer vorher sync(8) aufrufen.

       /proc/sys/vm/sysctl_hugetlb_shm_group (seit Linux 2.6.7)
              Diese  schreibbare  Datei  enthält die Gruppenkennung, der es erlaubt ist, Speicher mittels großer
              Seiten  zu  belegen.  Falls  ein  Prozess  über  eine  Dateisystemgruppenkennung  oder  irgendeine
              zusätzliche  Gruppenkennung,  die  auf  diese  Gruppenkennung  passt,  verfügt, dann kann er große
              Speicherseiten belegen, ohne die Capability CAP_IPC_LOCK zu halten; siehe memfd_create(2), mmap(2)
              und shmget(2).

       /proc/sys/vm/legacy_va_layout (seit Linux 2.6.9)
              Wenn ungleich Null, deaktiviert dies das neue 32-Bit-Layout für das »Memory Mapping«,  der  Kernel
              wird das alte (2.4) Layout für alle Prozesse anwenden.

       /proc/sys/vm/memory_failure_early_kill (seit Linux 2.6.32)
              Steuert, wie Prozesse beendet werden, wenn ein nicht korrigierter Speicherfehler (in der Regel ein
              2-Bit-Fehler  in  einem Speichermodul), den der Kernel nicht bearbeiten kann, im Hintergrund durch
              die Hardware erkannt wird. In einigen Fällen (wenn es von der Seite noch eine  gültige  Kopie  auf
              der   Festplatte   gibt),  wird  der  Kernel  den  Fehler  behandeln,  ohne  alle  Anwendungen  zu
              beeinträchtigen. Aber wenn es keine weitere aktuelle  Kopie  der  Daten  gibt,  wird  er  Prozesse
              abbrechen, um die Verbreitung korrumpierter Daten zu unterbinden.

              Die Datei hat einen der folgenden Werte:

              1      Bricht  alle  Prozesse ab, in deren Speicher die beschädigte und nicht erneut ladbare Seite
                     gemappt ist, sobald die Beschädigung erkannt wird. Beachten Sie, dass dies nicht für einige
                     spezielle    Seitentypen    wie    Kernel-intern     zugewiesene     Daten     oder     den
                     Auslagerungszwischenspeicher  unterstützt  wird,  es funktioniert aber für die Mehrheit der
                     Anwenderseiten.

              0      Die beschädigte Seite aus allen Prozesse ausmappen und einen Prozess nur  töten,  falls  er
                     versucht, auf die Seite zuzugreifen.

              Der  Abbruch  wird  mittels  eines  SIGBUS-Signals erledigt, bei dem der si_code auf BUS_MCEERR_AO
              gesetzt wird. Prozesse können darauf reagieren, wenn sie wollen; siehe  sigaction(2)  für  weitere
              Einzelheiten.

              Diese  Funktionalität  ist  nur  auf  Architekturen/Plattformen  aktiv,  die über eine ausgefeilte
              Handhabung von »machine checks« verfügen und hängt von den Fähigkeiten der Hardware ab.

              Anwendungen   können   die   Einstellung    memory_failure_early_kill    individuell    mit    der
              prctl(2)-Operation  PR_MCE_KILL außer Kraft setzen.

              Nur vorhanden, falls der Kernel mit CONFIG_MEMORY_FAILURE konfiguriert wurde.

       /proc/sys/vm/memory_failure_recovery (seit Linux 2.6.32)
              Aktiviert die Behebung von Speicherfehlern (wenn das von der Plattform unterstützt wird).

              1      Fehlerbehebung versuchen.

              0      Bei Speicherfehlern immer eine Kernel Panic auslösen.

              Nur vorhanden, falls der Kernel mit CONFIG_MEMORY_FAILURE konfiguriert wurde.

       /proc/sys/vm/oom_dump_tasks (seit Linux 2.6.25)
              Ermöglicht  einen  systemweiten Speicherauszug der Prozesse (ohne Kernel-Threads), wenn der Kernel
              bei Speicherknappheit Prozesse abbricht (OOM-Killer). Der  Speicherauszug  enthält  die  folgenden
              Informationen   für  jeden  Prozess  (Thread,  Prozess):  Thread-Kennung,  reale  Benutzerkennung,
              Thread-Gruppenkennung (Prozesskennung), Größe des virtuellen Speichers, Größe  des  Resident  Set,
              die  CPU,  auf  der  der  Prozess  laufen  soll, die oom_adj-Bewertung (siehe die Beschreibung von
              /proc/PID/oom_adj) und der Name des Befehls. Dies  ist  hilfreich,  um  festzustellen,  warum  der
              OOM-Killer aufgerufen wurde und um die außer Kontrolle geratenen Prozesse zu identifizieren.

              Ist  der  Wert in der Datei Null, wird diese Information unterdrückt. Auf sehr großen Systemen mit
              Tausenden von Prozessen wird es kaum  praktikabel  sein,  für  alle  Prozesse  den  Speicherstatus
              auszugeben.  Solche  Systeme sollten nicht gezwungen werden, bei OOM-Situationen Leistungseinbußen
              zu erleiden, wenn die Informationen nicht gewünscht werden.

              Ist der Wert von Null verschieden,  werden  diese  Informationen  jedesmal  ausgegeben,  wenn  der
              OOM-Killer einen speicherhungrigen Prozess ins Jenseits schickt.

              Der Standardwert ist 0.

       /proc/sys/vm/oom_kill_allocating_task (seit Linux 2.6.24)
              Dies aktiviert oder deaktiviert das Beenden des OOM-auslösenden Prozesses bei Speicherknappheit.

              Ist  der  Wert  null,  wertet der OOM-Killer die gesamte Taskliste aus und wählt heuristisch einen
              Prozess als Opfer aus. Normalerweise wählt er einen speicherhungrigen, außer Kontrolle geratenenen
              Task aus, dessen Tod sehr viel Speicher freigibt.

              Ist der Wert ungleich Null, tötet der OOM-Killer den Prozess, der die Speicherknappheit  auslöste.
              Dadurch wird eine möglicherweise aufwändige Analyse der Taskliste vermieden.

              Falls  /proc/sys/vm/panic_on_oom  von  null  verschieden  ist,  hat  das  Vorrang  vor dem Wert in
              /proc/sys/vm/oom_kill_allocating_task, was auch immer darin steht.

              Der Standardwert ist 0.

       /proc/sys/vm/overcommit_kbytes (seit Linux 3.14)
              Diese beschreibbare Datei stellt eine Alternative zu  /proc/sys/vm/overcommit_ratio  zu  Steuerung
              von  CommitLimit  bereit,  wenn  /proc/sys/vm/overcommit_memory  den Wert 2 hat. Es ermöglicht die
              Menge der Speicherüberbuchung als absoluten Wert (in  kB)  statt  als  Prozentwert,  wie  dies  in
              overcommit_ratio  erfolgt,  festzulegen. Dies ermöglicht granularere Steuerung des CommitLimit auf
              Systemen mit extrem viel Speicher.

              Nur  entweder  overcommit_kbytes  oder   overcommit_ratio   kann   einen   Effekt   haben.   Falls
              overcommit_kbytes  einen  von Null verschiedenen Wert enthält, dann wird dieser zur Berechnung von
              CommitLimit verwandt, andernfalls wird overcommit_ratio verwandt. Wird in eine der beiden  Dateien
              geschrieben, dann wird der Wert in der anderen auf Null gesetzt.

       /proc/sys/vm/overcommit_memory
              Diese Datei legt den Abrechnungsmodus des Kernels für virtuellen Speicher fest. Die Werte sind:

                     0: heuristische Überbuchung (Standardverhalten)
                     1: immer überbuchen, niemals prüfen
                     2: immer prüfen, niemals überbuchen

              In  Modus  0  werden  Aufrufe  von  mmap(2)  mit  MAP_NORESERVE  nicht  überprüft.  Damit  ist die
              Standardprüfung sehr schwach und setzt den Prozess dem Risiko aus, zum Opfer  des  OOM-Killers  zu
              werden.

              In Modus 1 gibt der Kernel immer vor, noch über Speicher zu verfügen, bis der Speicher schließlich
              wirklich  erschöpft  ist.  Ein  Einsatzzweck  stellt  das wissenschaftliche Rechnen dar, bei denen
              große, kaum besetzte  Felder  eingesetzt  werden.  Vor  Linux  2.6.0  impliziert  jeder  von  Null
              verschiedene Wert den Modus 1.

              In  Modus  2  (verfügbar  seit  Linux  2.6)  wird  der  reservierbare gesamte virtuelle Adressraum
              (CommitLimit in /proc/meminfo) wie folgt berechnet:

                  CommitLimit = (total_RAM - total_huge_TLB) *
                             overcommit_ratio / 100 + total_swap

              wobei:

              •  total_RAM ist der gesamte RAM des Systems

              •  total_huge_TLB ist die für große Speicherseiten beiseite gestellte Speichermenge

              •  overcommit_ratio ist der Wert aus /proc/sys/vm/overcommit_ratiototal_swap ist die Menge des Auslagerungsbereichs

              Beispielsweise ergibt diese Formel auf einem System  mit  16  GB  an  physischem  RAM,  16  GB  an
              Auslagerungsspeicher,   keinen   für   große   Speicherseiten   gewidmeten   Bereich   und   einem
              overcommit_ratio von 50 ein CommitLimit von 24 GB.

              Falls der Wert in  /proc/sys/vm/overcommit_kbytes  von  Null  verschieden  ist,  wird  CommitLimit
              stattdessen seit Linux 3.14 wie folgt berechnet:

                  CommitLimit = overcommit_kbytes + total_swap

              Siehe      auch      die      Beschreibung      von      /proc/sys/vm/admin_reserve_kbytes     und
              /proc/sys/vm/user_reserve_kbytes.

       /proc/sys/vm/overcommit_ratio (seit Linux 2.6.0)
              Diese schreibbare Datei definiert einen Prozentwert, zu dem Speicher überbucht  werden  kann.  Der
              Vorgabewert in der Datei ist 50. Siehe die Beschreibung von /proc/sys/vm/overcommit_memory.

       /proc/sys/vm/panic_on_oom (seit Linux 2.6.18)
              Dies aktiviert oder deaktiviert eine Kernel-Panik bei Speicherknappheit.

              Wenn  diese  Datei  auf  den  Wert  0  gesetzt  wird,  wird der OOM-Killer des Kernels einen außer
              Kontrolle geratenen Prozess töten. Normalerweise findet er einen außer Kontrolle geratenen Prozess
              und das System überlebt.

              Wenn diese Datei auf den Wert 1 gesetzt ist, verfällt der Kernel in Panik, wenn  Speicherknappheit
              eintritt.  Wenn  allerdings ein Prozess die Zuweisungen an bestimmte Knoten mit Speicherstrategien
              (mbind(2)   MPOL_BIND)   oder   Cpusets   (cpuset(7))    begrenzt    und    die    Knoten    einen
              Speichererschöpfungs-Zustand  erreichen, kann ein Prozess vom OOM-Killer getötet werden. In diesem
              Fall tritt keine Panik ein: Weil der Speicher anderer Knoten noch frei sein kann, muss das  System
              noch nicht als ganzes unter Speicherknappheit leiden.

              Wenn  diese  Datei  schon  auf  den  Wert  2  gesetzt  ist,  wird bei Speicherknappheit immer eine
              Kernel-Panik ausgelöst.

              Der Standardwert ist 0. 1 und 2 sind für die Ausfallsicherung in Clustern bestimmt. Wählen Sie den
              Wert entsprechend ihrer Strategie oder im Sinn der Ausfallsicherung.

       /proc/sys/vm/swappiness
              Der Wert in dieser Datei legt fest, wie aggressiv der Kernel Speicherseiten auslagert. Hohe  Werte
              machen ihn aggressiver, kleinere Werte sanftmütiger. Der Standardwert ist 60.

       /proc/sys/vm/user_reserve_kbytes (seit Linux 3.10)
              Legt  die  Speichermenge (in kiB) fest, die für Benutzerprozesse zu reservieren ist. Dies ist dazu
              gedacht, einen Benutzer vom Starten eines einzelnen, speicherfressenden Prozesses  abzuhalten,  so
              dass  er  sich  nicht  von dem Speicherfresser erholen kann (ihn beenden kann). Der Wert in dieser
              Datei hat nur eine Auswirkung, wenn /proc/sys/vm/overcommit_memory auf  2  gesetzt  ist  (»niemals
              Überbuchen«-Modus). In diesem Fall reserviert das System eine Speichermenge, die der kleinere Wert
              aus [3% der aktuellen Prozessgröße, user_reserve_kbytes] ist.

              Der  Vorgabewert  in  dieser  Datei  ist  der  kleinere  Wert aus [3% der freien Seiten, 128 MiB],
              ausgedrückt in kiB.

              Falls der Wert in dieser Datei auf Null gesetzt wird, darf ein Benutzer sämtlichen Speicher  durch
              einen   einzelnen   Prozess   belegen   (abzüglich   der  durch  /proc/sys/vm/admin_reserve_kbytes
              reservierten Menge). Alle nachfolgenden Versuche, einen Befehl auszuführen, führen dann zu  »fork:
              Cannot allocate memory«.

              Die  Änderung  des  Wertes  in  dieser  Datei  tritt  in Kraft, wann immer eine Anwendung Speicher
              anfordert.

       /proc/sys/vm/unprivileged_userfaultfd (seit Linux 5.2)
              Diese (schreibbare) Datei  legt  einen  Schalter  offen,  der  steuert,  ob  nicht  privilegierten
              Prozessen  erlaubt  wird,  userfaultfd(2)  einzusetzen. Falls diese Datei den Wert 1 enthält, dann
              dürfen nicht privilegierte Prozesse  userfaultfd(2)  verwenden.  Falls  diese  Datei  den  Wert  0
              enthält, dann dürfen nur Prozesse, die über die Capability CAP_SYS_PTRACE verfügen, userfaultfd(2)
              einsetzen. Der Vorgabewert in dieser Datei ist 1.

       /proc/sysrq-trigger (seit Linux 2.4.21)
              Wird  ein  Zeichen  in  diese  Datei  geschrieben, löst das die gleiche SysRq-Funktion aus wie die
              Eingabe von ALT-SysRq-<Zeichen> (siehe die Beschreibung von /proc/sys/kernel/sysrq). Normalerweise
              kann   nur   root   in   diese   Datei    schreiben.    Weitere    Informationen    enthält    die
              Linux-Kernel-Quelltextdatei  Documentation/admin-guide/sysrq.rst (oder Documentation/sysrq.txt vor
              Linux 4.10).

       /proc/sysvipc
              Dieses Unterverzeichnis enthält die Pseudodateien msg, sem  und  shm.  Diese  Dateien  listen  die
              aktuell  im  System  befindlichen  System-V-IPC-Objekte  (IPC:  Interprozess-Kommunikation),  also
              Nachrichtenschlangen, Semaphore und gemeinsam  genutzter  Speicher  auf.  Sie  enthalten  ähnliche
              Informationen  wie  die, die mit ipcs(1) erhalten werden können. Diese Zeilen haben Kopfzeilen und
              sind zwecks besserer Verständlichkeit formatiert (ein IPC-Objekt  pro  Zeile).  sysvipc(7)  bietet
              weiteren Hintergrund zu den von diesen Dateien bereitgestellten Informationen.

       /proc/thread-self (seit Linux 3.17)
              Dieses Verzeichnis bezieht sich auf den Thread, der auf das /proc-Dateisystem zugreift und ist mit
              dem  /proc/self/task/TID-Verzeichnis  identisch,  das  als  Namen  die Prozess-Thread-Nummer (TID)
              dieses Threads hat.

       /proc/timer_list (seit Linux 2.6.21)
              Diese nur lesbare  Datei  enthält  in  einer  Menschen-lesbaren  Form  eine  Liste  aller  derzeit
              anhängenden (hochauflösenden) Timer, aller Uhrereignis-Quellen und ihrer Parameter.

       /proc/timer_stats (von Linux 2.6.21 bis Linux 4.10)
              Dies  ist  eine Fehlersucheinrichtung, um Timer-(Miss)brauch in einem Linux-System für Kernel- und
              Anwendungsentwickler sichtbar zu machen. Sie kann von Kernel- und  Anwendungsentwicklern  verwandt
              werden,  um zu überprüfen, dass ihr Code keinen ungebührlichen Gebrauch von Timern macht. Das Ziel
              besteht  darin,  unnötige  Aufwachaktionen  zu  vermeiden  und  damit  die  Leistungsaufnahme   zu
              optimieren.

              Falls   im  Kernel  (CONFIG_TIMER_STATS)  aktiviert  aber  nicht  verwandt,  hat  es  fast  keinen
              Laufzeit-Zusatzaufwand und einen relativ kleinen  Datenstruktur-Zusatzaufwand.  Selbst  falls  die
              Datensammlung  zur Laufzeit aktiviert wird, ist der Zusatzaufwand klein: Alle Sperren erfolgen pro
              CPU und das Nachschlagen erfolgt über einen Hash.

              Die Datei  /proc/timer_stats  wird  zum  Steuern  der  Abtast-Einrichtung  und  zum  Auslesen  der
              abgetasteten Informationen verwandt.

              Die  Funktionalität rtimer_stats ist beim Systemstart inaktiv. Eine Abtastperiode kann mittels des
              folgenden Befehls gestartet werden:

                  # echo 1 > /proc/timer_stats

              Der folgende Befehl beendet eine Abtastperiode:

                  # echo 0 > /proc/timer_stats

              Die Statistiken können wie folgt ermittelt werden:

                  $ cat /proc/timer_stats

              Während das  Abtasten  aktiviert  ist,  wird  bei  jedem  Lesen  aus  /proc/timer_stats  eine  neu
              aktualisierte  Statistik  gesehen.  Sobald  das  Abtasten  deaktiviert  ist,  wird die abgetastete
              Information beibehalten, bis eine  neue  Abtastperiode  begonnen  wird.  Dies  erlaubt  mehrfaches
              Auslesen.

              Beispielausgabe aus /proc/timer_stats:

                  $ cat /proc/timer_stats
                  Timer Stats Version: v0.3
                  Sample period: 1.764 s
                  Collection: active
                    255,     0 swapper/3        hrtimer_start_range_ns (tick_sched_timer)
                     71,     0 swapper/1        hrtimer_start_range_ns (tick_sched_timer)
                     58,     0 swapper/0        hrtimer_start_range_ns (tick_sched_timer)
                      4,  1694 gnome-shell      mod_delayed_work_on (delayed_work_timer_fn)
                     17,     7 rcu_sched        rcu_gp_kthread (process_timeout)
                  ...
                      1,  4911 kworker/u16:0    mod_delayed_work_on (delayed_work_timer_fn)
                     1D,  2522 kworker/0:0      queue_delayed_work_on (delayed_work_timer_fn)
                  1029 total events, 583.333 events/sec

              Die Ausgabespalten sind wie folgt:

              [1]  eine  Anzahl  der  Ereignisse,  optional  (seit Linux 2.6.23) gefolgt von dem Buchstaben »D«,
                   falls dies ein aufschiebbarer Timer ist;

              [2]  die PID des Prozesses, die den Timer initialisierte,

              [3]  der Namen des Prozesses, der den Timer initialisierte,

              [4]  die Funktion, in der der Timer initialisiert wurde; und (in Klammern) die  Callback-Funktion,
                   die diesem Timer zugeordnet ist.

              Während  des  Linux-4.11-Entwicklungszyklus  wurde  diese  Datei  aufgrund von Sicherheitsbedenken
              entfernt, da sie Informationen über Namensräume hinweg offenlegt. Desweiteren ist es möglich,  die
              gleichen Informationen über kernelinterne Nachverfolgungseinrichtungen wie Ftrace zu ermitteln.

       /proc/tty
              Unterverzeichnis   mit   Pseudodateien   und   -Unterverzeichnissen   für  tty-Treiber  und  »line
              disciplines«.

       /proc/uptime
              Diese Datei enthält zwei Zahlen (Werte in Sekunden): die Laufzeit des Systems (einschließlich  der
              in Suspendierung verbrachten Zeit) und die Dauer, die im Leerlaufprozess verbracht wurde.

       /proc/version
              Diese   Zeichenkette  identifiziert  den  gerade  laufenden  Kernel.  Er  fasst  die  Inhalte  von
              /proc/sys/kernel/ostype,   /proc/sys/kernel/osrelease   und   /proc/sys/kernel/version   zusammen.
              Beispielsweise:

                  Linux version 1.0.9 (quinlan@phaze) #1 Sat May 14 01:51:54 EDT 1994

       /proc/vmstat (seit Linux 2.6.0)
              Die Datei zeigt verschiedene Statistiken des virtuellen Speichers. Jede Zeile dieser Datei enthält
              ein  einzelnes Name-Wert-Paar, getrennt durch Leerzeichen. Einige Zeilen sind nur vorhanden, falls
              der Kernel mit geeigneten Optionen konfiguriert wurde. (In einigen Fällen haben sich die  Optionen
              für  bestimmte  Dateien  über  Kernelversionen  hinweg geändert, so dass sie hier nicht aufgeführt
              sind. Details können durch Einsicht in den Kernelquellcode gefunden werden.) Die folgenden  Felder
              können vorhanden sein:

              nr_free_pages (seit Linux 2.6.31)

              nr_alloc_batch (seit Linux 3.12)

              nr_inactive_anon (seit Linux 2.6.28)

              nr_active_anon (seit Linux 2.6.28)

              nr_inactive_file (seit Linux 2.6.28)

              nr_active_file (seit Linux 2.6.28)

              nr_unevictable (seit Linux 2.6.28)

              nr_mlock (seit Linux 2.6.28)

              nr_anon_pages (seit Linux 2.6.18)

              nr_mapped (seit Linux 2.6.0)

              nr_file_pages (seit Linux 2.6.18)

              nr_dirty (seit Linux 2.6.0)

              nr_writeback (seit Linux 2.6.0)

              nr_slab_reclaimable (seit Linux 2.6.19)

              nr_slab_unreclaimable (seit Linux 2.6.19)

              nr_page_table_pages (seit Linux 2.6.0)

              nr_kernel_stack (seit Linux 2.6.32)
                     Teil des Speichers, der Kernel-Stacks zugewiesen wurde.

              nr_unstable (seit Linux 2.6.0)

              nr_bounce (seit Linux 2.6.12)

              nr_vmscan_write (seit Linux 2.6.19)

              nr_vmscan_immediate_reclaim (seit Linux 3.2)

              nr_writeback_temp (seit Linux 2.6.26)

              nr_isolated_anon (seit Linux 2.6.32)

              nr_isolated_file (seit Linux 2.6.32)

              nr_shmem (seit Linux 2.6.32)
                     Durch Shmem und tmpfs(5) verwandte Seiten

              nr_dirtied (seit Linux 2.6.37)

              nr_written (seit Linux 2.6.37)

              nr_pages_scanned (seit Linux 3.17)

              numa_hit (seit Linux 2.6.18)

              numa_miss (seit Linux 2.6.18)

              numa_foreign (seit Linux 2.6.18)

              numa_interleave (seit Linux 2.6.18)

              numa_local (seit Linux 2.6.18)

              numa_other (seit Linux 2.6.18)

              workingset_refault (seit Linux 3.15)

              workingset_activate (seit Linux 3.15)

              workingset_nodereclaim (seit Linux 3.15)

              nr_anon_transparent_hugepages (seit Linux 2.6.38)

              nr_free_cma (seit Linux 3.7)
                     Anzahl an freien CMA- (Contiguous Memory Allocator) Seiten.

              nr_dirty_threshold (seit Linux 2.6.37)

              nr_dirty_background_threshold (seit Linux 2.6.37)

              pgpgin (seit Linux 2.6.0)

              pgpgout (seit Linux 2.6.0)

              pswpin (seit Linux 2.6.0)

              pswpout (seit Linux 2.6.0)

              pgalloc_dma (seit Linux 2.6.5)

              pgalloc_dma32 (seit Linux 2.6.16)

              pgalloc_normal (seit Linux 2.6.5)

              pgalloc_high (seit Linux 2.6.5)

              pgalloc_movable (seit Linux 2.6.23)

              pgfree (seit Linux 2.6.0)

              pgactivate (seit Linux 2.6.0)

              pgdeactivate (seit Linux 2.6.0)

              pgfault (seit Linux 2.6.0)

              pgmajfault (seit Linux 2.6.0)

              pgrefill_dma (seit Linux 2.6.5)

              pgrefill_dma32 (seit Linux 2.6.16)

              pgrefill_normal (seit Linux 2.6.5)

              pgrefill_high (seit Linux 2.6.5)

              pgrefill_movable (seit Linux 2.6.23)

              pgsteal_kswapd_dma (seit Linux 3.4)

              pgsteal_kswapd_dma32 (seit Linux 3.4)

              pgsteal_kswapd_normal (seit Linux 3.4)

              pgsteal_kswapd_high (seit Linux 3.4)

              pgsteal_kswapd_movable (seit Linux 3.4)

              pgsteal_direct_dma

              pgsteal_direct_dma32 (seit Linux 3.4)

              pgsteal_direct_normal (seit Linux 3.4)

              pgsteal_direct_high (seit Linux 3.4)

              pgsteal_direct_movable (seit Linux 2.6.23)

              pgscan_kswapd_dma

              pgscan_kswapd_dma32 (seit Linux 2.6.16)

              pgscan_kswapd_normal (seit Linux 2.6.5)

              pgscan_kswapd_high

              pgscan_kswapd_movable (seit Linux 2.6.23)

              pgscan_direct_dma

              pgscan_direct_dma32 (seit Linux 2.6.16)

              pgscan_direct_normal

              pgscan_direct_high

              pgscan_direct_movable (seit Linux 2.6.23)

              pgscan_direct_throttle (seit Linux 3.6)

              zone_reclaim_failed (seit Linux 2.6.31)

              pginodesteal (seit Linux 2.6.0)

              slabs_scanned (seit Linux 2.6.5)

              kswapd_inodesteal (seit Linux 2.6.0)

              kswapd_low_wmark_hit_quickly (seit Linux 2.6.33)

              kswapd_high_wmark_hit_quickly (seit Linux 2.6.33)

              pageoutrun (seit Linux 2.6.0)

              allocstall (seit Linux 2.6.0)

              pgrotated (seit Linux 2.6.0)

              drop_pagecache (seit Linux 3.15)

              drop_slab (seit Linux 3.15)

              numa_pte_updates (seit Linux 3.8)

              numa_huge_pte_updates (seit Linux 3.13)

              numa_hint_faults (seit Linux 3.8)

              numa_hint_faults_local (seit Linux 3.8)

              numa_pages_migrated (seit Linux 3.8)

              pgmigrate_success (seit Linux 3.8)

              pgmigrate_fail (seit Linux 3.8)

              compact_migrate_scanned (seit Linux 3.8)

              compact_free_scanned (seit Linux 3.8)

              compact_isolated (seit Linux 3.8)

              compact_stall (seit Linux 2.6.35)
                     Siehe die Kernel-Quelldatei Documentation/admin-guide/mm/transhuge.rst.

              compact_fail (seit Linux 2.6.35)
                     Siehe die Kernel-Quelldatei Documentation/admin-guide/mm/transhuge.rst.

              compact_success (seit Linux 2.6.35)
                     Siehe die Kernel-Quelldatei Documentation/admin-guide/mm/transhuge.rst.

              htlb_buddy_alloc_success (seit Linux 2.6.26)

              htlb_buddy_alloc_fail (seit Linux 2.6.26)

              unevictable_pgs_culled (seit Linux 2.6.28)

              unevictable_pgs_scanned (seit Linux 2.6.28)

              unevictable_pgs_rescued (seit Linux 2.6.28)

              unevictable_pgs_mlocked (seit Linux 2.6.28)

              unevictable_pgs_munlocked (seit Linux 2.6.28)

              unevictable_pgs_cleared (seit Linux 2.6.28)

              unevictable_pgs_stranded (seit Linux 2.6.28)

              thp_fault_alloc (seit Linux 2.6.39)
                     Siehe die Kernel-Quelldatei Documentation/admin-guide/mm/transhuge.rst.

              thp_fault_fallback (seit Linux 2.6.39)
                     Siehe die Kernel-Quelldatei Documentation/admin-guide/mm/transhuge.rst.

              thp_collapse_alloc (seit Linux 2.6.39)
                     Siehe die Kernel-Quelldatei Documentation/admin-guide/mm/transhuge.rst.

              thp_collapse_alloc_failed (seit Linux 2.6.39)
                     Siehe die Kernel-Quelldatei Documentation/admin-guide/mm/transhuge.rst.

              thp_split (seit Linux 2.6.39)
                     Siehe die Kernel-Quelldatei Documentation/admin-guide/mm/transhuge.rst.

              thp_zero_page_alloc (seit Linux 3.8)
                     Siehe die Kernel-Quelldatei Documentation/admin-guide/mm/transhuge.rst.

              thp_zero_page_alloc_failed (seit Linux 3.8)
                     Siehe die Kernel-Quelldatei Documentation/admin-guide/mm/transhuge.rst.

              balloon_inflate (seit Linux 3.18)

              balloon_deflate (seit Linux 3.18)

              balloon_migrate (seit Linux 3.18)

              nr_tlb_remote_flush (seit Linux 3.12)

              nr_tlb_remote_flush_received (seit Linux 3.12)

              nr_tlb_local_flush_all (seit Linux 3.12)

              nr_tlb_local_flush_one (seit Linux 3.12)

              vmacache_find_calls (seit Linux 3.16)

              vmacache_find_hits (seit Linux 3.16)

              vmacache_full_flushes (seit Linux 3.19)

       /proc/zoneinfo (since Linux 2.6.13)
              Diese  Datei  enthält  Informationen über Speicherbereiche. Sie ist für die Analyse des Verhaltens
              des virtuellen Speichers nützlich.

ANMERKUNGEN

       Viele Dateien enthalten Zeichenketten (z. B. die Umgebung und die Befehlszeile), die im  internen  Format
       dargestellt sind, wobei Unterfelder mit Nullbytes (»\0«) begrenzt werden. Beim Untersuchen dieser Dateien
       werden  Sie  diese  vielleicht  besser lesbar finden, wenn Sie einen Befehl der folgenden Art zur Anzeige
       verwenden:

           $ cat Datei | tr '\000' '\n'

       Diese Handbuchseite ist unvollständig, möglicherweise stellenweise ungenau und ein  Beispiel  für  etwas,
       das ständig überarbeitet werden muss.

SIEHE AUCH

       cat(1),  dmesg(1),  find(1),  free(1),  htop(1),  init(1), ps(1), pstree(1), tr(1), uptime(1), chroot(2),
       mmap(2),  readlink(2),  syslog(2),  slabinfo(5),  sysfs(5),  hier(7),  namespaces(7),  time(7),   arp(8),
       hdparm(8), ifconfig(8), lsmod(8), lspci(8), mount(8), netstat(8), procinfo(8), route(8), sysctl(8)

       Die                     Linux-Kernelquelldateien:                     Documentation/filesystems/proc.rst,
       Documentation/admin-guide/sysctl/fs.rst,                     Documentation/admin-guide/sysctl/kernel.rst,
       Documentation/admin-guide/sysctl/net.rst und Documentation/admin-guide/sysctl/vm.rst.

ÜBERSETZUNG

       Die    deutsche    Übersetzung    dieser    Handbuchseite    wurde    von    Martin    Eberhard   Schauer
       <Martin.E.Schauer@gmx.de>, Dr. Tobias Quathamer  <toddy@debian.org>,  Chris  Leick  <c.leick@vollbio.de>,
       Erik Pfannenstein <debianignatz@gmx.de> und Helge Kreutzmann <debian@helgefjell.de> erstellt.

       Diese  Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
       bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte  eine  E-Mail  an  die
       Mailingliste der Übersetzer.

Linux man-pages 6.03                            10. Februar 2023                                         proc(5)