Provided by: manpages-de_2.5-1_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ängeoptionen
       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 Verzeichnisse /proc/[PID] 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 erhöhten 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.

   Dateien und Verzeichnisse
       Die folgende Liste beschreibt viele der Dateien und Verzeichnisse unter der Hierachie /proc:

       /proc/[PID]
              Für  jeden  laufenden  Prozess  gibt  es  ein  numerisches  Unterverzeichnis,  dessen  Nummer  der
              Prozesskennung (PID) entspricht.

              Jedes   /proc/[pid]-Unterverzeichnis   enthält   die   unten   beschriebenen   Pseudo-Dateien  und
              -Verzeichnisse.  Als  Besitzer  der  Datei  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. Dieses Attribut 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.

              Das »dumpable«-Attribut auf 1 zurückzusetzen ändert auch den Besitzer  der  Dateien  /proc/[PID]/*
              auf die echte UID und GID des Prozesses zurück.

       /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,  this  is  needed to support role/domain transitions, and execve(2)  is the preferred
              point to make such transitions because it offers better control over  the  initialization  of  the
              process  in  the  new  security  label and the inheritance of state. In SELinux, this attribute is
              reset on execve(2)  so that the new program reverts to the  default  behavior  for  any  execve(2)
              calls  that  it  may  make.  In  SELinux,  a  process  can  set only its own /proc/[pid]/attr/exec
              attribute.

       /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 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 gekennzeichnet.

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

       /proc/[PID]/auxv (seit 2.6.0-test7)
              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)
                     Reset the PG_Referenced and ACCESSED/YOUNG bits for all file-mapped pages  associated  with
                     the process.

              Clearing  the PG_Referenced and ACCESSED/YOUNG bits provides a method to measure approximately how
              much memory a process is using. One first inspects the values in the "Referenced" fields  for  the
              VMAs  shown  in  /proc/[pid]/smaps to get an idea of the memory footprint of the process. One then
              clears the PG_Referenced and ACCESSED/YOUNG bits and, after  some  measured  time  interval,  once
              again  inspects  the  values  in  the  "Referenced"  fields to get an idea of the change in memory
              footprint of the process during the measured interval. If one is interested only in inspecting the
              selected mapping types, then the value 2 or 3 can be used instead of 1.

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

              4 (seit Linux 3.11)
                     Clear  the  soft-dirty  bit for all the pages associated with the process. This is used (in
                     conjunction with /proc/[pid]/pagemap)  by the check-point restore system to discover  which
                     pages of a process have been dirtied since the file /proc/[pid]/clear_refs was written to.

              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.

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

       /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; /bin/pwd

              Beachten Sie, dass der Befehl pwd häufig in die Shell eingebaut ist  (shell  built-in)  und  daher
              möglicherweise nicht ordnungsgemäß funktioniert. Mit der bash(1) können Sie pwd -P verwenden.

              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:

                  $ strings /proc/1/environ

              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 des Einhängepunktes 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     A watch descriptor number (in decimal).

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

       /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)
              This subdirectory contains entries corresponding to memory-mapped files (see mmap(2)). Entries are
              named by memory region start and end address pair (expressed  as  hexadecimal  numbers),  and  are
              symbolic  links  to  the  mapped files themselves. Here is an example, with the output wrapped and
              reformatted to fit on an 80-column display:

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

              Although these entries are present for memory regions that were mapped with the MAP_FILE flag, the
              way anonymous shared memory (regions created with the MAP_ANON | MAP_SHARED flags)  is implemented
              in Linux means that such regions also appear on this directory.  Here  is  an  example  where  the
              target file is the deleted /dev/zero one:

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

              Dieses  Verzeichnis erscheint nur, falls die Kernel-Konfigurationsoption CONFIG_CHECKPOINT_RESTORE
              aktiviert ist. Um den Inhalt dieses Verzeichnisses  zu  sehen,  wird  das  Privileg  CAP_SYS_ADMIN
              benötigt.

       /proc/[PID]/maps
              A  file  containing  the currently mapped memory regions and their access permissions. See mmap(2)
              for some further information about memory 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]

              The  address  field is the address space in the process that the mapping occupies. The perms field
              is a set of permissions:

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

              The pathname field will usually be the file that is backing the mapping. For ELF  files,  you  can
              easily  coordinate with the offset field by looking at the Offset field in the ELF program headers
              (readelf -l).

              Es gibt zusätzliche, hilfreiche Pseudo-Pfade:

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

                   [stack:<TID>] (seit Linux 3.4)
                          Der Stack eines Prozesses (wobei die <TID> eine Thread-Kennung ist). Er entspricht dem
                          Pfad /proc/[PID]/task/[TID]/.

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

                   [heap] Der Prozess-Heap.

              If  the pathname field is blank, this is an anonymous mapping as obtained via mmap(2). There is no
              easy way to coordinate this back to a process's  source,  short  of  running  it  through  gdb(1),
              strace(1), or similar.

              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ängepunkte 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:
(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 der Elterneinhängepunkt 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ängepunkte,  die  außerhalb  des  Wurzelverzeichnisses  des  Prozesses  liegen,  nicht in
                   mountinfo angezeigt werden). Als Sonderfall bei diesem Punkt kann der  Wurzeleinhängungspunkt
                   dieses  Prozesses  eine Elterneinhängung (für das Initramfs-Dateisystem) haben, der außerhalb
                   des Wurzelverzeichnisses des Prozesses liegt, und ein Eintrag für diesen  Einhängepunkt  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.

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

              (8)  Trennzeichen: Das Ende der  optionalen  Felder  wird  durch  einen  einzelnen  Gedankenstrich
                   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.

              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     Übertragung    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ängepunkte
              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 [statistics]
                  (       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  den  Wert  anzupassen,  anhand  dessen  Prozesse  bei
              Speichermangel (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  Speichermangel
              deaktiviert.  Ein  positiver Wert erhöht die Wahrscheinlichkeit, dass der Prozess vom »OOM-Killer«
              abgebrochen 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)
              This  file can be used to adjust the badness heuristic used to select which process gets killed in
              out-of-memory conditions.

              The badness heuristic assigns a value to each candidate task ranging from 0 (never kill)  to  1000
              (always  kill)  to  determine  which process is targeted. The units are roughly a proportion along
              that range of allowed memory the process may allocate from, based on an estimation of its  current
              memory and swap use. For example, if a task is using all allowed memory, its badness score will be
              1000. If it is using half of its allowed memory, its score will be 500.

              There is an additional factor included in the badness score: root processes  are  given  3%  extra
              memory over other tasks.

              The amount of "allowed" memory depends on the context in which the OOM-killer was called. If it is
              due to the memory assigned to the allocating task's cpuset being  exhausted,  the  allowed  memory
              represents  the set of mems assigned to that cpuset (see cpuset(7)). If it is due to a mempolicy's
              node(s) being exhausted, the allowed memory represents the set of mempolicy nodes. If it is due to
              a  memory  limit  (or  swap  limit)  being  reached,  the allowed memory is that configured limit.
              Finally, if it is due to the entire system being out of memory, the allowed memory represents  all
              allocatable resources.

              The value of oom_score_adj is added to the badness score before it is used to determine which task
              to kill. Acceptable values range from -1000 (OOM_SCORE_ADJ_MIN) to +1000 (OOM_SCORE_ADJ_MAX). This
              allows  user  space  to  control  the preference for OOM-killing, ranging from always preferring a
              certain task or completely disabling it from OOM killing. The lowest  possible  value,  -1000,  is
              equivalent  to disabling OOM-killing entirely for that task, since it will always report a badness
              score of 0.

              Consequently, it is very simple for user space to define the amount of memory to consider for each
              task.  Setting  an oom_score_adj value of +500, for example, is roughly equivalent to allowing the
              remainder of tasks sharing the same system, cpuset, mempolicy, or memory controller  resources  to
              use  at  least 50% more memory. A value of -500, on the other hand, would be roughly equivalent to
              discounting 50% of the task's allowed memory from being considered as scoring against the task.

              For backward compatibility with previous kernels, /proc/[pid]/oom_adj can still be  used  to  tune
              the badness score. Its value is scaled linearly with 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.

       /proc/[PID]/pagemap (seit Linux 2.6.25)
              This file shows the mapping of each of the process's virtual pages into physical  page  frames  or
              swap area. It contains one 64-bit value for each virtual page, with the bits set as follows:

                   63     Falls gesetzt ist die Seite im RAM

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

                   61 (seit Linux 3.5)
                          The page is a file-mapped page or a shared anonymous page.

                   60-57 (seit Linux 3.11)
                          Null

                   56 (seit Linux 4.2)
                          The page is exclusively mapped.

                   55 (seit Linux 3.11)
                          PTE is soft-dirty (see the kernel source file Documentation/vm/soft-dirty.txt).

                   54-0   If the page is present in RAM (bit 63), then these bits provide the page frame number,
                          which can be used to index /proc/kpageflags  and  /proc/kpagecount.  If  the  page  is
                          present  in  swap (bit 62), then bits 4–0 give the swap type, and bits 54–5 encode the
                          swap offset.

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

              To employ /proc/[pid]/pagemap efficiently, use /proc/[pid]/maps to determine which areas of memory
              are actually mapped and seek to skip over unmapped regions.

              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 Root-Verzeichnis 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ängepunkte 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]/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)
              This  file  shows  memory  consumption  for  each of the process's mappings. (The pmap(1)  command
              displays similar information, in a form that may be easier for parsing.) For each mapping there is
              a series of lines such as the following:

                  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

              The  first  of  these  lines  shows  the  same  information  as  is  displayed  for the mapping in
              /proc/[pid]/maps. The following lines show the size of the mapping, the amount of the mapping that
              is  currently  resident  in RAM ("Rss"), the process's proportional share of this mapping ("Pss"),
              the number of clean and dirty shared pages in the mapping, and  the  number  of  clean  and  dirty
              private  pages  in  the  mapping.  "Referenced" indicates the amount of memory currently marked as
              referenced or accessed. "Anonymous" shows the amount of memory that does not belong to  any  file.
              "Swap" shows how much would-be-anonymous memory is also used, but out on swap.

              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.

              The "Locked" indicates whether the mapping is locked in memory or not.

              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.

              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  - shared
                  mr  - könnte lesen
                  mw  - könne schreiben
                  me  - könnte ausführen
                  ms  - may share
                  gd  - stack segment grows down
                  pf  - reiner PFN-Bereich
                  dw  - disabled write to the mapped file
                  lo  - pages are locked in memory
                  io  - memory mapped I/O area
                  sr  - sequential read advise provided
                  rr  - random read advise provided
                  dc  - do not copy area on fork
                  de  - do not expand area on remapping
                  ac  - area is accountable
                  nr  - Auslagerungsbereich ist für den Bereich nicht reserviert
                  ht  - area uses huge tlb pages
                  nl  - non-linear mapping
                  ar  - architecture specific flag
                  dd  - Bereich nicht in den Kernspeicherabzug einschließen
                  sd  - soft-dirty flag
                  mm  - mixed map area
                  hg  - huge page advise flag
                  nh  - no-huge page advise flag
                  mg  - mergeable advise flag

              Die Feld »ProtectionKey« enthält den Speicherschutzschlüssel (siehe pkeys(5)), 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  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)-Formatspezifikator 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. 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 (Linux 2.6.33 to 3.13 only)

                        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
                        The number of minor faults the process has made which have not required loading a memory
                        page from disk.

              (11) cminflt  %lu
                        The number of minor faults that the process's waited-for children have made.

              (12) majflt  %lu
                        The  number  of  major  faults the process has made which have required loading a memory
                        page from disk.

              (13) cmajflt  %lu
                        The number of major faults that the process's waited-for children have made.

              (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 das ist 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.

              (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-Strategie   (siehe   sched_setscheduler(2)).   Dekodieren   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
                   (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)

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

              * 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 lesenden
                Prozesses, 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(3)).

              * 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: Maximalwert der Resident Set Size (»Hochwassermarke«).

              * VmRSS: Resident set size. Beachten Sie, dass dieser Wert die  Summe  aus  RssAnon,  RssFile  und
                RssShmem ist.

              * RssAnon: Größe des residenten anonymen Speichers. (seit Linux 4.5).

              * RssFile: Size of resident file mappings. (since Linux 4.5).

              * RssShmem:  Size  of  resident  shared  memory  (includes  System  V shared memory, mappings from
                tmpfs(5), and shared anonymous mappings). (since Linux 4.5).

              * VmData, VmStk, VmExe: Größe der Daten-, Stack und Text-Segmente.

              * VmLib: Code-Größe von Laufzeitbibliotheken.

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

              * VmPMD: Größe der Page Tables zweiter Stufe (seit Linux 4.0).

              * VmSwap:    ausgelagerte    virtuelle    Speichergröße    durch    anonyme     private     Pages;
                Shmem-Auslagerungsverwendung ist nicht enthalten (seit Linux 2.6.34).

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

              * 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:  Anzahl  der  insgesamt  für  Thread  und  Prozess  anstehenden  Signale (siehe
                pthreads(7) und signal(7)).

              * SigBlk, SigIgn, SigCgt: Masken 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 (siehe capabilities(7)).

              * CapBnd: Capability-Begrenzungsmenge (seit Linux 2.6.26, siehe capabilities(7)).

              * CapAmb: Umgebungs-Capability-Menge (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.

              * Cpus_allowed:  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-test6)
              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.

              This  option  is intended for use by the checkpoint-restore (CRIU) system, and reliably provides a
              list of children only if all of the child processes are  stopped  or  frozen.  It  does  not  work
              properly  if  children  of the target task exit while the file is being read! Exiting children may
              cause non-exiting children to be omitted from the  list.  This  makes  this  interface  even  more
              unreliable than classic PID-based approaches if the inspected task and its children aren't frozen,
              and most code should probably not use this interface.

              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 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)
              This file exposes the process's "current" timer slack value, expressed in nanoseconds. The file is
              writable, allowing the process's timer slack value to be changed. Writing 0 to  this  file  resets
              the  "current"  timer  slack  to  the  "default"  timer  slack value. For further details, see the
              discussion of 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, /proc/[PID]/gid_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/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
              List of the execution domains (ABI personalities).

       /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   hexadezimal
                  smart_values       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-Speicherbelegung 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 Seitenrahmennummer 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)
              This file contains a 64-bit count of the number of times  each  physical  page  frame  is  mapped,
              indexed by page frame number (see the discussion of /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 Seitenrahmen (page frame) entsprechen. Sie
              ist  durch  die  Seitenrahmennummer  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/vm/pagemap.txt.  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 gezeigten Felder in jeder Zeile sind wie folgt:

              (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 Formatfestlegung, 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 Diskblö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)
                     Non-file backed pages mapped into user-space page tables.

              Mapped %lu
                     Files which have been mapped into memory (with mmap(2)), such as libraries.

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

              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)
                     This is the total amount of memory currently available  to  be  allocated  on  the  system,
                     expressed  in  kilobytes.  This limit is adhered to only if strict overcommit accounting is
                     enabled (mode 2 in /proc/sys/vm/overcommit_memory). The limit is  calculated  according  to
                     the  formula  described  under /proc/sys/vm/overcommit_memory. For further details, see the
                     kernel source file Documentation/vm/overcommit-accounting.

              Committed_AS %lu
                     Die derzeit im System belegte Speichermenge. Der gebundene (»commited«)  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) belegt,
                     aber  nur 300 MB davon anrührt, wird mit 300 MB an Speicher angezeigt, selbst wenn er einen
                     Adressraum für das gesamte 1 GB belegt hat.

                     This 1GB is memory which has been "committed" to by the VM and can be used at any  time  by
                     the  allocating  application.  With  strict  overcommit  enabled  on  the system (mode 2 in
                     /proc/sys/vm/overcommit_memory), allocations which would exceed the CommitLimit will not be
                     permitted.  This  is  useful  if one needs to guarantee that processes will not fail due to
                     lack of memory once that memory has been successfully allocated.

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

              VmallocUsed %lu
                     Größe des benutzten Vmalloc-Bereichs.

              VmallocChunk %lu
                     Größter freier zusammenhängender Block im Vmalloc-Bereich.

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

              AnonHugePages %lu (seit Linux 2.6.38)
                     (CONFIG_TRANSPARENT_HUGEPAGE  is  required.)  Non-file  backed  huge  pages   mapped   into
                     user-space page tables.

              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 is required.) Shared memory mapped into user space  with  huge
                     pages.

              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 der Sammlung der großen Speicherseiten.

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

              HugePages_Rsvd %lu (seit Linux 2.6.17)
                     (CONFIG_HUGETLB_PAGE is required.) This is the number of huge pages for which a  commitment
                     to  allocate  from  the  pool  has  been  made,  but no allocation has yet been made. These
                     reserved huge pages guarantee that an application will be able to allocate a huge page from
                     the pool of huge pages at fault time.

              HugePages_Surp %lu (seit Linux 2.6.24)
                     (CONFIG_HUGETLB_PAGE  wird  benötigt.)  Dies ist die Anzahl an großen Speicherseiten in der
                     Sammlung  oberhalb  des  Wertes  in  /proc/sys/vm/nr_hugepages.  Die  maximumel  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)
                     Number of bytes of RAM linearly mapped by kernel in 4kB pages. (x86.)

              DirectMap4M %lu (seit Linux 2.6.27)
                     Number of bytes of RAM linearly mapped by kernel in 4MB pages. (x86 with  CONFIG_X86_64  or
                     CONFIG_X86_PAE enabled.)

              DirectMap2M %lu (seit Linux 2.6.27)
                     Number  of  bytes  of  RAM  linearly  mapped  by  kernel  in  2MB  pages. (x86 with neither
                     CONFIG_X86_64 nor CONFIG_X86_PAE enabled.)

              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ängepunkte  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  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

              Here "IP address" is the IPv4 address of the machine and the "HW type" is the hardware type of the
              address  from  RFC 826.  The  flags  are  the  internal  flags of the ARP structure (as defined in
              /usr/include/linux/if_arp.h) and the "HW address" is the data  link  layer  mapping  for  that  IP
              address if it is known.

       /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  UPD-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 Path
  0: 00000002 00000000 00000000 0001 03
  1: 00000001 00000000 00010000 0001 01 /dev/printer

              Die Bedeutung der Felder im Einzelnen:

              Num:      the kernel table slot number.

              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.

              Path:     Der gebundene Pfad (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-test4)
                            (6) Zeit, die zum Ausliefern von Interrupts verbracht wurde.

                     softirq (seit Linux 2.6.0-test4)
                            (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) Time spent running a niced guest (virtual CPU for guest operating systems under
                            the control of the Linux kernel).

              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 (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 (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  manchmal  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/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  Quota-Einträgen  für   die
              Festplatte.  Auf  einigen  (2.4)-Systemen  ist  sie  nicht  vorhanden.  Wenn die Anzahl der freien
              Festplatten-Quota-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 Disk-Quota-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  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  derzeit offenen Dateien); 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_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:

              *  The  calling process has the CAP_FOWNER capability in its user namespace and the file UID has a
                 mapping in the namespace.

              *  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_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)
              The value in this file is assigned to a process's "dumpable" flag in the  circumstances  described
              in prctl(2). In effect, the value in this file determines whether core dump files are produced for
              set-user-ID or otherwise protected/tainted binaries.  The  "dumpable"  setting  also  affects  the
              ownership of files in a process's /proc/[pid] directory, as described above.

              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.

              For  details  of  the effect of a process's "dumpable" setting on ptrace access mode checking, see
              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  Pfad  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 der Formatspezifikation %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  der  Formatspezifikation  %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  Pfad  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  Laufzeitbibliotheken 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  Allow nicing of all real-time tasks

              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.

              The  default  value  in this file is the minimum of [3% of free pages, 8MiB] expressed as KiB. The
              default is intended to provide enough for  the  superuser  to  log  in  and  kill  a  process,  if
              necessary, under the default overcommit 'guess' mode (i.e., 0 in /proc/sys/vm/overcommit_memory).

              Systems  running  in  "overcommit  never" mode (i.e., 2 in /proc/sys/vm/overcommit_memory)  should
              increase the value in this file to account for the full virtual memory size of the  programs  used
              to  recover  (e.g., login(1)  ssh(1), and top(1))  Otherwise, the superuser may not be able to log
              in to recover the system. For example, on x86-64 a suitable value is 131072 (128MiB reserved).

              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/legacy_va_layout (seit Linux 2.6.9)
              If nonzero, this disables the new 32-bit memory-mapping layout; the kernel  will  use  the  legacy
              (2.4) layout for all processes.

       /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:  Kill all processes that have the corrupted-and-not-reloadable  page  mapped  as  soon  as  the
                  corruption  is  detected.  Note  that  this is not supported for a few types of pages, such as
                  kernel internally allocated data or the swap cache, but works for the majority of user pages.

              0:  Unmap the corrupted page from all processes and kill a process only if it tries to access  the
                  page.

              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-killing). 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 ausgeschickt wurde und um die schurkischen 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 Speicherknappheit 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)
              This enables or disables killing the OOM-triggering task in out-of-memory situations.

              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  Schurken  aus,  dessen  Tod
              sehr viel Speicher freigibt.

              Ist  der  Wert  ungleich  Null,  beseitigt  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)
              This  writable  file  provides an alternative to /proc/sys/vm/overcommit_ratio for controlling the
              CommitLimit when /proc/sys/vm/overcommit_memory has the value 2. It allows the  amount  of  memory
              overcommitting  to  be  specified as an absolute value (in kB), rather than as a percentage, as is
              done with overcommit_ratio. This allows for finer-grained control of CommitLimit on  systems  with
              extremely large memory sizes.

              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: heuristic overcommit (this is the default)
                     1: always overcommit, never check
                     2: always check, never overcommit

              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 mode 1, the kernel pretends there is always enough memory, until memory actually runs out.  One
              use  case  for  this mode is scientific computing applications that employ large sparse arrays. In
              Linux kernel versions before 2.6.0, any nonzero value implies mode 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/admiin_reserve_kbytes      und
              /proc/sys/vm/user_reserve_kbytes.

       /proc/sys/vm/overcommit_ratio (seit Linux 2.6.0)
              This writable file defines a percentage by which memory can be overcommitted. The default value in
              the file is 50. See the description of /proc/sys/vm/overcommit_memory.

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

              Wenn diese Datei auf den Wert 0 gesetzt wird, wird der OOM-Killer des Kernels sich einen  Schurken
              schnappen und liquidieren. Normalerweise findet er ein geeignetes Opfer 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 Speichermangel leiden.

              Wenn diese Datei schon auf den Wert 2 gesetzt ist, wird bei Speicherknappheit  immer  eine  Kernel
              Panic 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)
              Specifies  an amount of memory (in KiB) to reserve for user processes, This is intended to prevent
              a user from starting a single memory hogging process, such that  they  cannot  recover  (kill  the
              hog).  The  value  in this file has an effect only when /proc/sys/vm/overcommit_memory is set to 2
              ("overcommit never" mode). In this case, the system reserves an  amount  of  memory  that  is  the
              minimum of [3% of current process size, user_reserve_kbytes].

              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/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).  svipc(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: die Laufzeit des Systems (in Sekunden)  und  die  Dauer,  die  im
              Leerlaufprozess verbracht wurde (in Sekunden).

       /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 Leerraum. 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)
                     Number of free CMA (Contiguous Memory Allocator) pages.

              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/vm/transhuge.txt.

              compact_fail (seit Linux 2.6.35)
                     Siehe die Kernel-Quelldatei Documentation/vm/transhuge.txt.

              compact_success (seit Linux 2.6.35)
                     Siehe die Kernel-Quelldatei Documentation/vm/transhuge.txt.

              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/vm/transhuge.txt.

              thp_fault_fallback (seit Linux 2.6.39)
                     Siehe die Kernel-Quelldatei Documentation/vm/transhuge.txt.

              thp_collapse_alloc (seit Linux 2.6.39)
                     Siehe die Kernel-Quelldatei Documentation/vm/transhuge.txt.

              thp_collapse_alloc_failed (seit Linux 2.6.39)
                     Siehe die Kernel-Quelldatei Documentation/vm/transhuge.txt.

              thp_split (seit Linux 2.6.39)
                     Siehe die Kernel-Quelldatei Documentation/vm/transhuge.txt.

              thp_zero_page_alloc (seit Linux 3.8)
                     Siehe die Kernel-Quelldatei Documentation/vm/transhuge.txt.

              thp_zero_page_alloc_failed (seit Linux 3.8)
                     Siehe die Kernel-Quelldatei Documentation/vm/transhuge.txt.

              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  nützlich  für  die  Analyse  des
              Verhaltens des virtuellen Speichers.

ANMERKUNGEN

       Viele  Zeichenketten  (z.  B.  die  Umgebung  und  die Befehlszeile) sind im internen Format dargestellt,
       Unterfelder werden mit Null-Bytes ('\0') begrenzt. Sie werden diese vielleicht besser lesbar finden, wenn
       Sie od -c oder tr "\000" "\n" benutzen. Alternativ erhalten Sie mit echo `cat <file>` gute Ergebnisse.

       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), init(1), ps(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  4.15  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 FIXME: Review translationg of "allocate", FIXME:
       Übersetzung von overcommit prüfen und vereinheitlichen, Helge Kreutzmann  <debian@helgefjell.de>,  Martin
       Eberhard  Schauer  <Martin.E.Schauer@gmx.de>,  Dr. Tobias Quathamer <toddy@debian.org>, Pfannenstein Erik
       <debianignatz@gmx.de> und Chris Leick <c.leick@vollbio.de> erstellt.

       Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder  neuer
       bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn  Sie  Fehler  in  der  Übersetzung  dieser  Handbuchseite  finden, schicken Sie bitte eine E-Mail an
       <debian-l10n-german@lists.debian.org>.