Provided by: manpages-de_4.19.0-7_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
                     Kernel-interne 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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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 ⟨debian-l10n-german@lists.debian.org⟩.