Provided by: manpages-de_1.11-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. Die meisten Einträge sind nur  lesbar,  einige
       Dateien erlauben aber auch das Verändern der Kernel-Variablen.

   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   Users  may  not  access  files  and  subdirectories  inside   any   /proc/[pid]
                  directories  but  their  own  (the  /proc/[pid]  directories  themselves remain
                  visible). Sensitive files such as  /proc/[pid]/cmdline  and  /proc/[pid]/status
                  are  now  protected  against  other  users.  This  makes it impossible to learn
                  whether any user is running a specific program (so long as the program  doesn't
                  otherwise reveal itself by its behavior).

              2   As  for  mode 1, but in addition the /proc/[pid] directories belonging to other
                  users become invisible. This means that /proc/[pid] entries can  no  longer  be
                  used  to  discover  the  PIDs  on the system. This doesn't hide the fact that a
                  process with a specific PID value exists (it can be learned by other means, for
                  example,  by "kill -0 $PID"), but it hides a process's UID and GID, which could
                  otherwise be learned by employing stat(2)  on  a  /proc/[pid]  directory.  This
                  greatly  complicates  an attacker's task of gathering information about running
                  processes (e.g., discovering whether  some  daemon  is  running  with  elevated
                  privileges,  whether  another  user  is running some sensitive program, whether
                  other users are running any program at all, and so on).

       gid=gid (seit Linux 3.3)
              Specifies the ID  of  a  group  whose  members  are  authorized  to  learn  process
              information  otherwise  prohibited by hidepid (ie/e/, users in this group behave as
              though /proc was mounted with hidepid=0. This  group  should  be  used  instead  of
              approaches such as putting nonroot users into the sudoers(5)  file.

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

       /proc/[PID]
              Für jeden laufenden Prozess gibt es ein numerisches Unterverzeichnis, dessen Nummer
              der Prozesskennung (PID) entspricht. In jedem dieser Unterverzeichnisse gibt es die
              folgenden Pseudo-Dateien und -Verzeichnisse.

       /proc/[PID]/attr
              The files in this directory provide an API for security modules.  The  contents  of
              this   directory  are  files  that  can  be  read  and  written  in  order  to  set
              security-related attributes. This directory was added to support SELinux,  but  the
              intention was that the API be general enough to support other security modules. For
              the purpose of explanation, examples of how SELinux uses these files  are  provided
              below.

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

       /proc/[pid]/attr/current (seit Linux 2.6.0)
              The contents of this file represent the current security attributes of the process.

              In SELinux, this file is used to get the security context of a  process.  Prior  to
              Linux  2.6.11, this file could not be used to set the security context (a write was
              always denied), since SELinux limited process  security  transitions  to  execve(2)
              (see  the description of /proc/[pid]/attr/exec, below). Since Linux 2.6.11, SELinux
              lifted this restriction and began supporting "set" operations via  writes  to  this
              node  if  authorized by policy, although use of this operation is only suitable for
              applications that are trusted to maintain any desired separation  between  the  old
              and  new  security  contexts.  Prior to Linux 2.6.28, SELinux did not allow threads
              within a multi-threaded process to set their security context via this node  as  it
              would yield an inconsistency among the security contexts of the threads sharing the
              same memory space. Since Linux 2.6.28, SELinux lifted this  restriction  and  began
              supporting  "set"  operations for threads within a multithreaded process if the new
              security context is bounded by the old security context, where the bounded relation
              is  defined  in policy and guarantees that the new security context has a subset of
              the permissions of the old security context. Other security modules may  choose  to
              support "set" operations via writes to this node.

       /proc/[pid]/attr/exec (seit Linux 2.6.0)
              This  file  represents  the  attributes  to assign to the process upon a subsequent
              execve(2).

              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)
              This  file represents the attributes to assign to files created by subsequent calls
              to open(2), mkdir(2), symlink(2), and mknod(2)

              SELinux employs this file to support creation of a file (using  the  aforementioned
              system  calls)  in a secure state, so that there is no risk of inappropriate access
              being obtained between the time of creation and the time that attributes  are  set.
              In  SELinux,  this attribute is reset on execve(2), so that the new program reverts
              to the default behavior for any file creation calls it may make, but the  attribute
              will  persist  across  multiple  file  creation calls within a program unless it is
              explicitly   reset.   In   SELinux,   a   process   can   set    only    its    own
              /proc/[pid]/attr/fscreate attribute.

       /proc/[PID]/attr/prev (seit Linux 2.6.0)
              This  file  contains the security context of the process before the last execve(2);
              that is, the previous value of /proc/[pid]/attr/current.

       /proc/[PID]/attr/keycreate (seit Linux 2.6.18)
              If a process writes a security context into this  file,  all  subsequently  created
              keys  (add_key(2))  will be labeled with this context. For further information, see
              the kernel source file Documentation/keys.txt.

       /proc/[PID]/attr/socketcreate (seit Linux 2.6.18)
              If a process writes a security context into this  file,  all  subsequently  created
              sockets will be labeled with this context.

       /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-ID  plus  ein
              unsigned long-Wert für jeden Eintrag. Der letzte Eintrag enthält zwei Nullen. Siehe
              auch getauxval(3).

       /proc/[PID]/cgroup (seit Linux 2.6.24)
              This file describes control groups to which  the  process/task  belongs.  For  each
              cgroup hierarchy there is one entry containing colon-separated fields of the form:

                  5:cpuacct,cpu,cpuset:/daemons

              Die Doppelpunkt-getrennten Felder sind, von links nach rechts:

                  1. ID-Zahl der Hierarchie

                  2. Gruppe der Untersysteme, die an die Hierarchie gebunden sind

                  3. control group in the hierarchy to which the process belongs

              Diese  Datei ist nur vorhanden, wenn die Kernel-Konfigurationsoption CONFIG_CGROUPS
              aktiviert ist.

       /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)
                     Reset the PG_Referenced and ACCESSED/YOUNG bits for all the pages associated
                     with the process. (Before kernel 2.6.32, writing any nonzero value  to  this
                     file had this effect.)

              2 (seit Linux 2.6.32)
                     Reset  the  PG_Referenced  and  ACCESSED/YOUNG  bits for all anonymous pages
                     associated with the process.

              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.

              Ein weiterer Wert kann geschrieben werden, um ein anderes Bit 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.

              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)
              This file exposes the process's comm value—that is,  the  command  name  associated
              with  the  process.  Different  threads in the same process may have different comm
              values, accessible via /proc/[pid]/task/[tid]/comm. A thread may  modify  its  comm
              value,  or that of any of other thread in the same thread group (see the discussion
              of CLONE_THREAD in clone(2)), by writing to  the  file  /proc/self/task/[tid]/comm.
              Strings longer than TASK_COMM_LEN (16) characters are silently truncated.

              This  file  provides  a  superset  of  the  prctl(2)   PR_SET_NAME  and PR_GET_NAME
              operations, and is employed by pthread_setname_np(3)  when used to  rename  threads
              other than the caller.

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

       /proc/[PID]/environ
              Diese  Datei  enthält  die  Prozess-Umgebung.  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

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

              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.

              For  file  descriptors  for  pipes  and sockets, the entries will be symbolic links
              whose content is the file type with the inode. A readlink(2)   call  on  this  file
              returns a string in the format:

                  Typ:[Inode]

              For  example,  socket:[2248868]  will  be  a  socket  and its inode is 2248868. For
              sockets, that inode can be used to find more information in one of the files  under
              /proc/net/.

              For  file  descriptors  that  have  no  corresponding inode (e.g., file descriptors
              produced  by  epoll_create(2),  eventfd(2),   inotify_init(2),   signalfd(2),   and
              timerfd(2)), the entry will be a symbolic link with contents of the form

                  anon_inode:<Dateityp>

              In einigen Fällen wird Dateityp durch eckige Klammern eingeschlossen.

              For  example,  an  epoll file descriptor will have a symbolic link whose content is
              the string anon_inode:[eventpoll].

              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
              /proc/[PID]/fd 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 

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

              Das pos-Feld ist eine Dezimalzahl, die die aktuelle Position  in  der  Datei  (file
              offset)  angibt.  Das  flags-Feld ist eine Oktalzahl, die den Zugriffsmodus und die
              Status-Flags der Datei angibt (siehe open(2)). Das Feld  mnt_id,  seit  Linux  3.15
              vorhanden,  ist  die Kennung des Einhängungspunktes, der diese Datei enthält. Siehe
              die Beschreibung von /proc/[PID]/mountinfo.

              Für den Eventfd-Dateideskriptor (siehe eventfd(2)) gibt es 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 die folgenden Felder:

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

              Each of the lines beginning  tfd  describes  one  of  the  file  descriptors  being
              monitored  via  the epoll file descriptor (see epoll_ctl(2)  for some details). The
              tfd field is the number of the file descriptor. The events field is  a  hexadecimal
              mask  of the events being monitored for this file descriptor. The data field is the
              data value associated with this file descriptor.

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

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

              sigmask is the hexadecimal mask of signals that are accepted via this signalfd file
              descriptor.  (In  this  example, bits 2 and 3 are set, corresponding to the signals
              SIGINT and SIGQUIT; see signal(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)
                     The number of bytes which this task has caused to be read from storage. This
                     is simply the sum of bytes which this process passed to read(2)  and similar
                     system calls. It includes things such as terminal I/O and is  unaffected  by
                     whether  or  not  actual physical disk I/O was required (the read might have
                     been satisfied from pagecache).

              wchar: characters written (geschriebene Zeichen)
                     The number of bytes which this task has caused, or shall cause to be written
                     to disk. Similar caveats apply here as with 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)
                     Attempt  to count the number of bytes which this process really did cause to
                     be fetched from  the  storage  layer.  This  is  accurate  for  block-backed
                     filesystems.

              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:
                     The big inaccuracy here is truncate. If a process writes 1MB to a  file  and
                     then deletes the file, it will in fact perform no writeout. But it will have
                     been accounted as having caused 1MB of write. In  other  words:  this  field
                     represents  the  number of bytes which this process caused to not happen, by
                     truncating pagecache. A task can cause "negative"  I/O  too.  If  this  task
                     truncates  some  dirty  pagecache,  some  I/O  which  another  task has been
                     accounted for (in its write_bytes)  will not be happening.

              Note: In the current implementation, things are a bit racy on  32-bit  systems:  if
              process A reads process B's /proc/[pid]/io while process B is updating one of these
              64-bit counters, process A could see an intermediate result.

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

       /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
              Eine  Datei  mit   den   derzeit   eingeblendeten   Speicherbereichen   und   ihren
              Zugriffsrechten.    Lesen    Sie    mmap(2)    für   weitere   Informationen   über
              Speichereinblendungen.

              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]
                          The initial process's (also known as the main thread's) stack.

                   [stack:<tid>] (seit Linux 3.4)
                          A thread's stack (where the <tid> is a thread ID).  It  corresponds  to
                          the /proc/[pid]/task/[tid]/ path.

                   [vdso] The virtual dynamically linked shared object.

                   [heap] The process's heap.

              If  the  pathname  field is blank, this is an anonymous mapping as obtained via the
              mmap(2)  function. 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,  auf  die Speicherseiten des Prozesses mittels
              open(2), read(2) und lseek(2) zuzugreifen.

       /proc/[PID]/mountinfo (seit Linux 2.6.26)
              Diese Datei enthält Informationen über Einhängepunkte (mount points).  Sie  enthält
              Zeilen der Form

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

              Die Zahlen in Klammern sind Zuordnungen zu den folgenden Beschreibungen:

              (1)  Einhänge-ID:   eindeutige  Identifikation  für  dieses  Einhängen  (kann  nach
                   umount(2) erneut verwendet werden).

              (2)  parent ID: ID of parent mount (or of self for the top of the mount tree).

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

              (4)  Wurzel: Wurzel der Einhängepunkte innerhalb des Dateisystems.

              (5)  Einhängepunkt: Einhängepunkt (mount point) relativ zur Prozesswurzel.

              (6)  Einhängeoptionen: individuelle Einhängeoptionen.

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

              (8)  Trennzeichen: markiert das Ende der optionalen Felder.

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

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

              (11) Super-Optionen: individuelle Superblock-Optionen.

              Analyseprogramme sollten alle nicht erkannten optionalen Felder ignorieren. Derzeit
              sind die möglichen optionalen Felder:

                   shared:X          Der  Einhängepunkt  wird  von  der  Peer-Gruppe  X gemeinsam
                                     genutzt.

                   master:X          Der Einhängepunkt ist der Untergeordnete der Peer-Gruppe X.

                   propagate_from:X  Der Einhängepunkt ist untergeordnet und erhält Übertragungen
                                     von Peer-Gruppe X (*).

                   unbindable        Der  Einhängepunkt  kann  nicht verknüpft (an anderer Stelle
                                     eingehängt) werden.

              (*) X ist die nächste dominante Peer-Gruppe unter der Prozess-Wurzel. Falls  X  dem
              Einhängepunkt  unmittelbar  übergeordnet ist oder wenn es unter der gleichen Wurzel
              keine dominante Peer-Gruppe gibt, ist nur das Feld »Master: X« vorhanden und  nicht
              das »propagate_from: X«-Feld.

              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)
              Dies ist eine Liste aller  Dateisysteme,  die  derzeit  im  Einhängenamensraum  des
              Prozesses  eingehängt  sind. 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 lesbar zu  kennzeichnen
              und  poll(2) und epoll_wait(2) kennzeichnen die Datei als mit einer Fehlerbedingung
              behaftet. Siehe namespaces(7) für weitere Informationen.

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

              Siehe namespaces(7) für weitere Informationen.

       /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-Shift-Operation 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 seinen Eltern. Ein Prozess musss 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 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) (+);

              * ob der Prozess privilegiert ist (-); 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 a 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     If set, the page is in swap space

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

                   60-56 (seit Linux 3.11)
                          Null

                   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.

       /proc/[PID]/personality (seit Linux 2.6.28)
              This   read-only   file   exposes   the  process's  execution  domain,  as  set  by
              personality(2). The value is displayed in hexadecimal notation.

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

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

       /proc/[PID]/seccomp (von Linux 2.6.12 bis 2.6.22)
              Read/set  the  seccomp  mode for the process. If this file contains the value zero,
              seccomp mode is not enabled. Writing the value 1 to this file (irreversibly) places
              the process in seccomp mode: the only permitted system calls are read(2), write(2),
              _exit(2), and sigreturn(2). This file went  away  in  Linux  2.6.23,  when  it  was
              replaced by a prctl(2)-based mechanism.

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

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

                  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
                  Swap:                  0 kB
                  KernelPageSize:        4 kB
                  MMUPageSize:           4 kB
                  Locked:                0 kB

              The first of these lines shows the same information as is displayed for the mapping
              in /proc/[pid]/maps. The remaining lines show the size of the mapping,  the  amount
              of the mapping that is currently resident in RAM ("Rss"), the process' 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.

              The "KernelPageSize" entry is the page size used by the kernel to back a VMA.  This
              matches  the  size  used  by  the  MMU  in  the  majority  of  cases.  However, one
              counter-example occurs on PPC64 kernels whereby a kernel using 64K as a  base  page
              size  may  still use 4K pages for the MMU on older processors. To distinguish, this
              patch reports "MMUPageSize" as the page size used by the MMU.

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

              "VmFlags" field represents the kernel flags associated with the particular  virtual
              memory area in two letter encoded manner. The codes are the following:

                  rd  - readable
                  wr  - writable
                  ex  - executable
                  sh  - shared
                  mr  - may read
                  mw  - may write
                  me  - may execute
                  ms  - may share
                  gd  - stack segment grows down
                  pf  - pure PFN range
                  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  - swap space is not reserved for the area
                  ht  - area uses huge tlb pages
                  nl  - non-linear mapping
                  ar  - architecture specific flag
                  dd  - do not include area into core dump
                  sd  - soft-dirty flag
                  mm  - mixed map area
                  hg  - huge page advise flag
                  nh  - no-huge page advise flag
                  mg  - mergeable advise flag

              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)
              This file provides a symbolic trace of the function calls in this process's  kernel
              stack.   This   file   is   provided   only  if  the  kernel  was  built  with  the
              CONFIG_STACKTRACE configuration option.

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

              Die Felder in ihrer Reihenfolge mit den richtigen scanf(3)-Formatbezeichnern:

              (1) PID  %d
                        Die Prozess-Identifikation.

              (2) comm  %s
                        Der  Name  der  ausführbaren  Datei, in Klammern, sichtbar unabhängig vom
                        Swap-Status des Programms.

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

                        R  Laufend

                        S  Sleeping in an interruptible wait

                        D  Waiting in uninterruptible disk sleep

                        Z  Zombie

                        T  Stopped (on a signal) or (before Linux 2.6.33) trace stopped

                        t  Tracing stop (Linux 2.6.33 onward)

                        W  Paging (only before 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  Waking (Linux 2.6.33 to 3.13 only)

                        P  Parked (Linux 3.9 to 3.13 only)

              (4) ppid  %d
                        Die Prozess-ID des Elternprozesses dieses Prozesses.

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

              (6) session  %d
                        Die Sitzungs-ID 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  ID  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
                        Amount  of  time  that  this  process  has  been  scheduled in user mode,
                        measured in clock ticks (divide by sysconf(_SC_CLK_TCK)).  This  includes
                        guest  time, guest_time (time spent running a virtual CPU, see below), so
                        that applications that are not aware of the guest time field do not  lose
                        that time from their calculations.

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

              (16) cutime  %ld
                        Gesamtzeit, die abgewartete Kindprozesse im User-Modus  verbracht  haben,
                        gemessen  in  »clock  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 »clock 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-Bereich 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  Intervalltimers
                        ein SIGALRM gesendet wird. Seit Kernel 2.6.17 wird dieses Feld nicht mehr
                        gewartet und wird mit 0 hartkodiert.

              (22) starttime  %llu
                        The time the process started after system boot. In kernels  before  Linux
                        2.6,  this  value was expressed in jiffies. Since Linux 2.6, the value is
                        expressed in clock ticks (divide by 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
                        Die Adresse, oberhalb derer Programmtext ausgeführt werden kann.

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

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

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

              (30) kstkeip  %lu
                        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
                        This is the "channel" in which the process is waiting. It is the  address
                        of  a  location  in  the  kernel  where  the  process  is  sleeping.  The
                        corresponding symbolic name can be found in /proc/[pid]/wchan.

              (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      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 »clock ticks«
                        (dividieren Sie durch sysconf(_SC_CLK_TCK)).

              (44) cguest_time  %ld  (seit Linux 2.6.24)
                        Gastzeit der  Kindprozesse  des  Prozesses,  gemessen  in  »clock  ticks«
                        (dividieren Sie durch sysconf(_SC_CLK_TCK)).

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

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

              (47) start_brk  %lu  (seit Linux 3.3)
                        Address above which program heap can be expanded with brk(2).

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

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

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

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

              (52) exit_code  %d  (seit Linux 3.5)
                        The thread's exit status in the form reported by waitpid(2).

       /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) gemeinsame Seiten (d.h. dateigestützte)
                  Text          (4) Text (Code)
                  Bibliothek    (5) Bibliothek (in Linux 2.6 nicht verwendet)
                  Daten         (6) Daten + Stack
                  geändert      (7) geänderte Seiten (dirty) (in Linux 2.6
                                nicht verwendet)

       /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
                  State:  S (sleeping)
                  Tgid:   3515
                  Pid:    3515
                  PPid:   3452
                  TracerPid:      0
                  Uid:    1000    1000    1000    1000
                  Gid:    100     100     100     100
                  FDSize: 256
                  Groups: 16 33 100
                  VmPeak:     9136 kB
                  VmSize:     7896 kB
                  VmLck:         0 kB
                  VmPin:         0 kB
                  VmHWM:      7572 kB
                  VmRSS:      6316 kB
                  VmData:     5224 kB
                  VmStk:        88 kB
                  VmExe:       572 kB
                  VmLib:      1708 kB
                  VmPMD:         4 kB
                  VmPTE:        20 kB
                  VmSwap:        0 kB
                  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
                  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.

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

              * Tgid: Gruppen-ID des Threads (d.h. die Prozess-ID).

              * PID: Thread-ID (siehe gettid(2)).

              * PPid: PID des Elternprozesses.

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

              * Uid,   Gid:   Reale,   effektive,   die   gespeicherte   und   gesicherte   sowie
                Dateisystem-UIDs (GIDs).

              * FDSize: Anzahl der aktuell bereitgestellten Dateideskriptor-Slots.

              * Groups: ergänzende Gruppenliste.

              * VmPeak: Maximalwert des genutzten virtuellen Speichers.

              * VmSize: Größe des virtuellen Speichers.

              * VmLck: Größe des gesperrten Speichers (siehe mlock(3)).

              * VmPin:  Pinned memory size (since Linux 3.2). These are pages that can't be moved
                because something needs to directly access physical memory.

              * VmHWM: Maximalwert der Resident Set Size (»Hochwassermarke«).

              * VmRSS: Resident Set Size.

              * 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: Size of second-level page tables (since Linux 4.0).

              * VmSwap: Swapped-out virtual memory size by anonymous private  pages;  shmem  swap
                usage is not included (since Linux 2.6.34).

              * 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 Benutzer-ID  des  Prozesses  beziehen.
                Die  erste  davon  ist  die  Anzahl der derzeit in der Warteschlange befindlichen
                Signale für diese reale Benutzer-ID 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 (see signal(7)).

              * CapInh,  CapPrm,  CapEff:   In   den   veerbbaren,   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)).

              * Seccomp:  Seccomp  mode of the process (since Linux 3.8, see seccomp(2)). 0 means
                SECCOMP_MODE_DISABLED; 1 means SECCOMP_MODE_STRICT; 2 means  SECCOMP_MODE_FILTER.
                This  field  is  provided  only  if  the kernel was built with the CONFIG_SECCOMP
                kernel configuration option enabled.

              * 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 Letzte, 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)
              This file exposes the system call number and argument registers for the system call
              currently being executed by the process,  followed  by  the  values  of  the  stack
              pointer and program counter registers. The values of all six argument registers are
              exposed, although most system calls use fewer registers.

              If the process is blocked, but not in a system call, then the file displays  -1  in
              place  of  the system call number, followed by just the values of the stack pointer
              and program counter. If process is not blocked, then the  file  contains  just  the
              string "running".

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

       /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  Unterverzeichnis ist die numerische Thread-ID ([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  übergeordneten  Verzeichnis  /proc/[PID]  (z.B.  in  einem
              Multithread-Prozess  werden  task/[tid]/cwd-Dateien den gleichen Wert wie die Datei
              task/pid/cwd im übergeordneten Verzeichnis 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).

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

       /proc/[PID]/timers (seit Linux 3.10)
              A list of the POSIX timers for this process. Each timer is listed with a line  that
              starts with the string "ID:". For example:

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

              The lines shown for each timer have the following meanings:

              ID     The  ID  for  this  timer.  This is not the same as the timer ID returned by
                     timer_create(2); rather, it is the same kernel-internal ID that is available
                     via the si_timerid field of the siginfo_t structure (see sigaction(2)).

              signal This  is  the  signal  number  that this timer uses to deliver notifications
                     followed by a slash, and then the sigev_value value supplied to  the  signal
                     handler. Valid only for timers that notify via a signal.

              notify The  part  before  the slash specifies the mechanism that this timer uses to
                     deliver  notifications,  and  is  one  of  "thread",  "signal",  or  "none".
                     Immediately  following  the slash is either the string "tid" for timers with
                     SIGEV_THREAD_ID notification, or "pid"  for  timers  that  notify  by  other
                     mechanisms.  Following  the  "."  is  the  PID of the process (or the kernel
                     thread ID of the thread)  that will be  delivered  a  signal  if  the  timer
                     delivers notifications via a signal.

              ClockID
                     This  field identifies the clock that the timer uses for measuring time. For
                     most clocks, this is a number that matches one  of  the  user-space  CLOCK_*
                     constants exposed via <time.h>. CLOCK_PROCESS_CPUTIME_ID timers display with
                     a value of -6 in this field. CLOCK_THREAD_CPUTIME_ID timers display  with  a
                     value of -2 in this field.

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

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

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

       /proc/buddyinfo
              This  file  contains  information which is used for diagnosing memory fragmentation
              issues. Each line starts with the identification of the node and the  name  of  the
              zone  which together identify a memory region This is then followed by the count of
              available chunks of a certain order in which these zones are  split.  The  size  in
              bytes of a certain order is given by the formula:

                  (2^order) * PAGE_SIZE

              The  binary  buddy  allocator algorithm inside the kernel will split one chunk into
              two chunks of a smaller order (thus with half the size) or combine  two  contiguous
              chunks  into  one  larger  chunk  of  a higher order (thus with double the size) to
              satisfy allocation requests and to counter memory fragmentation. The order  matches
              the column number, when starting to count at zero.

              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  this  example,  there  is  one  node  containing  three  zones and there are 11
              different chunk sizes. If the page size is 4 kilobytes, then the first zone  called
              DMA  (on  x86 the first 16 megabyte of memory) has 1 chunk of 4 kilobytes (order 0)
              available and has 3 chunks of 4 megabytes (order 10) available.

              If the memory is heavily fragmented, the counters for higher order chunks  will  be
              zero and allocation of large contiguous areas will fail.

              Further information about the zones can be found in /proc/zoneinfo.

       /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/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
              A  list  of  the  ciphers  provided  by the kernel crypto API. For details, see the
              kernel Linux Kernel Crypto API documentation  available  under  the  kernel  source
              directory  Documentation/DocBook.  (That documentation can be built using a command
              such as make htmldocs in the root directory of the kernel source tree.)

       /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   »disk   device«.   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
              Contains subdirectories that in turn contain files with information about (certain)
              mounted filesystems.

       /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           Geräteeinstellungen
                  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  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 Debugsymbolen
              (/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 4KB.

       /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/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)
              This file contains 64-bit masks corresponding to each physical page  frame;  it  is
              indexed  by page frame number (see the discussion of /proc/[pid]/pagemap). The bits
              are as follows:

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

              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  sei  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 aktuell gesperrte  (flock(2)  und  fcntl(2))  sowie  freigegebene
              Dateien an (fcntl(2)).

       /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
              This file reports statistics about memory usage  on  the  system.  It  is  used  by
              free(1)   to report the amount of free and used memory (both physical and swap)  on
              the system as well as the shared memory and buffers used by the kernel.  Each  line
              of  the  file  consists  of a parameter name, followed by a colon, the value of the
              parameter, and an option unit of measurement (e.g., "kB"). The list below describes
              the  parameter  names  and  the  format specifier required to read the field value.
              Except as noted below, all of the fields have been present  since  at  least  Linux
              2.6.0.  Some  fields  are  displayed only if the kernel was configured with various
              options; those dependencies are noted in the list.

              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.

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

              Cached %lu
                     In-memory cache for files read from  the  disk  (the  page  cache).  Doesn't
                     include SwapCached.

              SwapCached %lu
                     Memory  that  once  was swapped out, is swapped back in but still also is in
                     the swap file. (If memory pressure is high, these pages  don't  need  to  be
                     swapped  out  again  because  they  are already in the swap file. This saves
                     I/O.)

              Active %lu
                     Memory that has been used more recently and  usually  not  reclaimed  unless
                     absolutely necessary.

              Inactive %lu
                     Memory  which  has  been  less  recently  used.  It  is  more eligible to be
                     reclaimed for other purposes.

              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
                     (Starting with Linux 2.6.19, CONFIG_HIGHMEM is required.)  Total  amount  of
                     highmem.  Highmem  is  all  memory  above ~860MB of physical memory. Highmem
                     areas are for use by user-space programs, or for the page cache. The  kernel
                     must  use  tricks  to  access  this  memory, making it slower to access than
                     lowmem.

              HighFree %lu
                     (Starting with Linux 2.6.19, CONFIG_HIGHMEM is  required.)  Amount  of  free
                     highmem.

              LowTotal %lu
                     (Starting  with  Linux  2.6.19, CONFIG_HIGHMEM is required.) Total amount of
                     lowmem. Lowmem is memory which can be used for everything that  highmem  can
                     be  used for, but it is also available for the kernel's use for its own data
                     structures. Among many other things, it is where  everything  from  Slab  is
                     allocated. Bad things happen when you're out of lowmem.

              LowFree %lu
                     (Starting  with  Linux  2.6.19,  CONFIG_HIGHMEM is required.) Amount of free
                     lowmem.

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

              SwapTotal %lu
                     Total amount of swap space available.

              SwapFree %lu
                     Amount of swap space that is currently unused.

              Dirty %lu
                     Memory which is waiting to get written back to the disk.

              Writeback %lu
                     Memory which is actively being written back to the disk.

              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)
                     [Muss noch dokumentiert werden.]

              Slab %lu
                     In-kernel data structures cache.

              SReclaimable %lu (seit Linux 2.6.19)
                     Part of Slab, that might be reclaimed, such as caches.

              SUnreclaim %lu (seit Linux 2.6.19)
                     Part of Slab, that cannot be reclaimed on memory pressure.

              KernelStack %lu (seit Linux 2.6.32)
                     Amount of memory allocated to kernel stacks.

              PageTables %lu (seit Linux 2.6.18)
                     Amount of memory dedicated to the lowest level of page tables.

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

              NFS_Unstable %lu (seit Linux 2.6.18)
                     NFS pages sent to the server, but not yet committed to stable storage.

              Bounce %lu (seit Linux 2.6.18)
                     Memory used for block device "bounce buffers".

              WritebackTmp %lu (seit Linux 2.6.26)
                     Memory used by FUSE for temporary writeback buffers.

              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
                     The amount of memory presently allocated on the system. The committed memory
                     is a sum of all of the memory which has been allocated by processes, even if
                     it  has  not been "used" by them as of yet. A process which allocates 1GB of
                     memory (using malloc(3)  or similar), but touches only 300MB of that  memory
                     will  show up as using only 300MB of memory even if it has the address space
                     allocated for the entire 1GB.

                     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 IR /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
                     Total size of vmalloc memory area.

              VmallocUsed %lu
                     Amount of vmalloc area which is used.

              VmallocChunk %lu
                     Largest contiguous block of vmalloc area which is free.

              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.

              HugePages_Total %lu
                     (CONFIG_HUGETLB_PAGE is required.) The size of the pool of huge pages.

              HugePages_Free %lu
                     (CONFIG_HUGETLB_PAGE is required.) The number of huge pages in the pool that
                     are not yet allocated.

              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  is  required.) This is the number of huge pages in the
                     pool above the value in /proc/sys/vm/nr_hugepages.  The  maximum  number  of
                     surplus huge pages is controlled by /proc/sys/vm/nr_overcommit_hugepages.

              Hugepagesize %lu
                     (CONFIG_HUGETLB_PAGE is required.) The size of huge pages.

       /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 akuell im System eingehängten
              Dateisysteme. Mit der Einführung der prozesseigenen  Einhängenamensräume  in  Linux
              2.4.19 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/mtrr.txt.

       /proc/net
              Verschiedene  Pseudodateien,  die   alle   den   Zustand   bestimmter   Teile   der
              Netzwerkschicht darstellen. 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.

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

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

              Dabei   ist  »IP  address«  die  IPv4-Adresse  der  Maschine,  »HW  type«  ist  der
              Hardware-Typ nach RFC 826. Die Flags sind die internen  Schalter  der  ARP-Struktur
              (siehe  /usr/include/linux/if_arp.h)  und  »HW  address«  zeigt  die  physikalische
              Schicht für diese IP-Adresse, wenn bekannt.

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

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

       /proc/net/dev_mcast
              Definiert in /usr/src/linux/net/core/dev_mcast.c:
                   indx interface_name  dmi_u dmi_g dmi_address
                   2    eth0            1     0     01005e000001
                   3    eth1            1     0     01005e000001
                   4    eth2            1     0     01005e000001

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

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

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

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

       /proc/net/tcp
              Enthält  einen  Abzug  der TCP-Socket-Tabelle. Der Großteil der Informationen dient
              nur zur Fehlersuche. Der »sl«-Wert ist der »kernel hash slot«  für  diesen  Socket,
              »local  address«  ist  ein  Wertepaar  aus  lokaler  Adresse  und Port. Die »remote
              address« ist (bei einer bestehenden  Verbindung)  ein  Wertepaar  aus  Adresse  der
              Gegenstation  und  deren  Port. "St" ist der interne Status des Sockets. »tx_queue«
              und »rx_queue« werden verwendet wie bei RAW (s.w.o.). 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« werden verwendet wie bei RAW (s.w.o.). 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:    the internal kernel flags holding the status of the socket.

              Type:     the socket type. For SOCK_STREAM sockets, this is  0001;  for  SOCK_DGRAM
                        sockets, it is 0002; and for SOCK_SEQPACKET sockets, it is 0005.

              St:       Der interne Zustand des Sockets.

              Path:     the  bound path (if any) of the socket. Sockets in the abstract namespace
                        are included in the list, and are shown with a Path that  commences  with
                        the character '@'.

       /proc/net/netfilter/nfnetlink_queue
              This  file  contains  information about netfilter userspace queueing, if used. Each
              line represents a queue. Queues that have not been subscribed to by  userspace  are
              not shown.

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

              Die Felder in jeder Zeile sind:

              (1)  The  ID  of  the  queue.  This matches what is specified in the --queue-num or
                   --queue-balance   options   to   the   iptables(8)    NFQUEUE   target.    See
                   iptables-extensions(8)  for more information.

              (2)  The netlink port ID subscribed to the queue.

              (3)  The  number  of  packets  currently  queued and waiting to be processed by the
                   application.

              (4)  The copy mode of the queue. It is either 1 (metadata only)  or  2  (also  copy
                   payload data to userspace).

              (5)  Copy  range;  that  is,  how  many bytes of packet payload should be copied to
                   userspace at most.

              (6)  queue dropped. Number of packets that had to be dropped by the kernel  because
                   too  many packets are already waiting for userspace to send back the mandatory
                   accept/drop verdicts.

              (7)  queue user dropped. Number of packets that were  dropped  within  the  netlink
                   subsystem.  Such  drops usually happen when the corresponding socket buffer is
                   full; that is, userspace is not able to read messages fast enough.

              (8)  sequence  number.  Every  queued  packet  is  associated   with   a   (32-bit)
                   monotonically-increasing sequence number. This shows the ID of the most recent
                   packet queued.

              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)
              This  file is present only if the kernel was booted with the profile=1 command-line
              option. It exposes kernel profiling information in  a  binary  format  for  use  by
              readprofile(1).  Writing  (e.g., an empty string) to this file resets the profiling
              counters; on some architectures, writing a binary integer "profiling multiplier" of
              size sizeof(int) sets the profiling interrupt frequency.

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

       /proc/scsi/scsi
              Dies ist eine Liste aller SCSI-Geräte, die dem Kernel bekannt sind. Sie ähnelt der,
              die man beim Hochfahren des Rechners sieht. 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  können   Bus-Sperren   (bus   lockups)
              kontrolliert werden, 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  zu  Kernel-Caches. Seit Linux 2.6.16 existiert diese Datei nur, wenn
              die  Kernel-Konfigurationsoption  CONFIG_SLAB  gesetzt   wird.   Die   Spalten   in
              /proc/slabinfo sind:

                  cache-name
                  num-active-objs
                  total-objs
                  object-size
                  num-active-slabs
                  total-slabs
                  num-pages-per-slab

              Siehe slabinfo(5) für Details.

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

              cpu 3357 0 4313 1362393
                     Die  Zeitdauer  (gemessen  in  USER_HZ,  auf   den   meisten   Architekturen
                     Hundertstelsekunden,     ermitteln    Sie    den    richtigen    Wert    mit
                     sysconf(_SC_CLK_TCK)), die das System in verschiedenen Stati verbracht hat:

                     user   (1) Time spent in user mode.

                     nice   (2) Time spent in user mode with low priority (nice).

                     system (3) Time spent in system mode.

                     idle   (4) Time spent in the idle task. This value should be  USER_HZ  times
                            the second entry in the /proc/uptime pseudo-file.

                     iowait (seit Linux 2.5.41)
                            (5) Time waiting for I/O to complete.

                     irq (seit Linux 2.6.0-test4)
                            (6) Time servicing interrupts.

                     softirq (seit Linux 2.6.0-test4)
                            (7) Time servicing softirqs.

                     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  Auslagerungs-Seiten,  die  hereingeholt  und  herausgebracht
                     wurden.

              intr 1462898
                     This  line  shows counts of interrupts serviced since boot time, for each of
                     the possible system interrupts.  The  first  column  is  the  total  of  all
                     interrupts  serviced  including unnumbered architecture specific interrupts;
                     each subsequent column is the total for that particular numbered  interrupt.
                     Unnumbered interrupts are not shown, only summed into the total.

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

       /proc/swaps
              Genutzte Swap-Bereiche; 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.

              String values may be terminated by either '\0' or '\n'.

              Integer and long values may be written either in decimal or in hexadecimal notation
              (e.g. 0x3FFF). When writing multiple integer or long values, these may be separated
              by  any  of  the  following  whitespace characters: ' ', '\t', or '\n'. Using other
              separators leads to the error 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
              Documentation/binfmt_misc.txt 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 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
              This file defines a  system-wide  limit  on  the  number  of  open  files  for  all
              processes.  System calls that fail when encountering this limit fail with the error
              ENFILE. (See also setrlimit(2),  which  can  be  used  by  a  process  to  set  the
              per-process  limit,  RLIMIT_NOFILE, on the number of files it may open.) If you get
              lots of error messages in the kernel log about running out of  file  handles  (look
              for "VFS: file-max limit <number> reached"), try increasing this value:

                  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
              This (read-only) file contains three numbers: the number of allocated file  handles
              (i.e.,  the number of files presently opened); the number of free file handles; and
              the maximum number of file handles (i.e., the same value as /proc/sys/fs/file-max).
              If  the  number  of  allocated  file  handles  is  close to the maximum, you should
              consider increasing the maximum.  Before  Linux  2.6,  the  kernel  allocated  file
              handles  dynamically,  but it didn't free them again. Instead the free file handles
              were kept in a list for reallocation; the "free file handles" value  indicates  the
              size  of  that list. A large number of free file handles indicates that there was a
              past peak in the usage of open file handles.  Since  Linux  2.6,  the  kernel  does
              deallocate freed file handles, and the "free file handles" value is always zero.

       /proc/sys/fs/inode-max (nur vorhanden bis Linux 2.2)
              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
              This  file  contains  seven numbers: nr_inodes, nr_free_inodes, preshrink, and four
              dummy values (always zero).

              nr_inodes is  the  number  of  inodes  the  system  has  allocated.  nr_free_inodes
              represents the number of free inodes.

              preshrink  is  nonzero when the nr_inodes > inode-max and the system needs to prune
              the inode list instead of allocating more; since Linux 2.4, this field is  a  dummy
              value (always zero).

       /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  »file  lease«  (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  den Lease nicht entfernt oder herabstuft, wird der Kernel
              das Lease zwangsweise zurückziehen.

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

       /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)
              This file imposes ceiling on the value to which the  RLIMIT_NOFILE  resource  limit
              can  be  raised  (see getrlimit(2)). This ceiling is enforced for both unprivileged
              and privileged process. The default value in this file is  1048576.  (Before  Linux
              2.6.25, the ceiling for RLIMIT_NOFILE was hard-coded to the same value.)

       /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)
              Der Wert in dieser Datei definiert eine obere Grenze für die Anhebung der Kapazität
              einer  Pipeline  mit der fcntl(2)-Operation F_SETPIPE_SZ Betrieb. Diese Grenze gilt
              nur für  nicht  privilegierte  Prozesse.  Der  Standardwert  für  diese  Datei  ist
              1.048.576.  Der an dieser Datei zugewiesene Wert kann nach oben gerundet werden, um
              den tatsächlich für eine bequeme Implementierung genutzten Wert zu reflektieren. Um
              den aufgerundeten Wert zu bestimmen, geben Sie den Inhalt dieser Datei aus, nachdem
              Sie ihr einen Wert zugewiesen haben. Der kleinste Wert, der dieser Datei zugeordnet
              werden kann, ist die Seitengröße des Systems.

       /proc/sys/fs/protected_hardlinks (seit Linux 3.6)
              When  the  value  in  this file is 0, no restrictions are placed on the creation of
              hard links (i.e., this is the historical behavior before Linux 3.6). When the value
              in  this  file is 1, a hard link can be created to a target file only if one of the
              following conditions is true:

              *  Der Aufrufende hat die Capability CAP_FOWNER.

              *  The filesystem UID of the process creating the link matches the owner  (UID)  of
                 the  target  file (as described in credentials(7), a process's filesystem UID is
                 normally the same as its effective UID).

              *  Alle der folgenden Bedingungen sind wahr:

                  •  das Ziel ist eine reguläre Datei;

                  •  the target file does not have its set-user-ID mode bit enabled;

                  •  the target file does not have both  its  set-group-ID  and  group-executable
                     mode bits enabled; and

                  •  the  caller has permission to read and write the target file (either via the
                     file's permissions mask or because it has suitable capabilities).

              The default value in this file is 0. Setting the value to 1 prevents a longstanding
              class  of  security  issues  caused  by  hard-link-based time-of-check, time-of-use
              races, most commonly seen in world-writable directories such as  /tmp.  The  common
              method  of  exploiting  this flaw is to cross privilege boundaries when following a
              given hard link (i.e., a root process follows a hard link created by another user).
              Additionally,  on  systems  without  separated  partitions, this stops unauthorized
              users from "pinning" vulnerable set-user-ID and set-group-ID  files  against  being
              upgraded by the administrator, or linking to special files.

       /proc/sys/fs/protected_symlinks (seit Linux 3.6)
              When  the value in this file is 0, no restrictions are placed on following symbolic
              links (i.e., this is the historical behavior before Linux 3.6). When the  value  in
              this file is 1, symbolic links are followed only in the following circumstances:

              *  the  filesystem UID of the process following the link matches the owner (UID) of
                 the symbolic link (as described in credentials(7), a process's filesystem UID is
                 normally the same as its effective UID);

              *  the link is not in a sticky world-writable directory; or

              *  the symbolic link and its parent directory have the same owner (UID)

              A  system  call  that  fails  to  follow  a  symbolic  link  because  of  the above
              restrictions returns the error EACCES in errno.

              The default value in this file is 0. Setting the value to 1 avoids  a  longstanding
              class  of  security issues based on time-of-check, time-of-use races when accessing
              symbolic links.

       /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. Three different integer values can be specified:

              0 (Standard)
                     0 (Standard) Das bewirkt das traditionelle Verhalten (vor Linux 2.6.13). Ein
                     Core-Dump wird nicht erzeugt  für  Prozesse,  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 Core-Dump aus, wenn möglich. Der Core-Dump trägt
                     die  Benutzer-Kennung  (UID)  des  erzeugenden  Prozess,   es   gibt   keine
                     Sicherheitsprüfungen.  Dies  ist  nur für die Fehlersuche im System gedacht.
                     Ptrace ist deaktiviert.

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

                     Additionally,  since Linux 3.6, /proc/sys/kernel/core_pattern must either be
                     an absolute pathname or a pipe command, as  detailed  in  core(5).  Warnings
                     will  be  written  to  the  kernel log if core_pattern does not follow these
                     rules, and no core dump will be produced.

       /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
              Diese Date 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  Percent  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)
              From  Linux  2.6.27 to 3.18, this file was used to control recomputing of the value
              in /proc/sys/kernel/msgmni upon the addition or  removal  of  memory  or  upon  IPC
              namespace  creation/removal.  Echoing  "1"  into this file enabled msgmni automatic
              recomputing (and triggered a recomputation of msgmni based on the current amount of
              available  memory  and  number  of  IPC namespaces). Echoing "0" disabled automatic
              recomputing. (Automatic recomputing was also disabled if  a  value  was  explicitly
              assigned to /proc/sys/kernel/msgmni.) The default value in auto_msgmni was 1.

              Since  Linux  3.19, the content of this file has no effect (because msgmni defaults
              to near the maximum value possible), and reads from this  file  always  return  the
              value "0".

       /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_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  Nervengriff™  ein
              sofortiger Neustart sein, ohne auch nur seine schmutzige 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)
              The value in this file determines who can see kernel syslog contents. A value of  0
              in  this file imposes no restrictions. If the value is 1, only privileged users can
              read the kernel syslog. (See syslog(2)  for more details.) Since  Linux  3.4,  only
              users with the CAP_SYS_ADMIN capability may change the value in this file.

       /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 hat den Rechnernamen
              »darkstar« und den DNS-Domainnamen (Internet Domain Name  Server)  »frop.org«,  der
              nicht  mit  den  Domainnamen  von  NIS (Network Information Service) oder YP (Gelbe
              Seiten) verwechselt werden dürfen.. Diese beiden  Domainnamen  sind  in  der  Regel
              anders aus. 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
              (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/kptr_restrict (seit Linux 2.6.38)
              The value in this file determines whether kernel addresses are  exposed  via  /proc
              files  and  other interfaces. A value of 0 in this file imposes no restrictions. If
              the value is 1, kernel pointers printed using the  %pK  format  specifier  will  be
              replaced  with zeros unless the user has the CAP_SYSLOG capability. If the value is
              2, kernel pointers printed using the %pK format specifier  will  be  replaced  with
              zeros  regardless  of  the  user's capabilities. The initial default value for this
              file was 1, but the default was changed to 0 in Linux 2.6.39. Since Linux 3.4, only
              users with the CAP_SYS_ADMIN capability can change the value in this file.

       /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,  dass  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).

       /proc/sys/kernel/modules_disabled (seit Linux 2.6.31)
              A  toggle  value  indicating  if  modules  are allowed to be loaded in an otherwise
              modular kernel. This toggle defaults to off (0), but can  be  set  true  (1).  Once
              true, modules can be neither loaded nor unloaded, and the toggle cannot be set back
              to false. The file is present only if the kernel is built with  the  CONFIG_MODULES
              option enabled.

       /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/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)
              This  file  specifies  the value at which PIDs wrap around (i.e., the value in this
              file is one greater than the maximum PID). PIDs greater than  this  value  are  not
              allocated;  thus,  the  value  in this file also acts as a system-wide limit on the
              total number of processes and threads. The default  value  for  this  file,  32768,
              results in the same range of PIDs as on earlier kernels. On 32-bit platforms, 32768
              is the maximum value for pid_max. On 64-bit systems, pid_max  can  be  set  to  any
              value up to 2^22 (PID_MAX_LIMIT, approximately 4 million).

       /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)
              Select  the  address  space  layout  randomization (ASLR) policy for the system (on
              architectures that support ASLR). Three values are supported for this file:

              0  Turn ASLR off. This is the default for architectures that  don't  support  ASLR,
                 and when the kernel is booted with the norandmaps parameter.

              1  Make  the  addresses  of  mmap(2)   allocations,  the  stack,  and the VDSO page
                 randomized. Among other things, this means that shared libraries will be  loaded
                 at  randomized  addresses.  The text segment of PIE-linked binaries will also be
                 loaded at a randomized address. This value is the  default  if  the  kernel  was
                 configured with CONFIG_COMPAT_BRK.

              2  (Since Linux 2.6.25)  Also support heap randomization. This value is the default
                 if the kernel was not configured with CONFIG_COMPAT_BRK.

       /proc/sys/kernel/real-root-dev
              Diese  Datei   wird   in   der   Linux-Kernel-Quelldatei   Documentation/initrd.txt
              beschrieben.

       /proc/sys/kernel/reboot-cmd (nur Sparc)
              Diese   Datei   scheint   ein  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/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/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 optimieren, 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)
              If this file is set to 1, all System V shared memory segments will  be  marked  for
              destruction  as  soon  as  the number of attached processes falls to zero; in other
              words, it is no longer  possible  to  create  shared  memory  segments  that  exist
              independently of any attached process.

              The effect is as though a shmctl(2)  IPC_RMID is performed on all existing segments
              as well as all segments created in the future (until this file is reset to 0). Note
              that  existing  segments  that  are  attached  to  no  process  will be immediately
              destroyed when this file is set  to  1.  Setting  this  option  will  also  destroy
              segments  that  were  created,  but never attached, upon termination of the process
              that created the segment with shmget(2).

              Setting this file to 1 provides a way of ensuring that all System V  shared  memory
              segments  are  counted  against  the  resource  usage  and resource limits (see the
              description of RLIMIT_AS in getrlimit(2))  of at least one process.

              Because setting this file to 1 produces behavior that is nonstandard and could also
              break  existing  applications,  the  default value in this file is 0. Only set this
              file to 1 if you have a good understanding of the  semantics  of  the  applications
              using System V shared memory on your system.

       /proc/sys/kernel/shmall (seit Linux 2.2)
              Diese Datei enthält die systemweite Grenze für die Gesamtzahl der Seiten im »System
              V shared memory«.

       /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 1GB unterstützt. Dieser  Wert  ist  per  Vorgabe
              SHMMAX.

       /proc/sys/kernel/shmmni (seit Linux 2.4)
              Diese  Datei  spezifiert  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)
              The value in this file determines how the  file  offset  affects  the  behavior  of
              updating entries in files under /proc/sys. The file has three possible values:

              -1  This  provides  legacy  handling,  with  no printk warnings. Each write(2) must
                  fully contain the value to be written, and multiple writes  on  the  same  file
                  descriptor will overwrite the entire value, regardless of the file position.

              0   (default)  This  provides  the same behavior as for -1, but printk warnings are
                  written for processes that perform writes when the file offset is not 0.

              1   Respect the file offset when writing strings  into  /proc/sys  files.  Multiple
                  writes  will  append  to  the value buffer. Anything written beyond the maximum
                  length of the value buffer will be ignored. Writes to numeric /proc/sys entries
                  must  always  be  at file offset 0 and the value must be fully contained in the
                  buffer provided to write(2).

       /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 der notwendig). Mögliche Werte in dieser Datei sind:

              0    Disable sysrq completely

              1    Enable all functions of sysrq

              > 1  Bit mask of allowed sysrq functions, as follows:
                     2  Enable control of console logging level
                     4  Enable control of keyboard (SAK, unraw)
                     8  Enable debugging dumps of processes etc.
                    16  aktiviert den Befehl »sync«
                    32  Enable remount read-only
                    64  Enable signaling of processes (term, kill, oom-kill)
                   128  Allow reboot/poweroff
                   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/sysrq.txt.

       /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 (Tasks)
              fest, die erstellt werden dürfen.

              Since Linux 4.1, the value that can be  written  to  threads-max  is  bounded.  The
              minimum  value  that can be written is 20. The maximum value that can be written is
              given by the constant FUTEX_TID_MASK (0x3fffffff). If a value outside of this range
              is written to threads-max, the error EINVAL occurs.

              The  value  written  is  checked  against  the  available  RAM pages. If the thread
              structures would occupy too much (more than 1/8th)  of  the  available  RAM  pages,
              threads-max is reduced accordingly.

       /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  Netzwerkkrams.  Erkärungen  für einige der Dateien in
              diesem Verzeichnis finden Sie in tcp(7)  and 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/vm
              Dieses Verzeichnis enthält Dateien für die Optimierung der  Speicherverwaltung  und
              die Verwaltung der Puffer und Caches (Zwischenspeicher).

       /proc/sys/vm/compact_memory (seit Linux 2.6.35)
              When  1  is  written to this file, all zones are compacted such that free memory is
              available in contiguous blocks where possible. The effect of  this  action  can  be
              seen by examining /proc/buddyinfo.

              Nur vorhanden, falls der Kernel mit CONFIG_COMPACTION konfiguriert wurde.

       /proc/sys/vm/drop_caches (seit Linux 2.6.16)
              Writing  to  this file causes the kernel to drop clean caches, dentries, and inodes
              from memory, causing that memory to become free. This  can  be  useful  for  memory
              management  testing  and  performing  reproducible  filesystem  benchmarks. Because
              writing to this file causes the benefits of caching to  be  lost,  it  can  degrade
              overall system performance.

              To free pagecache, use:

                  echo 1 > /proc/sys/vm/drop_caches

              To free dentries and inodes, use:

                  echo 2 > /proc/sys/vm/drop_caches

              To free pagecache, dentries and inodes, use:

                  echo 3 > /proc/sys/vm/drop_caches

              Because  writing  to  this file is a nondestructive operation and dirty objects are
              not freeable, the user should run sync(1)  first.

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

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

              Die Datei hat einen der folgenden Werte:

              1:  Bricht  alle  Prozesse  ab,  in deren Speicher die beschädigte und nicht erneut
                  ladbare Seite eingeblendet ist, sobald der Fehler erkannt wird.  Beachten  Sie,
                  dass  dies  nicht für ein einige spezielle Seiten wie kernel-intern zugewiesene
                  Daten oder der Swap-Zwischenspeicher unterstützt wird, es funktioniert aber für
                  die Mehrheit der Anwenderseiten.

              0:  Nur die beschädigte Seite aus allen Prozesse ausblenden und nur Prozesse töten,
                  die darauf zugreifen wollen.

              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;
              siehesigaction(2) für weitere Einzelheiten.

              Diese Möglichkeit ist nur  auf  Archtitekturen/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 eine systemweiten Dump der Tasks (ohne Kernel-Threads), wenn der  Kernel
              bei  Speicherknappheit  Prozesse  abbricht  (OOM-killing).  Der  Dump  enthält  die
              folgenden  Informationen  für  jede  Task  (Thread,  Prozess):   Thread-ID,   reale
              Benutzer-ID,  Thread-Gruppen-ID (Prozess-ID), Größe des virtuellen Speichers, Größe
              des Resident Set, die CPU, auf der die  Task  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
              schurkische Task zu identifizieren.

              Ist der Wert in der Datei Null, wird diese Information unterdrückt. Auf sehr großen
              Systemen mit Tausenden von Tasks wird es kaum praktikabel sein, für alle Tasks  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 ein speichergierige Task ins Jenseits schickt.

              Der Standardwert ist 0.

       /proc/sys/vm/oom_kill_allocating_task (seit Linux 2.6.24)
              Dies aktiviert oder deaktiviert bei Speicherknappheit die OOM-auslösende Task.

              Ist der Wert null, wertet der  OOM-Killer  die  gesamte  Taskliste  aus  und  wählt
              heuristisch  eine Task als Opfer aus. Normalerweise wählt er einen speichergierigen
              Schurken aus, dessen Tod sehr viel Speicher freigibt.

              Ist  der  Wert  ungleich  Null,  beseitigt  der  OOM-Killer  die  Task,   die   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.

              Only   one  of  overcommit_kbytes  or  overcommit_ratio  can  have  an  effect:  if
              overcommit_kbytes has a nonzero value, then it is used  to  calculate  CommitLimit,
              otherwise overcommit_ratio is used. Writing a value to either of these files causes
              the value in the other file to be set to zero.

       /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: immer Overcommit, niemals prüfen
                     2: immer prüfen, niemals 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.  Unter  Linux 2.4 impliziert jeder Wert ungleich null
              Modus 1.

              In Modus 2 (verfügbar seit  Linux  2.6)  wid  der  allozierbare  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 is the amount of memory set aside for huge pages;

                   *  overcommit_ratio ist der Wert aus /proc/sys/vm/overcommit_ratio

                   *  total_swap is the amount of swap space.

              For  example,  on  a  system  with  16GB  of  physical  RAM, 16GB of swap, no space
              dedicated to huge pages, and an overcommit_ratio  of  50,  this  formula  yields  a
              CommitLimit of 24GB.

              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

       /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 erreichen einen Speichererschöpfungs-Zustand,
              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/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 gibt die Linux-Kernel-Quelltextdatei Documentation/sysrq.txt.

       /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)
              This  directory  refers  to  the  thread  accessing  the  /proc  filesystem, and is
              identical to the /proc/self/task/[tid] directory named by  the  process  thread  ID
              ([tid])  of the same thread.

       /proc/timer_list (seit Linux 2.6.21)
              This  read-only  file  exposes  a  list  of all currently pending (high-resolution)
              timers, all clock-event sources, and their parameters in a human-readable form.

       /proc/timer_stats (seit Linux 2.6.21)
              This is a debugging facility to make timer (ab)use in a  Linux  system  visible  to
              kernel  and  user-space  developers.  It  can  be  used  by  kernel  and user-space
              developers to verify that their code does not make undue use of timers. The goal is
              to avoid unnecessary wakeups, thereby optimizing power consumption.

              If  enabled  in  the  kernel (CONFIG_TIMER_STATS), but not used, it has almost zero
              runtime overhead and a relatively small data-structure overhead. Even if collection
              is  enabled  at  runtime, overhead is low: all the locking is per-CPU and lookup is
              hashed.

              The /proc/timer_stats file is used both to control sampling facility  and  to  read
              out the sampled information.

              The  timer_stats  functionality  is  inactive  on  bootup. A sampling period can be
              started using the following command:

                  # echo 1 > /proc/timer_stats

              The following command stops a sampling period:

                  # echo 0 > /proc/timer_stats

              Die Statistiken können wie folgt ermittelt werden:

                  $ cat /proc/timer_stats

              While sampling is enabled, each  readout  from  /proc/timer_stats  will  see  newly
              updated  statistics.  Once  sampling  is  disabled, the sampled information is kept
              until a new sample period is started. This allows multiple readouts.

              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:

              *  a count of the number of events, optionally (since Linux 2.6.23) followed by the
                 letter 'D' if this is a deferrable timer;

              *  the PID of the process that initialized the timer;

              *  the name of the process that initialized the timer;

              *  the function where the timer was initialized; and

              *  (in parentheses)  the callback function that is associated with the timer.

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

       /proc/uptime
              This file contains two numbers: the uptime of the system (seconds), and the  amount
              of time spent in idle process (seconds).

       /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)
              This  file  displays  various  virtual  memory  statistics.  Each line of this file
              contains a single name-value pair, delimited by white space. Some files are present
              only  if  the  kernel  was  configured  with  suitable options. (In some cases, the
              options required for particular files have changed across kernel versions, so  they
              are  not  listed  here. Details can be found by consulting the kernel source code.)
              The following fields may be present:

              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)
                     Amount of memory allocated to kernel stacks.

              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)
                     Pages used by shmem and tmpfs.

              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),  ps(1),  tr(1),  uptime(1),  chroot(2),  mmap(2),
       readlink(2), syslog(2), slabinfo(5), hier(7), namespaces(7), time(7),  arp(8),  hdparm(8),
       ifconfig(8),  init(1),  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.04  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 http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die   deutsche   Übersetzung   dieser   Handbuchseite   wurde   von    Helge    Kreutzmann
       <debian@helgefjell.de> und Martin Eberhard Schauer <Martin.E.Schauer@gmx.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>.