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