Provided by: manpages-de_4.15.0-9_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 Task/[TID]. 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 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 Kernel 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 NULL-Bytes ('\0').
              Nach der letzten Zeichenkette folgt noch ein NULL-Byte.

              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   Null-Byte)   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 NULL-Bytes ('\0') getrennt, am  Ende  der  Liste  kann  ebenfalls  ein
              NULL-Byte 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 Kernel 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 Kernel 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   Kernel   Version   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.

              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.txt 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  Kernel-Version  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  Kernel  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…57 (seit Linux 3.11)
                     Null

              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
                  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  - könnte lesen
                  mw  - könne schreiben
                  me  - könnte ausführen
                  ms  - könnte gemeinsam
                  gd  - Stack-Segment wächst abwärts
                  pf  - reiner PFN-Bereich
                  dw  - Schreiben in 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  - Bereich, der beim Fork nicht kopiert werden soll
                  de  - beim neu Mappen Bereich nicht vergrößern
                  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  - nicht-lineares Mapping (in Linux 4.0 entfernt)
                  ar  - architekturabhängiger Schalter
                  wf  - Beim Fork bereinigen (seit Linux 4.14)
                  dd  - Bereich nicht in den Kernspeicherauszug einschließen
                  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  NULL-Bytes)
                     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)

              (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 Kernel 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  Kernel  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
                     Kerneln vor Linux 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  NULL-Bytes)
                     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 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/iostats.txt 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    Kernel     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 Kernel 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  Fundus  der  großen
                     Speicherseiten.

              HugePages_Free %lu
                     (CONFIG_HUGETLB_PAGE wird benötigt.) Die Anzahl der großen Speicherseiten in
                     dem Fundus, 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 Fundus
                     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 Fundus 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    Fundus     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  Kernel  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.txt (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:

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

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

                            3. 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   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« eingeschlossen 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.txt 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 Kernel 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 Kerneln 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 Kerneln 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.  In  Linux-Kernelversionen vor 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_ratio

                   *  total_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 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:

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

              *  die PID des Prozesses, die den Timer initialisierte,

              *  der Namen des Prozesses, der den Timer initialisierte,

              *  die Funktion, in der der Timer initalisiert 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 2.6.33)

              kswapd_high_wmark_hit_quickly (seit 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 NULL-Bytes (›\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.txt,
       Documentation/sysctl/fs.txt, Documentation/sysctl/kernel.txt, Documentation/sysctl/net.txt
       und Documentation/sysctl/vm.txt.

KOLOPHON

       Diese Seite  ist  Teil  der  Veröffentlichung  5.13  des  Projekts  Linux-man-pages.  Eine
       Beschreibung  des  Projekts,  Informationen,  wie  Fehler gemeldet werden können sowie die
       aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.

Ü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⟩.