.\" -*- coding: UTF-8 -*- .\" Copyright (C) 1994, 1995 by Daniel Quinlan (quinlan@yggdrasil.com) .\" and Copyright (C) 2002-2008,2017 Michael Kerrisk .\" with networking additions from Alan Cox (A.Cox@swansea.ac.uk) .\" and scsi additions from Michael Neuffer (neuffer@mail.uni-mainz.de) .\" and sysctl additions from Andries Brouwer (aeb@cwi.nl) .\" and System V IPC (as well as various other) additions from .\" Michael Kerrisk .\" .\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. .\" .\" The GNU General Public License's references to "object code" .\" and "executables" are to be interpreted as the output of any .\" document formatting or typesetting system, including .\" intermediate and printed output. .\" .\" This manual is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public .\" License along with this manual; if not, see .\" . .\" %%%LICENSE_END .\" .\" Modified 1995-05-17 by faith@cs.unc.edu .\" Minor changes by aeb and Marty Leisner (leisner@sdsp.mc.xerox.com). .\" Modified 1996-04-13, 1996-07-22 by aeb@cwi.nl .\" Modified 2001-12-16 by rwhron@earthlink.net .\" Modified 2002-07-13 by jbelton@shaw.ca .\" Modified 2002-07-22, 2003-05-27, 2004-04-06, 2004-05-25 .\" by Michael Kerrisk .\" 2004-11-17, mtk -- updated notes on /proc/loadavg .\" 2004-12-01, mtk, rtsig-max and rtsig-nr went away in 2.6.8 .\" 2004-12-14, mtk, updated 'statm', and fixed error in order of list .\" 2005-05-12, mtk, updated 'stat' .\" 2005-07-13, mtk, added /proc/sys/fs/mqueue/* .\" 2005-09-16, mtk, Added /proc/sys/fs/suid_dumpable .\" 2005-09-19, mtk, added /proc/zoneinfo .\" 2005-03-01, mtk, moved /proc/sys/fs/mqueue/* material to mq_overview.7. .\" 2008-06-05, mtk, Added /proc/[pid]/oom_score, /proc/[pid]/oom_adj, .\" /proc/[pid]/limits, /proc/[pid]/mountinfo, /proc/[pid]/mountstats, .\" and /proc/[pid]/fdinfo/*. .\" 2008-06-19, mtk, Documented /proc/[pid]/status. .\" 2008-07-15, mtk, added /proc/config.gz .\" .\" FIXME cross check against Documentation/filesystems/proc.txt .\" to see what information could be imported from that file .\" into this file. .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH PROC 5 "15. September 2017" Linux Linux\-Programmierhandbuch .SH BEZEICHNUNG proc \- Pseudo\-Dateisystem für Prozessinformationen .SH BESCHREIBUNG \fB/proc\fP ist ein Pseudo\-Dateisystem. Es dient als Schnittstelle zu den Kernel\-Datenstrukturen und wird gewöhnlich unter \fI/proc\fP eingehängt. Typischerweise wird es vom System automatisch eingehängt. Es kann aber auch mit einem Befehl manuell eingehängt werden: .PP .in +4n .EX mount \-t proc proc /proc .EE .in .PP .\" Die meisten Einträge im Dateisystem \fBproc\fP sind nur lesbar, aber einige Dateien sind auch schreibbar, wodurch das Verändern von Kernel\-Variablen erlaubt wird. .SS Einhängeoptionen Das Dateisystem \fBproc\fP unterstützt die folgenden Einhängeoptionen: .TP \fBhidepid\fP=\fIn\fP (seit Linux 3.3) .\" commit 0499680a42141d86417a8fbaa8c8db806bea1201 Diese Option regelt, wer auf die Informationen in den Verzeichnissen \fI/proc/[PID]\fP zugreifen darf. Das Argument \fIn\fP hat einen der folgenden Werte: .RS .TP 4 0 Jeder darf auf alle Verzeichnisse \fI/proc/[PID]\fP zugreifen. Dies ist das traditionelle Verhalten und die Vorgabe, falls diese Einhängeoption nicht angegeben ist. .TP 1 .\" As an additional bonus, since .\" .IR /proc/[pid]/cmdline .\" is unaccessible for other users, .\" poorly written programs passing sensitive information via .\" program arguments are now protected against local eavesdroppers. Benutzer dürfen auf nur ihre eigenen Dateien und Unterverzeichnisse innerhalb von \fI/proc/[PID]\fP zugreifen (die Verzeichnisse \fI/proc/[PID]\fP selbst bleiben sichtbar). Sensitive Dateien wie \fI/proc/[PID]/cmdline\fP und \fI/proc/[PID]/status\fP werden jetzt vor anderen Benutzer geschützt. Dadurch ist es unmöglich, herauszufinden, ob ein andere Benutzer ein bestimmtes Programm ausführt (solange das Programm sich nicht anderweitig durch sein Verhalten zu erkennen gibt). .TP 2 Wie für Modus 1, aber zusätzlich werden die Verzeichnisse \fI/proc/[PID]\fP anderer Benutzer unsichtbar. Das bedeutet, dass die Einträge \fI/proc/[PID]\fP nicht mehr zur Aufdeckung von PIDs auf dem System genutzt werden können. Das versteckt nicht die Tatsache, dass ein bestimmter PID\-Wert existiert (dies kann durch andere Methoden, beispielsweise »kill \-0 $PID«, herausgefunden werden), aber es versteckt die UID und GID des Prozesses, die ansonsten durch Einsatz von \fBstat\fP(2) auf einem \fI/proc/[PID]\fP\-Verzeichnis herausgefunden werden könnte. Dies verkompliziert die Aufgabe eines Angreifers deutlich, Informationen über laufende Prozesse zu sammeln (z.B. zu entdecken, ob ein Daemon mit erweiterten Privilegien läuft, ob ein anderer Benutzer ein bestimmtes sensitives Programm ausführt, ob ein anderer Benutzer ein bestimmtes Programm überhaupt ausführt usw.). .RE .TP \fBgid\fP=\fIgid\fP (seit Linux 3.3) .\" commit 0499680a42141d86417a8fbaa8c8db806bea1201 Legt die Kennung einer Gruppe fest, deren Mitglieder berechtigt sind, Prozessinformationen herauszufinden, die andernfalls durch \fBhidepid\fP verweigert würden (d.h. für Benutzer in der Gruppe verhält es sich, als ob \fI/proc\fP mit \fIhidepid=0\fP eingehängt worden wäre). Diese Gruppe sollte anderen Ansätzen (wie dem Eintrag von Benutzern in die Datei \fBsudoers\fP(5)) vorgezogen werden. .SS "Dateien und Verzeichnisse" Die folgende Liste beschreibt viele der Dateien und Verzeichnisse unter der Hierachie \fI/proc\fP: .TP \fI/proc/[PID]\fP Für jeden laufenden Prozess gibt es ein numerisches Unterverzeichnis, dessen Nummer der Prozesskennung (PID) entspricht. .IP Jedes \fI/proc/[pid]\fP\-Unterverzeichnis enthält die unten beschriebenen Pseudo\-Dateien und \-Verzeichnisse. Als Besitzer der Datei ist normalerweise die effektiven Benutzer\- und Gruppenkennung des Prozesses eingetragen, allerdings wird als Sicherheitsmaßnahme der Besitzer auf \fIroot:root\fP gesetzt, wenn das »dumpable«\-Attribut des Prozesses auf einen anderen Wert als 1 gesetzt ist. Dieses Attribut mag sich aus folgenden Gründen ändern: .RS .IP * 3 Das Attribut wurde mit der Aktion \fBPR_SET_DUMPABLE\fP von \fBprctl\fP(2) explizit gesetzt. .IP * Das Attribut wurde auf den Wert in der Datei \fI/proc/sys/fs/suid_dumpable\fP (unten beschrieben) zurückgesetzt. Die Gründe sind in \fBprctl\fP(2) beschrieben. .RE .IP Das »dumpable«\-Attribut auf 1 zurückzusetzen ändert auch den Besitzer der Dateien \fI/proc/[PID]/*\fP auf die reale UID und GID des Prozesses zurück. .TP \fI/proc/[PID]/attr\fP .\" https://lwn.net/Articles/28222/ .\" From: Stephen Smalley .\" To: LKML and others .\" Subject: [RFC][PATCH] Process Attribute API for Security Modules .\" Date: 08 Apr 2003 16:17:52 -0400 .\" .\" http://www.nsa.gov/research/_files/selinux/papers/module/x362.shtml .\" Die Dateien in diesem Verzeichnis stellen eine API für Sicherheitsmodule bereit. Die Inhalte dieses Verzeichnisses sind Dateien, die gelesen und geschrieben werden können, um sicherheitsbezogene Attribute zu setzen. Dieses Verzeichnis wurde hinzugefügt, um SELinux zu unterstützen. Der Ansatz des API war aber allgemein genug, um andere Sicherheitsmodule zu unterstützen. Für den Zweck der Erläuterung werden Beispiele, wie SELinux diese Dateien verwendet, weiter unten angegeben. .IP Dieses Verzeichnis ist nur vorhanden, falls der Kernel mit \fBCONFIG_SECURITY\fP konfiguriert wurde. .TP \fI/proc/[PID]/attr/current\fP (seit Linux 2.6.0) Der Inhalt dieser Datei stellt die aktuellen Sicherheitsattribute des Prozesses bereit. .IP In SELinux wird diese Datei zur Ermittlung des Sicherheitskontextes eines Prozesses verwandt. Vor Linux 2.6.11 konnte diese Datei nicht zum Setzen des Sicherheitskontextes verwandt werden (ein Schreibzugriff wurde immer verweigert), da SELinux die Prozesssicherheitsübergänge auf \fBexecve\fP(2) begrenzte (siehe die Beschreibung von \fI/proc/[PID]/attr/exec\fP weiter unten). Seit Linux 2.6.11 hat SELinux diese Einschränkung aufgehoben und begonnen, »set« (Setzen\-)Aktionen mittels Schreibzugriffen auf diesen Knoten zu unterstützen, falls dies durch Richtlinien erlaubt wurde. Allerdings ist die Verwendung dieser Aktion nur für Anwendungen geeignet, denen vertraut wird, die gewünschte Separierung zwischen dem alten und dem neuen Sicherheitskontext aufrechtzuerhalten. Vor Linux 2.6.28 erlaubte es SELinux Threads innerhalb von Multi\-Threaded\-Prozessen nicht, ihren Sicherheitskontext mittels dieses Knotens zu setzen, da es zu einer Inkonsistenz innerhalb der Sicherheitskontexte der Threads, die den gleichen Speicher gemeinsam benutzen, führen würde. Seit 2.6.28 hat SELinux diese Einschränkung aufgehoben und begonnen, »set«\-Aktionen für Threads innerhalb von Multi\-Threaded\-Prozessen zu unterstützen, falls der neue Sicherheitskontext innerhalb der Grenzen des alten Sicherheitskontextes liegt, wobei die begrenzende Beziehung in den Richtlinien definiert ist und garantiert, dass der neue Sicherheitskontext über eine Teilmenge der Rechte des alten Sicherheitskontextes verfügt. Andere Sicherheitsmodule können sich entscheiden, »set«\-Aktionen über Schreibzugriffe auf diesen Knoten zu unterstützen. .TP \fI/proc/[PID]/attr/exec\fP (seit Linux 2.6.0) Diese Datei repräsentiert die Attribute, die den Prozessen bei nachfolgenden \fBexecve\fP(2) zugewiesen werden sollen. .IP In SELinux, this is needed to support role/domain transitions, and \fBexecve\fP(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 \fBexecve\fP(2) so that the new program reverts to the default behavior for any \fBexecve\fP(2) calls that it may make. In SELinux, a process can set only its own \fI/proc/[pid]/attr/exec\fP attribute. .TP \fI/proc/[PID]/attr/fscreate\fP (seit Linux 2.6.0) Diese Datei repräsentiert die Attribute, die Dateien, die von nachfolgenden Aufrufen von \fBopen\fP(2), \fBmkdir\fP(2), \fBsymlink\fP(2) und \fBmknod\fP(2) erstellt werden, zugewiesen werden sollen. .IP SELinux verwendet diese Datei, um die Erstellung einer Datei (mit den vorab erwähnten Systemaufrufen) in einem sicheren Zustand zu unterstützen, so dass es kein Risiko gibt, dass ein ungeeigneter Zugriff zwischen dem Zeitpunkt der Erstellung und dem Zeitpunkt des Setzens der Attribute gibt. In SELinux wird dieses Attribut bei \fBexecve\fP(2) zurückgesetzt, so dass das neue Programm wieder auf das alte Verhalten für alle seine Dateierstellungsaufrufe zurückfällt. Das Attribut wird aber über mehrere Dateierstellungsaufrufe hinweg innerhalb eines Programms erhalten bleiben, solange es nicht explizit zurückgesetzt wird. Unter SELinux kann ein Prozess nur sein eigenes Attribut \fI/proc/[PID]/attr/fscreate\fP setzen. .TP \fI/proc/[PID]/attr/keycreate\fP (seit Linux 2.6.18) .\" commit 4eb582cf1fbd7b9e5f466e3718a59c957e75254e .\" commit b68101a1e8f0263dbc7b8375d2a7c57c6216fb76 .\" commit d410fa4ef99112386de5f218dd7df7b4fca910b4 Falls ein Prozess ein Sicherheitskontext in diese Datei schreibt, werden alle nachfolgend erstellten Schlüssel (\fBadd_key\fP(2)) mit diesem Kontext gekennzeichnet. Für weitere Informationen siehe die Kernelquelldatei \fIDocumentation/security/keys/core.rst\fP (oder Datei \fIDocumentation/security/keys.txt\fP unter Linux zwischen 3.0 und 4.13 oder \fIDocumentation/keys.txt\fP vor Linux 3.0). .TP \fI/proc/[PID]/attr/prev\fP (seit Linux 2.6.0) Diese Datei enthält den Sicherheitskontext des Prozesses vor dem letzten \fBexecve\fP(2); d.h. den vorherigen Wert von \fI/proc/[PID]/attr/current\fP. .TP \fI/proc/[PID]/attr/socketcreate\fP (seit Linux 2.6.18) .\" commit 42c3e03ef6b298813557cdb997bd6db619cd65a2 Falls ein Prozess ein Sicherheitskontext in diese Datei schreibt, werden alle nachfolgend erstellten Sockets mit diesem Kontext gekennzeichnet. .TP \fI/proc/[PID]/autogroup\fP (seit Linux 2.6.38) .\" commit 5091faa449ee0b7d73bc296a93bca9540fc51d0a siehe \fBsched\fP(7) .TP \fI/proc/[PID]/auxv\fP (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 \fIunsigned long\fP\-Kennung plus ein \fIunsigned long\fP\-Wert für jeden Eintrag. Der letzte Eintrag enthält zwei Nullen. Siehe auch \fBgetauxval\fP(3). .IP Die Zugriffsberechtigungen dieser Datei werden von einer Ptrace\-Zugriffsmodusprüfung \fBPTRACE_MODE_READ_FSCREDS\fP geregelt; siehe \fBptrace\fP(2). .TP \fI/proc/[PID]/cgroup\fP (seit Linux 2.6.24) siehe \fBcgroups\fP(7) .TP \fI/proc/[PID]/clear_refs\fP (seit Linux 2.6.22) .\" commit b813e931b4c8235bb42e301096ea97dbdee3e8fe (2.6.22) .\" commit 398499d5f3613c47f2143b8c54a04efb5d7a6da9 (2.6.32) .\" commit 040fa02077de01c7e08fa75be6125e4ca5636011 (3.11) .\" .\" "Clears page referenced bits shown in smaps output" .\" write-only, writable only by the owner of the process .IP In diese Datei kann nur geschrieben werden und nur durch den Eigentümer des Prozesses. .IP Die folgenden Werte dürfen in die Datei geschrieben werden: .RS .TP 1 (seit Linux 2.6.22) .\" Internally: CLEAR_REFS_ALL setzt die Bits PG_Referenced und ACCESSED/YOUNG für alle diesem Prozess zugeordneten Seiten zurück. (Vor Kernel 2.6.32 hatte das Schreiben eines beliebigen von Null verschiedenen Wertes in diese Datei diesen Effekt.) .TP 2 (seit Linux 2.6.32) .\" Internally: CLEAR_REFS_ANON setzt die Bits PG_Referenced und ACCESSED/YOUNG für alle anonymen Seiten, die dem Prozess zugeordnet sind, zurück. .TP 3 (seit Linux 2.6.32) .\" Internally: CLEAR_REFS_MAPPED Reset the PG_Referenced and ACCESSED/YOUNG bits for all file\-mapped pages associated with the process. .RE .IP 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 \fI/proc/[pid]/smaps\fP 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. .IP Weitere Werte können geschrieben werden, um andere Eigenschaften zu beeinflussen: .RS .TP 4 (seit Linux 3.11) .\" Internally: CLEAR_REFS_SOFT_DIRTY Clear the soft\-dirty bit for all the pages associated with the process. This is used (in conjunction with \fI/proc/[pid]/pagemap\fP) by the check\-point restore system to discover which pages of a process have been dirtied since the file \fI/proc/[pid]/clear_refs\fP was written to. .TP 5 (seit Linux 4.0) .\" Internally: CLEAR_REFS_MM_HIWATER_RSS setzt die Resident Set Size (»Hochwassermarke«) auf den derzeitigen Wert der resident set size des aktuellen Prozesses zurück. .RE .IP Wird ein anderer als einer der oben aufgeführten Werte in \fI/proc/[PID]/clear_refs\fP geschrieben, so hat dies keinen Effekt. .IP Die Datei \fI/proc/[PID]/clear_refs\fP ist nur vorhanden, wenn die Kernel\-Konfigurationsoption \fBCONFIG_PROC_PAGE_MONITOR\fP aktiviert ist. .TP \fI/proc/[PID]/cmdline\fP .\" In 2.3.26, this also used to be true if the process was swapped out. 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 (\(aq\e0\(aq). Nach der letzten Zeichenkette folgt noch ein Null\-Byte. .TP \fI/proc/[PID]/comm\fP (seit Linux 2.6.33) .\" commit 4614a696bd1c3a9af3a08f0e5874830a85b889d4 Diese Datei legt den Wert \fIcomm\fP des Prozesses offen – das bedeutet, den Befehlsnamen, der diesem Prozess zugeordnet ist. Verschiedene Threads in dem gleichen Prozess können verschiedene Werte von \fIcomm\fP haben, auf die mittels \fI/proc/[PID]/task/[TID]/comm\fP zugegriffen werden kann. Ein Thread kann seinen \fIcomm\fP\-Wert verändern oder den eines anderen Threads in der gleichen Thread\-Gruppe (siehe die Diskussion von \fBCLONE_THREAD\fP in \fBclone\fP(2)), indem er in die Datei \fI/proc/self/task/[TID]/comm\fP schreibt. Zeichenketten länger als \fBTASK_COMM_LEN\fP (16) Zeichen werden ohne Rückmeldung abgeschnitten. .IP Diese Datei stellt eine Obermenge der Aktionen \fBprctl\fP(2) \fBPR_SET_NAME\fP und \fBPR_GET_NAME\fP bereit und wird durch \fBpthread_setname_np\fP(3) eingesetzt, wenn vom Aufrufenden verschiedene Threads umbenannt werden. .TP \fI/proc/[PID]/coredump_filter\fP (seit Linux 2.6.23) siehe \fBcore\fP(5) .TP \fI/proc/[PID]/cpuset\fP (seit Linux 2.6.12) .\" and/proc/[pid]/task/[tid]/cpuset siehe \fBcpuset\fP(7) .TP \fI/proc/[PID]/cwd\fP 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: .IP .in +4n .EX $\fB cd /proc/20/cwd; /bin/pwd\fP .EE .in .IP Beachten Sie, dass der Befehl \fIpwd\fP häufig in die Shell eingebaut ist (shell built\-in) und daher möglicherweise nicht ordnungsgemäß funktioniert. Mit der \fBbash\fP(1) können Sie \fIpwd\ \-P\fP verwenden. .IP .\" The following was still true as at kernel 2.6.13 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 \fBpthread_exit\fP(3)). .IP Die Rechte, diesen symbolischen Link zu dereferenzieren oder zu lesen (\fBreadlink\fP(2)), werden von einer Ptrace\-Zugriffsmodusprüfung \fBPTRACE_MODE_READ_FSCREDS\fP gesteuert; siehe \fBptrace\fP(2). .TP \fI/proc/[PID]/environ\fP Diese Datei enthält die anfängliche Prozess\-Umgebung, die gesetzt wurde, als das aktuell ausgeführte Programm mit einem \fBexecve\fP(2) gestartet wurde. Die Einträge werden durch Null\-Bytes (\(aq\e0\(aq) getrennt, am Ende der Liste kann ebenfalls ein Null\-Byte stehen. Die Umgebung von Prozess 1 geben Sie wie folgt aus: .IP .in +4n .EX $\fB strings /proc/1/environ\fP .EE .in .IP Falls ein Prozess nach einem \fBexecve\fP(2) seine Umgebung verändert (z.B. durch Aufruf von Funktionen wie \fBputenv\fP(3) oder durch direkte Veränderungen der \fBenviron\fP(7)\-Variablen) wird diese Datei solche Änderungen \fInicht\fP berücksichtigen. .IP Ein Prozess kann desweiteren den Speicherort, auf den diese Datei verweist, mittels der \fBprctl\fP(2)\-Aktionen wie \fBPR_SET_MM_ENV_START\fP verändern. .IP Die Zugriffsberechtigungen dieser Datei werden von einer Ptrace\-Zugriffsmodusprüfung \fBPTRACE_MODE_READ_FSCREDS\fP geregelt; siehe \fBptrace\fP(2). .TP \fI/proc/[PID]/exe\fP .\" The following was still true as at kernel 2.6.13 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 \fI/proc/[PID]/exe\fP eingeben, um eine weitere Kopie der gleichen ausführbaren Datei auszuführen, die für den Prozess [PID] läuft. Falls der Pfadname mit unlink gelöscht wurde wird der symbolische Link die Zeichenkette \(aq(deleted)\(aq 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 \fBpthread_exit\fP(3)). .IP Die Rechte, diesen symbolischen Link zu dereferenzieren oder zu lesen (\fBreadlink\fP(2)), werden von einer Ptrace\-Zugriffsmodusprüfung \fBPTRACE_MODE_READ_FSCREDS\fP gesteuert; siehe \fBptrace\fP(2). .IP Unter Linux 2.0 und früher ist \fI/proc/[PID]/exe\fP ein Zeiger auf das Programm, das ausgeführt wurde und erscheint als symbolischer Link. Ein Aufruf von \fBreadlink\fP(2) auf diese Datei unter Linux 2.0 gibt eine Zeichenkette im folgenden Format zurück: .IP [Gerät]:Inode .IP 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). .IP \fBfind\fP(1) mit der Option \fI\-inum\fP zeigt, in welchem Verzeichnis die Datei liegt. .TP \fI/proc/[PID]/fd/\fP 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. .IP Für Dateideskriptoren für Pipes und Sockets werden die Einträge symbolische Links sein, deren Inhalt der Dateityp mit dem Inode ist. Ein Aufruf von \fBreadlink\fP(2) mit dieser Datei liefert eine Zeichenkette im folgenden Format zurück: .IP Typ:[Inode] .IP Beispielsweise wird \fIsocket:[2248868]\fP ein Socket sein, dessen Inode 2248868 ist. Für Sockets kann dieser Inode dazu verwandt werden, weitere Informationen in einem der Dateien unter \fI/proc/net/\fP zu finden. .IP Für Dateideskriptoren, die keinen korrespondierenden Inode haben (d.h. durch \fBbpf\fP(2), \fBepoll_create\fP(2), \fBeventfd\fP(2), \fBinotify_init\fP(2), \fBperf_event_open\fP(2), \fBsignalfd\fP(2), \fBtimerfd_create\fP(2) und \fBuserfaultfd\fP(2) erstellte Dateideskriptoren), wird der Eintrag ein symbolischer Link sein mit Inhalten der Form .IP anon_inode: .IP In vielen (aber nicht allen) Fällen wird \fIDateityp\fP durch eckige Klammern eingeschlossen. .IP Beispielsweise wird ein Epoll\-Dateideskriptor einen symbolischen Link, dessen Inhalt die Zeichenkette \fIanon_inode:[eventpoll]\fP ist, haben. .IP .\"The following was still true as at kernel 2.6.13 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 \fBpthread_exit\fP(3)). .IP Programme, die einen Dateinamen als Befehlszeilen\-Argument verarbeiten, aber ohne Argument keine Eingaben aus der Standardeingabe annehmen oder die in eine Datei schreiben, deren Name als Befehlszeilen\-Argument übergeben wird, aber bei fehlendem Argument nicht in die Standardausgabe ausgeben, können dennoch mittels Dateien \fI/proc/[PID]/fd\fP als Befehlszeilenargument dazu gebracht werden, die Standardeingabe oder die Standardausgabe zu verwenden. Angenommen, der Schalter \fI\-i\fP bezeichnet die Eingabedatei und \fI\-o\fP die Ausgabedatei: .IP .in +4n .EX $\fB foobar \-i /proc/self/fd/0 \-o /proc/self/fd/1 …\fP .EE .in .IP .\" The following is not true in my tests (MTK): .\" Note that this will not work for .\" programs that seek on their files, as the files in the fd directory .\" are not seekable. und Sie haben einen funktionierenden Filter. .IP \fI/proc/self/fd/N\fP ist in etwa dasselbe wie \fI/dev/fd/N\fP in einigen UNIX\- und UNIX\-ähnlichen Systemen. Die meisten MAKEDEV\-Skripte legen tatsächlich symbolische Links von \fI/proc/self/fd\fP zu \fI/dev/fd\fP an. .IP Die meisten Systeme stellen die symbolischen Links \fI/dev/stdin\fP, \fI/dev/stdout\fP und \fI/dev/stderr\fP bereit, die entsprechend auf die Dateien \fI0\fP, \fI1\fP und \fI2\fP in \fI/proc/self/fd\fP weisen. Das letzte Beispiel könnte also auch alternativ geschrieben werden als: .IP .in +4n .EX $\fB foobar \-i /dev/stdin \-o /dev/stdout …\fP .EE .in .IP Die Rechte, die symbolischen Links in diesem Verzeichnis zu dereferenzieren oder zu lesen (\fBreadlink\fP(2)), werden von einer Ptrace\-Zugriffsmodusprüfung \fBPTRACE_MODE_READ_FSCREDS\fP gesteuert; siehe \fBptrace\fP(2). .IP Beachten Sie, dass für Dateideskriptoren, die sich auf Inodes beziehen (Pipes und Sockets, siehe oben), diese Inodes immer noch die von den Einträgen \fI/proc/[PID]/fd\fP verschiedenen Berechtigungsbits und Eigentümerinformationen haben und dass sich der Eigentümer von den Benutzer\- und Gruppenkennungen des Prozesses unterscheiden kann. Einem nicht privilegierten Prozess könnten die Rechte zum Öffnen fehlen, wie in diesem Beispiel: .IP .in +4n .EX $\fB echo test | sudo \-u nobody cat\fP test $\fB echo test | sudo \-u nobody cat /proc/self/fd/0\fP cat: /proc/self/fd/0: Permission denied .EE .in .IP Dateideskriptor 0 bezieht sich auf die durch die Shell erzeugte und von diesem Shell\-Benutzer (dies ist \fInobody\fP) besessene Pipe, so dass \fBcat\fP nicht über die Berechtigungen verfügt, um einen neuen Dateideskriptor zu erstellen, um von dieser Inode zu lesen, obwohl es immer noch vom existierenden Dateideskriptor 0 lesen kann. .TP \fI/proc/[PID]/fdinfo/\fP (seit Linux 2.6.22) In diesem Unterverzeichnis stehen die Dateideskriptoren aller von diesem Prozess geöffneten Dateien. Die Dateien in diesem Verzeichnis können nur von dem Eigentümer des Prozesses gelesen werden. Der Inhalt jeder Datei kann gelesen werden, um Informationen über den entsprechenden Dateideskriptor zu bekommen. Der Inhalt hängt von der Art der Datei ab, die von dem entsprechenden Dateideskriptor referenziert wird. .IP Für reguläre Dateien und Verzeichnisse ergibt sich etwas der Form: .IP .in +4n .EX $\fB cat /proc/12015/fdinfo/4\fP pos: 1000 flags: 01002002 mnt_id: 21 .EE .in .IP Die Bedeutung der Felder im Einzelnen: .RS .TP \fIpos\fP Dies ist eine Dezimalzahl, die den Dateiversatz zeigt. .TP \fIflags\fP Dies ist eine oktale Zahl, die den Dateizugriffsmodus und die Dateistatusschalter anzeigt (siehe \fBopen\fP(2)). Falls der »close\-on\-exec«\-Dateideskriptorschalter gesetzt ist, wird \fIflags\fP auch den Wert \fBO_CLOEXEC\fP enthalten. .IP .\" commit 1117f72ea0217ba0cc19f05adbbd8b9a397f5ab7 Vor Linux 3.1 zeigte dieses Feld inkorrekterweise die Einstellung von \fBO_CLOEXEC\fP zum Zeitpunkt des Öffnens der Datei an, statt den aktuellen Wert des Schalters close\-on\-exec. .TP \fImnt_id\fP .\" commit 49d063cb353265c3af701bab215ac438ca7df36d Dieses seit Linux 3.15 vorhandene Feld zeigt die Kennung des Einhängepunktes an, der diese Datei enthält. Siehe die Beschreibung von \fI/proc/[PID]/mountinfo\fP. .RE .IP .\" commit cbac5542d48127b546a23d816380a7926eee1c25 Für den Eventfd\-Dateideskriptor (siehe \fBeventfd\fP(2)) gibt es (seit Linux 3.8) die folgenden Felder: .IP .in +4n .EX pos: 0 flags: 02 mnt_id: 10 eventfd\-count: 40 .EE .in .IP \fIeventfd\-count\fP ist der aktuelle hexadezimale Wert des Eventfd\-Zählers. .IP .\" commit 138d22b58696c506799f8de759804083ff9effae Für den Epoll\-Dateideskriptor (siehe \fBepoll\fP(7)) gibt es (seit Linux 3.8) die folgenden Felder: .IP .in +4n .EX pos: 0 flags: 02 mnt_id: 10 tfd: 9 events: 19 data: 74253d2500000009 tfd: 7 events: 19 data: 74253d2500000007 .EE .in .IP Jede mit \fItfd\fP beginnende Zeile beschreibt einen Dateideskriptor, der mit dem Epoll\-Dateideskriptor überwacht wird (siehe \fBepoll_ctl\fP(2) für weitere Details). Das Feld \fItfd\fP ist die Nummer des Dateideskriptors. Das Feld \fIevents\fP ist eine hexadezimale Maske der für diesen Dateideskriptor überwachten Ereignisse. Das Feld \fIdata\fP ist der diesem Dateideskriptor zugeordnete Datenwert. .IP .\" commit 138d22b58696c506799f8de759804083ff9effae Für den Signalfd\-Dateideskriptor (siehe \fBsignalfd\fP(2)) gibt es (seit Linux 3.8) die folgenden Felder: .IP .in +4n .EX pos: 0 flags: 02 mnt_id: 10 sigmask: 0000000000000006 .EE .in .IP \fIsigmask\fP ist die hexadezimale Maske der Signale, die über diesen Signalfd\-Dateideskriptor akzeptiert werden. (In diesem Beispiel sind die Bits 2 und 3 gesetzt; dies entspricht den Signalen \fBSIGINT\fP und \fBSIGQUIT\fP; siehe \fBsignal\fP(7).) .IP Für Inotify\-Dateideskriptoren (siehe \fBinotify\fP(7)) gibt es (seit Linux 3.8) die folgenden Felder: .IP .in +4n .EX pos: 0 flags: 00 mnt_id: 11 inotify wd:2 ino:7ef82a sdev:800001 mask:800afff ignored_mask:0 fhandle\-bytes:8 fhandle\-type:1 f_handle:2af87e00220ffd73 inotify wd:1 ino:192627 sdev:800001 mask:800afff ignored_mask:0 fhandle\-bytes:8 fhandle\-type:1 f_handle:27261900802dfd73 .EE .in .IP Jede der mit »inotify« beginnenden Zeilen zeigt Informationen über eine überwachte Datei oder ein überwachtes Verzeichnis an. Die Felder in dieser Zeile sind wie folgt: .RS .TP \fIwd\fP A watch descriptor number (in decimal). .TP \fIino\fP Die Inode\-Nummer der Zieldatei (hexadezimal). .TP \fIsdev\fP Die Kennung des Gerätes, auf dem sich die Zieldatei befindet (hexadezimal). .TP \fImask\fP Die Maske der für die Zieldatei überwachten Ereignisse (hexadezimal). .RE .IP Falls der Kernel mit Exportfs\-Unterstützung gebaut wurde, ist der Pfad zu der Zieldatei mittels drei hexadezimaler Felder als Datei\-Handle offengelegt: \fIfhandle\-bytes\fP, \fIfhandle\-type\fP und \fIf_handle\fP. .IP Für Fanotify\-Dateideskriptoren (siehe \fBfanotify\fP(7)) gibt es (seit Linux 3.8) die folgenden Felder: .IP .in +4n .EX pos: 0 flags: 02 mnt_id: 11 fanotify flags:0 event\-flags:88002 fanotify ino:19264f sdev:800001 mflags:0 mask:1 ignored_mask:0 fhandle\-bytes:8 fhandle\-type:1 f_handle:4f261900a82dfd73 .EE .in .IP Das vierte Feld zeigt Informationen, die bei der Erstellung der Fanotify\-Gruppe mittels \fBfanotify_init\fP(2) definiert wurden: .RS .TP \fIflags\fP Das an \fBfanotify_init\fP(2) übergebene Argument \fIflags\fP (hexadezimal ausgedrückt). .TP \fIevent\-flags\fP Das an \fBfanotify_init\fP(2) übergebene Argument \fIevent_f_flags\fP (hexadezimal ausgedrückt). .RE .IP Jede zusätzliche in der Datei gezeigte Zeile enthält Informationen über eine der Markierungen in der Fanotify\-Gruppe. Die meisten der Felder sind für Inotify, außer: .RS .TP \fImflags\fP Die der Markierung zugeordneten Schalter (hexadezimal ausgedrückt). .TP \fImask\fP Die Ereignismaske für diese Markierung (hexadezimal ausgedrückt). .TP \fIignored_mask\fP Die Maske der für diese Markierung ignorierten Ereignisse (hexadezimal ausgedrückt). .RE .IP Für Details über diese Felder lesen Sie \fBfanotify_mark\fP(2). .TP \fI/proc/[PID]/gid_map\fP (seit Linux 3.5) Siehe \fBuser_namespaces\fP(7). .TP \fI/proc/[PID]/io\fP (seit Kernel 2.6.20) .\" commit 7c3ab7381e79dfc7db14a67c6f4f3285664e1ec2 Diese Datei enthält E/A\-Statistiken für den Prozess, beispielsweise: .IP .in +4n .EX #\fB cat /proc/3828/io\fP rchar: 323934931 wchar: 323929600 syscr: 632687 syscw: 632675 read_bytes: 0 write_bytes: 323932160 cancelled_write_bytes: 0 .EE .in .IP Die Bedeutung der Felder im Einzelnen: .RS .TP \fIrchar\fP: characters read (gelesene Zeichen) Die Anzahl an Bytes, die aufgrund dieses Prozesses vom Speicher gelesen wurden. Dies ist einfach die Summe der Bytes, die dieser Prozess an \fBread\fP(2) und ähnliche Systemaufrufe übergeben hat. Sie enthält Dinge wie Terminal\-E/A und ist unabhängig davon, ob wirklich physische Platten\-E/A benötigt wurde (die Leseanforderung kann aus dem Seitenzwischenspeicher befriedigt worden sein). .TP \fIwchar\fP: characters written (geschriebene Zeichen) Die Anzahl an Bytes, die aufgrund dieses Prozesses auf Platte geschrieben wurden oder werden. Es gelten ähnliche Warnungen wie bei \fIrchar\fP. .TP \fIsyscr\fP: Syscalls lesen Ein Versuch, die Anzahl der gelesen E/A\-Vorgänge zu zählen (d.h. der Systemaufrufe wie \fBread\fP(2) und \fBpread\fP(2)). .TP \fIsyscw\fP: Syscalls schreiben Ein Versuch, die Anzahl der geschriebenen E/A\-Vorgänge zu zählen (d.h. der Systemaufrufe wie \fBwrite\fP(2) und \fBpwrite\fP(2)). .TP \fIread_bytes\fP: bytes read (gelesene Bytes) Versucht, die Anzahl der Bytes zu zählen, die aufgrund dieses Prozesses wirklich von der Speichereinheit geholt wurden. Für blockunterstützte Dateisysteme ist dies genau. .TP \fIwrite_bytes\fP: bytes written (geschriebene Bytes) Ein Versuch, die Anzahl der Bytes, die ausgelöst durch diesen Prozess zum Speichermedium gesandt wurden, zu zählen. .TP \fIcancelled_write_bytes\fP: Die große Ungenauigkeit hier ist das Abschneiden. Falls ein Prozess 1 MB in eine Datei schreibt und diese dann löscht, wird tatsächlich nichts rausgeschrieben. Allerdings wird dies als 1 MB Schreiben in eine Datei verbucht. Mit anderen Worten: Dieses Feld stellt die Anzahl an Bytes dar, die durch diesen Prozess nicht passiert sind, indem der Seitenzwischenspeicher abgeschnitten wurde. Ein Prozess kann auch »negative« E/A hervorrufen. Falls dieser Prozess benutzten (»dirty«) Seitenzwischenspeicher abschneidet, wird ein Teil des E/A, der für einen anderen Prozess (in seinem \fIwrite_bytes\fP) verbucht wurde, nicht passieren. .RE .IP \fIHinweis\fP: In der aktuellen Implementierung gibt es auf 32\-Bit\-Systemen einen kleinen Ressourcenwettlauf: Falls Prozess A \fI/proc/[PID]/io\fP von Prozess B liest, während Prozess B einen der 64\-Bit\-Zähler aktualisiert, könnte Prozess A ein Zwischenergebnis sehen. .IP Die Zugriffsberechtigungen dieser Datei werden von einer Ptrace\-Zugriffsmodusprüfung \fBPTRACE_MODE_READ_FSCREDS\fP geregelt; siehe \fBptrace\fP(2). .TP \fI/proc/[PID]/limits\fP (seit Linux 2.6.24) .\" commit 3036e7b490bf7878c6dae952eec5fb87b1106589 .\" FIXME Describe /proc/[pid]/loginuid .\" Added in 2.6.11; updating requires CAP_AUDIT_CONTROL .\" CONFIG_AUDITSYSCALL Diese Datei enthält die weichen und harten Grenzen sowie die Maßeinheiten der für den Prozess geltenden Ressourcenbeschränkungen (siehe \fBgetrlimit\fP(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. .TP \fI/proc/[PID]/map_files/\fP (seit Kernel 3.3) .\" commit 640708a2cff7f81e246243b0073c66e6ece7e53e This subdirectory contains entries corresponding to memory\-mapped files (see \fBmmap\fP(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: .IP .in +4n .EX #\fB ls \-l /proc/self/map_files/\fP lr\-\-\-\-\-\-\-\-. 1 root root 64 Apr 16 21:31 3252e00000\-3252e20000 \-> /usr/lib64/ld\-2.15.so … .EE .in .IP Although these entries are present for memory regions that were mapped with the \fBMAP_FILE\fP flag, the way anonymous shared memory (regions created with the \fBMAP_ANON | MAP_SHARED\fP 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 \fI/dev/zero\fP one: .IP .in +4n .EX lrw\-\-\-\-\-\-\-. 1 root root 64 Apr 16 21:33 7fc075d2f000\-7fc075e6f000 \-> /dev/zero (deleted) .EE .in .IP .\" FIXME .\" This may change. See the mail thread .\" "[RFC][PATCH v2] procfs: Always expose /proc//map_files/ and make it readable" .\" from Jan 2015 Dieses Verzeichnis erscheint nur, falls die Kernel\-Konfigurationsoption \fBCONFIG_CHECKPOINT_RESTORE\fP aktiviert ist. Um den Inhalt dieses Verzeichnisses zu sehen, wird das Privileg \fBCAP_SYS_ADMIN\fP benötigt. .TP \fI/proc/[PID]/maps\fP A file containing the currently mapped memory regions and their access permissions. See \fBmmap\fP(2) for some further information about memory mappings. .IP Die Zugriffsberechtigungen dieser Datei werden von einer Ptrace\-Zugriffsmodusprüfung \fBPTRACE_MODE_READ_FSCREDS\fP geregelt; siehe \fBptrace\fP(2). .IP Das Format der Datei lautet: .IP .in 4n .EX \fIaddress perms offset dev inode pathname\fP 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] .EE .in .IP The \fIaddress\fP field is the address space in the process that the mapping occupies. The \fIperms\fP field is a set of permissions: .IP .in +4 .EX r = read (lesen) w = write (schreiben) x = execute (ausführen) s = shared (gemeinsam benutzt) p = private (copy on write) (Kopieren bei Schreibzugriffen) .EE .in .IP Das Feld \fIoffset\fP ist der Abstand zum Anfang (der Datei oder was auch immer), \fIdev\fP steht für das Gerät (major:minor) und \fIInode\fP 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). .IP The \fIpathname\fP field will usually be the file that is backing the mapping. For ELF files, you can easily coordinate with the \fIoffset\fP field by looking at the Offset field in the ELF program headers (\fIreadelf\ \-l\fP). .IP Es gibt zusätzliche, hilfreiche Pseudo\-Pfade: .RS 12 .TP \fI[stack]\fP Der initiale Stack des Prozesses (auch als Haupt\-Thread bekannt). .TP \fI[stack:]\fP (seit Linux 3.4) .\" commit b76437579d1344b612cf1851ae610c636cec7db0 Der Stack eines Prozesses (wobei die \fI\fP eine Thread\-Kennung ist). Er entspricht dem Pfad \fI/proc/[PID]/task/[TID]/\fP. .TP \fI[vdso]\fP Das virtuelle dynamisch\-gelinkte Laufzeitobjekt. Siehe \fBvdso\fP(7). .TP \fI[heap]\fP Der Prozess\-Heap. .in .RE .IP If the \fIpathname\fP field is blank, this is an anonymous mapping as obtained via \fBmmap\fP(2). There is no easy way to coordinate this back to a process's source, short of running it through \fBgdb\fP(1), \fBstrace\fP(1), or similar. .IP Unter Linux 2.0 gibt es kein Feld, das den Pfadnamen angibt. .TP \fI/proc/[PID]/mem\fP Diese Datei kann genutzt werden, um auf die Speicherseiten des Prozesses mittels \fBopen\fP(2), \fBread\fP(2) und \fBlseek\fP(2) zuzugreifen. .IP Die Rechte, auf diese Datei zuzugreifen, werden von einer Ptrace\-Zugriffsmodusprüfung \fBPTRACE_MODE_ATTACH_FSCREDS\fP gesteuert; siehe \fBptrace\fP(2). .TP \fI/proc/[PID]/mountinfo\fP (seit Linux 2.6.26) .\" This info adapted from Documentation/filesystems/proc.txt .\" commit 2d4d4864ac08caff5c204a752bd004eed4f08760 Diese Datei enthält Informationen über Einhängepunkte im Einhängenamensraum des Prozesses (siehe \fBmount_namespaces\fP(7)). Sie stellt verschiedene Informationen (z.B. Ausbreitungszustand, Wurzel von Einhängungen für Bind\-Einhängungen, Kennzeichner für jede Einhängung und seine Elterneinhängung) bereit, die in der (älteren) Datei \fI/proc/[PID]/mounts\fP fehlen und korrigiert verschiedene andere Probleme mit dieser Datei (z.B. Nichterweiterbarkeit, keine Unterscheidbarkeit von pro\-Einhängung\- vs. pro\-Superblock\-Optionen). .IP Die Datei enthält Zeilen der folgenden Form: .IP .in 0n .EX 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) .in .EE .IP Die Zahlen in Klammern sind Zuordnungen zu den folgenden Beschreibungen: .RS 7 .TP 5 (1) Einhängekennung: eine eindeutige Kennung für dieses Einhängen (kann nach \fBumount\fP(2) erneut verwendet werden). .TP (2) Elternkennung: die Kennung der Eltern\-Einhängung (oder von selbst für die Wurzel des Einhängebaums dieses Einhängenamensraums) .IP .\" Miklos Szeredi, Nov 2017: The hidden one is the initramfs, I believe .\" mtk: In the initial mount namespace, this hidden ID has the value 0 Falls der Elterneinhängepunkt außerhalb des Wurzelverzeichnisses des Prozesses liegt (siehe \fBchroot\fP(2)) wird die hier gezeigte Kennung keinen korrespondierenden Datensatz in \fImountinfo\fP haben, dessen Einhängekennung (Feld 1) auf die Einhängekennung des Elternprozesses passt (da Einhängepunkte, die außerhalb des Wurzelverzeichnisses des Prozesses liegen, nicht in \fImountinfo\fP angezeigt werden). Als Sonderfall bei diesem Punkt kann der Wurzeleinhängungspunkt dieses Prozesses eine Elterneinhängung (für das Initramfs\-Dateisystem) haben, der außerhalb des Wurzelverzeichnisses des Prozesses liegt, und ein Eintrag für diesen Einhängepunkt wird in \fImountinfo\fP nicht auftauchen. .TP (3) Major:Minor: der Wert von \fIst_dev\fP für Dateien im Dateisystem (siehe \fBstat\fP(2)). .TP (4) Wurzel: der Pfadname des Verzeichnisses in dem Dateisystem, der die Wurzel dieser Einhängung darstellt. .TP (5) Einhängepunkt: der Einhängepunkt relativ zum Wurzelverzeichnis des Prozesses. .TP (6) Einhängeoptionen: individuelle Einhängeoptionen. .TP (7) Optionale Felder: ein oder mehrere Felder der Form »Bezeichnung[:Wert]« (siehe unten). .TP (8) Trennzeichen: Das Ende der optionalen Felder wird durch einen einzelnen Gedankenstrich markiert. .TP (9) Dateisystemtyp: der Typ des Dateisystems im Format »Typ[.Untertyp]«. .TP (10) Einhänge\-Ursprung: dateisystemspezifische Informationen oder »none«. .TP (11) Super\-Optionen: individuelle Superblock\-Optionen. .RE .IP Derzeit sind \fIshared\fP, \fImaster\fP, \fIpropagate_from\fP und \fIunbindable\fP mögliche optionale Felder. Siehe \fBmount_namespaces\fP(7) für eine Beschreibung dieser Felder. Auswertprogramme sollten alle nicht erkannten optionalen Felder ignorieren. .IP Weitere Informationen zur Ausbreitung von Einhängepunkten finden Sie in \fIDocumentation/filesystems/sharedsubtree.txt\fP im Linux\-Kernel\-Quelltext. .TP \fI/proc/[PID]/mounts\fP (seit Linux 2.4.19) Diese Datei listet alle Dateisysteme auf, die derzeit in dem Einhängenamensraum des Prozesses eingehängt sind (siehe \fBmount_namespaces\fP(7)). Das Format dieser Datei wird in \fBfstab\fP(5) dokumentiert. .IP 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) \fBselect\fP(2), den Dateideskriptor als besondere Bedingung und \fBpoll\fP(2) und \fBepoll_wait\fP(2) die Datei als Prioritätsereignis (\fBPOLLPRI\fP) zu markieren. (Vor Linux 2.6.30 führte eine Änderung in dieser Datei dazu, dass der Dateideskriptor als lesbar für \fBselect\fP(2) und als Fehlerzustand für \fBpoll\fP(2) und \fBepoll_wait\fP(2) markiert wurde.) .TP \fI/proc/[PID]/mountstats\fP (seit Linux 2.6.17) Diese Datei macht Informationen (Statistiken, Konfigurationsinformation) über die Einhängepunkte im »mount«\-Namensraum des Prozesses verfügbar (siehe \fBmount_namespaces\fP(7)). Zeilen in dieser Datei haben die folgende Form: .IP .in +4n .EX device /dev/sda7 mounted on /home with fstype ext3 [statistics] ( 1 ) ( 2 ) (3 ) (4) .EE .in .IP Die Felder in jeder Zeile sind: .RS 7 .TP 5 (1) Der Name des eingehängten Geräts (oder »nodevice«, wenn es kein entsprechendes Gerät gibt). .TP (2) Der Einhängepunkt innerhalb des Dateisystembaums. .TP (3) Der Dateisystemtyp. .TP (4) Optionale Statistiken und Konfigurationsinformationen. Derzeit (Stand Linux 2.6.26) stellen nur NFS\-Dateisysteme Informationen in diesem Feld bereit. .RE .IP Diese Datei kann nur vom Eigentümer des Prozesses gelesen werden. .TP \fI/proc/[PID]/net\fP (seit Linux 2.6.25) Siehe die Beschreibung von \fI/proc/net\fP. .TP \fI/proc/[PID]/ns/\fP (seit Linux 3.0) .\" See commit 6b4e306aa3dc94a0545eb9279475b1ab6209a31f Dieses Unterverzeichnis enthält einen Eintrag für jeden Namensraum, der mittels \fBsetns\fP(2) manipuliert werden kann. Für weitere Informationen siehe \fBnamespaces\fP(7). .TP \fI/proc/[PID]/numa_maps\fP (seit Linux 2.6.14) Siehe \fBnuma\fP(7). .TP \fI/proc/[PID]/oom_adj\fP (seit Linux 2.6.11) Diese Datei kann verwendet werden, um den Wert anzupassen, anhand dessen Prozesse bei Speichermangel (out\-of\-memory, OOM) abgebrochen werden. Der Kernel verwendet diesen Wert für eine Bit\-Verschiebeoperation des \fIoom_score\fP\-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. .IP Der Standardwert für diese Datei ist 0. Ein neuer Prozess erbt die Einstellung \fIoom_adj\fP von seinem Elternprozess. Ein Prozess muss privilegiert sein (\fBCAP_SYS_RESOURCE\fP), um diese Datei zu aktualisieren. .IP seit Linux 2.6.36 wird die Verwendung dieser Datei gegenüber \fI/proc/[PID]/oom_score_adj\fP missbilligt. .TP \fI/proc/[PID]/oom_score\fP (seit Linux 2.6.11) .\" See mm/oom_kill.c::badness() in pre 2.6.36 sources .\" See mm/oom_kill.c::oom_badness() after 2.6.36 .\" commit a63d83f427fbce97a6cea0db2e64b0eb8435cd10 .\" See mm/oom_kill.c::badness() in pre 2.6.36 sources .\" See mm/oom_kill.c::oom_badness() after 2.6.36 .\" commit a63d83f427fbce97a6cea0db2e64b0eb8435cd10 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: .RS .IP * 2 .\" More precisely, if it has CAP_SYS_ADMIN or (pre 2.6.36) CAP_SYS_RESOURCE ob der Prozess privilegiert ist (\-). .RE .IP Vor Kernel 2.6.36 wurden die folgenden Faktoren auch bei der Berechnung von oom_score benutzt: .RS .IP * 2 ob der Prozess mittels \fBfork\fP(2) viele Kinder erzeugt (+); .IP * ob der Prozess schon lange läuft oder viel CPU\-Zeit verbraucht hat (\-); .IP * ob der Prozess einen niedrigen Nice\-Wert hat (d.h. > 0) (+); und .IP * .\" More precisely, if it has CAP_SYS_RAWIO ob der Prozess direkt auf die Hardware zugreift (\-). .RE .IP Der \fIoom_score\fP spiegelt auch die Anpassung durch die \fIoom_score_adj\fP\- oder \fIoom_adj\fP\-Einstellung für den Prozess. .TP \fI/proc/[PID]/oom_score_adj\fP (seit Linux 2.6.36) .\" Text taken from 3.7 Documentation/filesystems/proc.txt This file can be used to adjust the badness heuristic used to select which process gets killed in out\-of\-memory conditions. .IP 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. .IP There is an additional factor included in the badness score: root processes are given 3% extra memory over other tasks. .IP 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 \fBcpuset\fP(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. .IP The value of \fIoom_score_adj\fP 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. .IP Consequently, it is very simple for user space to define the amount of memory to consider for each task. Setting an \fIoom_score_adj\fP 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. .IP For backward compatibility with previous kernels, \fI/proc/[pid]/oom_adj\fP can still be used to tune the badness score. Its value is scaled linearly with \fIoom_score_adj\fP. .IP Schreiben in \fI/proc/[PID]/oom_score_adj\fP oder \fI/proc/[PID]/oom_adj\fP führt zur Änderung des anderen mit dem skalierten Wert. .TP \fI/proc/[PID]/pagemap\fP (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: .RS 12 .TP 63 Falls gesetzt ist die Seite im RAM .TP 62 Falls gesetzt, befindet sich die Seite im Auslagerungsbereich (Swap) .TP 61 (seit Linux 3.5) The page is a file\-mapped page or a shared anonymous page. .TP 60\-57 (seit Linux 3.11) .\" Not quite true; see commit 541c237c0923f567c9c4cabb8a81635baadc713f Null .TP 56 (seit Linux 4.2) .\" commit 77bb499bb60f4b79cca7d139c8041662860fcf87 .\" commit 83b4b0bb635eee2b8e075062e4e008d1bc110ed7 The page is exclusively mapped. .TP 55 (seit Linux 3.11) PTE is soft\-dirty (see the kernel source file \fIDocumentation/vm/soft\-dirty.txt\fP). .TP 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 \fI/proc/kpageflags\fP and \fI/proc/kpagecount\fP. If the page is present in swap (bit 62), then bits 4\(en0 give the swap type, and bits 54\(en5 encode the swap offset. .RE .IP Vor Linux 3.11 wurden die Bits 60\-55 dazu verwandt, den Logarithmus (in der Basis 2) der Seitengröße zu halten. .IP To employ \fI/proc/[pid]/pagemap\fP efficiently, use \fI/proc/[pid]/maps\fP to determine which areas of memory are actually mapped and seek to skip over unmapped regions. .IP Die Datei \fI/proc/[PID]/pagemap\fP ist nur vorhanden, wenn die Kernel\-Konfigurationsoption \fBCONFIG_PROC_PAGE_MONITOR\fP aktiviert ist. .IP Die Zugriffsberechtigungen dieser Datei werden von einer Ptrace\-Zugriffsmodusprüfung \fBPTRACE_MODE_READ_FSCREDS\fP geregelt; siehe \fBptrace\fP(2). .TP \fI/proc/[PID]/personality\fP (seit Linux 2.6.28) .\" commit 478307230810d7e2a753ed220db9066dfdf88718 Diese nur lesbare Datei legt die Ausführungs\-Domain des Prozesses offen, wie sie von \fBpersonality\fP(2) gesehen wird. Der Wert ist hexadezimal dargestellt. .IP Die Rechte, auf diese Datei zuzugreifen, werden von einer Ptrace\-Zugriffsmodusprüfung \fBPTRACE_MODE_ATTACH_FSCREDS\fP gesteuert; siehe \fBptrace\fP(2). .TP \fI/proc/[PID]/root\fP UNIX und Linux unterstützen das Konzept eines prozesseigenen Wurzel\-Dateisystems (root), das für jeden Prozess mit dem Systemauf \fBchroot\fP(2) gesetzt wird. Diese Datei ist ein symbolischer Link, der auf das Root\-Verzeichnis des Prozesses weist, und verhält sich wie es auch \fIexe\fP und \fIfd/*\fP tun. .IP Beachten Sie, dass diese Datei nicht nur ein einfacher symbolischer Link ist. Sie stellt den gleichen Blick auf das Dateisystem (einschließlich Namensräume und der Gruppe der pro\-Prozess\-Einhängungen) wie der Prozess dar. Ein Beispiel erläutert diesen Punkt. In einem Terminal wird eine Shell in einem neuen Benutzer\- und Einhängenamensraum gestartet und in dieser Shell werden einige neue Einhängepunkte erstellt: .IP .in +4n .EX $ \fBPS1='sh1# ' unshare \-Urnm\fP sh1# \fBmount \-t tmpfs tmpfs /etc\fP # Leeres Tmpfs unter /etc einhängen sh1# \fBmount \-\-bind /usr /dev\fP # /usr unter /dev einhängen sh1# \fBecho $$\fP 27123 .EE .in .IP In einem zweiten Terminalfenster, in dem ursprünglichen Einhängenamensraum, wird der Inhalt der entsprechenden Einhängungen in dem ursprünglichen und dem neuen Namensraum angeschaut: .IP .in +4n .EX $ \fBPS1='sh2# ' sudo sh\fP sh2# \fBls /etc | wc \-l\fP # Im anfänglichen NR 309 sh2# \fBls /proc/27123/root/etc | wc \-l\fP # /etc in anderem NR 0 # Das leere Verz tmpfs sh2# \fBls /dev | wc \-l\fP # Im anfänglichen NR 205 sh2# \fBls /proc/27123/root/dev | wc \-l\fP # /dev in anderem NR 11 # Tatsächlich bind\- # eingehängt in /usr sh2# \fBls /usr | wc \-l\fP # /usr im anfänglichen NR 11 .EE .in .IP .\" The following was still true as at kernel 2.6.13 In einem Multithread\-Prozess ist der Inhalt des symbolischen Links \fI/proc/[PID]/root\fP nicht mehr verfügbar, wenn der Haupt\-Thread schon beendet ist (typischerweise durch einen Aufruf von \fBpthread_exit\fP(3)). .IP .\" FIXME Describe /proc/[pid]/projid_map .\" Added in 3.7 .\" commit f76d207a66c3a53defea67e7d36c3eb1b7d6d61d Die Rechte, diesen symbolischen Link zu dereferenzieren oder zu lesen (\fBreadlink\fP(2)), werden von einer Ptrace\-Zugriffsmodusprüfung \fBPTRACE_MODE_READ_FSCREDS\fP gesteuert; siehe \fBptrace\fP(2). .TP \fI/proc/[PID]/seccomp\fP (Linux 2.6.12 bis 2.6.22) Diese Datei kann zum Lesen und Ändern der Moduseinstellungen der sicheren Berechnung (Seccomp) des Prozesses verwandt werden. Sie enthält den Wert 0, falls der Prozess sich nicht im Seccomp\-Modus befindet und 1, falls der Prozess sich im strikten Seccomp\-Modus befindet (siehe \fBseccomp\fP(2)). Wird 1 in diese Datei geschrieben, wird der Prozess unwiderruflich in den strikten Seccomp\-Modus gebracht. (Weitere Versuche, in diese Datei zu schreiben, werden mit dem Fehler \fBEPERM\fP fehlschlagen.) .IP .\" FIXME Describe /proc/[pid]/sessionid .\" commit 1e0bd7550ea9cf474b1ad4c6ff5729a507f75fdc .\" CONFIG_AUDITSYSCALL .\" Added in 2.6.25; read-only; only readable by real UID .\" .\" FIXME Describe /proc/[pid]/sched .\" Added in 2.6.23 .\" CONFIG_SCHED_DEBUG, and additional fields if CONFIG_SCHEDSTATS .\" Displays various scheduling parameters .\" This file can be written, to reset stats .\" The set of fields exposed by this file have changed .\" significantly over time. .\" commit 43ae34cb4cd650d1eb4460a8253a8e747ba052ac .\" .\" FIXME Describe /proc/[pid]/schedstats and .\" /proc/[pid]/task/[tid]/schedstats .\" Added in 2.6.9 .\" CONFIG_SCHEDSTATS Unter Linux 2.6.23 verschwand diese Datei und wurde durch die Aktionen \fBPR_GET_SECCOMP\fP und \fBPR_SET_SECCOMP\fP von \fBprctl\fP(2) ersetzt (und später durch \fBseccomp\fP(2) und das Feld \fISeccomp\fP in \fI/proc/[PID]/status\fP). .TP \fI/proc/[PID]/setgroups\fP (seit Linux 3.19) Siehe \fBuser_namespaces\fP(7). .TP \fI/proc/[PID]/smaps\fP (seit Linux 2.6.14) This file shows memory consumption for each of the process's mappings. (The \fBpmap\fP(1) command displays similar information, in a form that may be easier for parsing.) For each mapping there is a series of lines such as the following: .IP .in +4n .EX 00400000\-0048a000 r\-xp 00000000 fd:03 960637 /bin/bash Size: 552 kB Rss: 460 kB Pss: 100 kB Shared_Clean: 452 kB Shared_Dirty: 0 kB Private_Clean: 8 kB Private_Dirty: 0 kB Referenced: 460 kB Anonymous: 0 kB AnonHugePages: 0 kB ShmemHugePages: 0 kB ShmemPmdMapped: 0 kB Swap: 0 kB KernelPageSize: 4 kB MMUPageSize: 4 kB KernelPageSize: 4 kB MMUPageSize: 4 kB Locked: 0 kB ProtectionKey: 0 VmFlags: rd ex mr mw me dw .EE .in .IP The first of these lines shows the same information as is displayed for the mapping in \fI/proc/[pid]/maps\fP. The following lines show the size of the mapping, the amount of the mapping that is currently resident in RAM ("Rss"), the process's proportional share of this mapping ("Pss"), the number of clean and dirty shared pages in the mapping, and the number of clean and dirty private pages in the mapping. "Referenced" indicates the amount of memory currently marked as referenced or accessed. "Anonymous" shows the amount of memory that does not belong to any file. "Swap" shows how much would\-be\-anonymous memory is also used, but out on swap. .IP Die Zeile »KernelPageSize« (verfügbar seit Linux 2.6.29) ist die vom Kernel verwandte Seitengröße, um den virtuellen Speicherbereich zu hinterlegen. Dies passt in den meisten Fällen auf die Größe, die von der MMU verwandt wird. Allerdings tritt ein Gegenbeispiel auf PPC64\-Kerneln auf, auf denen 64 kB als Basisseitengröße verwandt wird, aber auf älteren Prozessoren 4 kB für die MMU verwendet wird. Um zwischen den zwei Attributen zu unterscheiden, meldet die Zeile »MMUPageSize« (auch seit Linux 2.6.29 verfügbar) die von der MMU verwandte Seitengröße. .IP The "Locked" indicates whether the mapping is locked in memory or not. .IP Die Zeile »ProtectionKey« (verfügbar seit Linux 4.9, nur x86) enthält den Speicherschutzschlüssel (siehe \fBpkeys\fP(7)), der dem virtuellen Speicherbereich zugeordnet ist. Dieser Eintrag ist nur vorhanden, falls der Kernel mit der Konfigurationsoption \fBCONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS\fP gebaut wurde. .IP Die Zeile »VmFlags« (verfügbar seit Linux 3.8) stellt die dem virtuellen Speicherbereich zugeordneten Kernelschalter dar, kodiert mittels der folgenden zwei\-Buchstaben\-Codes: .IP rd \- lesbar wr \- schreibbar ex \- ausführbar sh \- shared mr \- könnte lesen mw \- könne schreiben me \- könnte ausführen ms \- may share gd \- stack segment grows down pf \- reiner PFN\-Bereich dw \- disabled write to the mapped file lo \- pages are locked in memory io \- memory mapped I/O area sr \- sequential read advise provided rr \- random read advise provided dc \- do not copy area on fork de \- do not expand area on remapping ac \- area is accountable nr \- Auslagerungsbereich ist für den Bereich nicht reserviert ht \- area uses huge tlb pages nl \- non\-linear mapping ar \- architecture specific flag dd \- Bereich nicht in den Kernspeicherabzug einschließen sd \- soft\-dirty flag mm \- mixed map area hg \- huge page advise flag nh \- no\-huge page advise flag mg \- mergeable advise flag .IP Die Feld »ProtectionKey« enthält den Speicherschutzschlüssel (siehe \fBpkeys\fP(5)), der dem virtuellen Speicherbereich zugeordnet ist. Dieser Eintrag ist nur vorhanden, falls der Kernel mit der Konfigurationsoption \fBCONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS\fP gebaut wurde (seit Linux 4.6). .IP Die Datei \fI/proc/[PID]/smaps\fP ist nur vorhanden, wenn die Kernel\-Konfigurationsoption \fBCONFIG_PROC_PAGE_MONITOR\fP aktiviert ist. .TP \fI/proc/[PID]/stack\fP (seit Linux 2.6.29) .\" 2ec220e27f5040aec1e88901c1b6ea3d135787ad Diese Datei stellt eine symbolische Verfolgung der Funktionsaufrufe in dem Kernel\-Stack dieses Prozesses bereit. Diese Datei wird nur bereitgestellt, falls der Kernel mit der Konfigurationsoption \fBCONFIG_STACKTRACE\fP gebaut wurde. .IP Die Rechte, auf diese Datei zuzugreifen, werden von einer Ptrace\-Zugriffsmodusprüfung \fBPTRACE_MODE_ATTACH_FSCREDS\fP gesteuert; siehe \fBptrace\fP(2). .TP \fI/proc/[PID]/stat\fP Statusinformationen des Prozesses. Wird von \fBps\fP(1) benutzt. Sie werden in der Kernelquelldatei \fIfs/proc/array.c\fP definiert. .IP Die Felder werden in dieser Reihenfolge mit ihrem passenden \fBscanf\fP(3)\-Formatkennzeichnern unten aufgeführt. Ob bestimmte dieser Felder gültige Informationen anzeigen, wird von einer Ptrace\-Zugriffsmodusprüfung \fBPTRACE_MODE_READ_FSCREDS\fP\ |\ \fBPTRACE_MODE_NOAUDIT\fP gesteuert (siehe \fBptrace\fP(2)). Falls die Prüfung den Zugriff verweigert, wird der Feldwert mit 0 angegeben. Die betroffenen Felder werden mit der Markierung [PT] gekennzeichnet. .IP .RS .TP 10 (1) \fIPID\fP \ %d .br Die Prozesskennung. .TP (2) \fIcomm\fP \ %s Der Name der ausführbaren Datei, in Klammern. Dies wird angezeigt, unabhängig davon, ob das Programm ausgelagert ist oder nicht. .TP (3) \fIstate\fP \ %c Eines der folgenden Zeichen zur Angabe des Prozesszustandes: .RS .IP R 3 Laufend .IP S Schlafend in einem unterbrechbaren Wartezustand .IP D Wartend in einem nicht unterbrechbaren Plattenschlaf .IP Z Zombie .IP T Gestoppt (aufgrund eines Signals) oder (vor Linux 2.6.33) Verfolgung gestoppt .IP t .\" commit 44d90df6b757c59651ddd55f1a84f28132b50d29 Verfolgung gestoppt (seit Linux 2.6.33) .IP W Paging (nur vor Linux 2.6.0) .IP X Getötet (seit Linux 2.6.0) .IP x .\" commit 44d90df6b757c59651ddd55f1a84f28132b50d29 .\" commit 74e37200de8e9c4e09b70c21c3f13c2071e77457 Getötet (nur Linux 2.6.33 bis 3.13) .IP K .\" commit 44d90df6b757c59651ddd55f1a84f28132b50d29 .\" commit 74e37200de8e9c4e09b70c21c3f13c2071e77457 Wakekill (Linux 2.6.33 to 3.13 only) .IP W .\" commit 44d90df6b757c59651ddd55f1a84f28132b50d29 .\" commit 74e37200de8e9c4e09b70c21c3f13c2071e77457 Aufwachend (nur Linux 2.6.33 bis 3.13) .IP P .\" commit f2530dc71cf0822f90bb63ea4600caaef33a66bb .\" commit 74e37200de8e9c4e09b70c21c3f13c2071e77457 Geparkt (nur Linux 3.9 bis 3.13) .RE .TP (4) \fIppid\fP \ %d Die Prozesskennung (PID) des Elternprozesses dieses Prozesses. .TP (5) \fIpgrp\fP \ %d Die Prozess\-Gruppenkennung des Prozesses. .TP (6) \fIsession\fP \ %d Die Sitzungskennung des Prozesses. .TP (7) \fItty_nr\fP \ %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.) .TP (8) \fItpgid\fP \ %d .\" This field and following, up to and including wchan added 0.99.1 Die Kennung der Vordergrund\-Prozessgruppe des steuernden Terminals des Prozesses. .TP (9) \fIflags\fP \ %u Das Wort mit den Kernel\-Schaltern des Prozesses. Die Bedeutung der Bits finden Sie in den PF_*\-#define\-Anweisungen in der Linux\-Quellcodedatei \fI\fP. Die Details hängen von der Kernel\-Version ab. .IP Das Format dieses Feldes war %lu vor Linux 2.6. .TP (10) \fIminflt\fP \ %lu The number of minor faults the process has made which have not required loading a memory page from disk. .TP (11) \fIcminflt\fP \ %lu The number of minor faults that the process's waited\-for children have made. .TP (12) \fImajflt\fP \ %lu The number of major faults the process has made which have required loading a memory page from disk. .TP (13) \fIcmajflt\fP \ %lu The number of major faults that the process's waited\-for children have made. .TP (14) \fIutime\fP \ %lu Gesamtzeit, die dieser Prozess im Benutzermodus verbracht hat, gemessen in Uhren\-Ticks (dividieren Sie durch \fIsysconf(_SC_CLK_TCK)\fP). Das umfasst Gastzeit, \fIguest_time\fP (aufgewendete Zeit für den Betrieb einer virtuellen CPU, siehe unten), so dass Anwendungen, die das Gastzeit\-Feld nicht kennen, diese Zeit in ihren Berechnungen nicht außer acht lassen. .TP (15) \fIstime\fP \ %lu Gesamtzeit, die dieser Prozess im Kernel\-Modus verbracht hat, gemessen in Uhren\-Ticks (dividieren Sie durch \fIsysconf(_SC_CLK_TCK)\fP). .TP (16) \fIcutime\fP \ %ld Gesamtzeit, die abgewartete Kindprozesse im Benutzermodus verbracht haben, gemessen in Uhren\-Ticks (dividieren Sie durch \fIsysconf(_SC_CLK_TCK)\fP) (siehe auch \fBtimes\fP(2)). Das umfasst Gastzeit, \fIguest_time\fP (Laufzeit in einer virtuellen CPU, siehe unten). .TP (17) \fIcstime\fP \ %ld Gesamtzeit, die abgewartete Kindprozesse im Kernel\-Modus verbracht haben, gemessen in Uhren\-Ticks (dividieren Sie durch \fIsysconf(_SC_CLK_TCK)\fP). .TP (18) \fIpriority\fP \ %ld (Erklärung für Linux 2.6) Für Prozesse, die im Scheduling eine Echtzeit\-Strategie verfolgen (\fIpolicy\fP weiter unten, siehe \fBsched_setscheduler\fP(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 (\fBsetpriority\fP(2)), wie er im Kernel dargestellt ist. Der Kernel speichert Nice\-Werte als Zahlen im Bereich 0 (hoch) bis 39 (niedrig), entsprechend des für den Benutzer sichtbaren Nice\-Bereichs von \-20 bis 19. .IP .\" And back in kernel 1.2 days things were different again. Vor Linux 2.6 war dies ein skalierter Wert auf Grundlage des vom Scheduler an den Prozess zugewiesenen Gewichts. .TP (19) \fInice\fP \ %ld .\" Back in kernel 1.2 days things were different. .\" .TP .\" \fIcounter\fP %ld .\" The current maximum size in jiffies of the process's next timeslice, .\" or what is currently left of its current timeslice, if it is the .\" currently running process. .\" .TP .\" \fItimeout\fP %u .\" The time in jiffies of the process's next timeout. .\" timeout was removed sometime around 2.1/2.2 Der Nice\-Wert (siehe \fBsetpriority\fP(2)), ein Wert im Bereich von 19 (niedrige Priorität) bis \-20 (hohe Priorität). .TP (20) \fInum_threads\fP \ %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. .TP (21) \fIitrealvalue\fP \ %ld Die Zeit (in Jiffies), bevor dem Prozess aufgrund eines Intervall\-Timers ein \fBSIGALRM\fP gesendet wird. Seit Kernel 2.6.17 wird dieses Feld nicht mehr gewartet und wird mit 0 hartkodiert. .TP (22) \fIstarttime\fP \ %llu Die Zeit, zu der der Prozess nach dem Systemstart gestartet wurde. In Kerneln vor Linux 2.6 wurde dieser Wert in Jiffies ausgegeben. Seit Linux 2.6 wird der Wert in Uhren\-Ticks ausgedrückt (teilen Sie diese durch \fIsysconf(_SC_CLK_TCK)\fP). .IP Das Format dieses Feldes war %lu vor Linux 2.6. .TP (23) \fIvsize\fP \ %lu Größe des virtuellen Speichers in Bytes. .TP (24) \fIrss\fP \ %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. .TP (25) \fIrsslim\fP \ %lu Aktuelle weiche Grenze für die RSS des Prozesses; siehe die Beschreibung von \fBRLIMIT_RSS\fP in \fBgetrlimit\fP(2). .TP (26) \fIstartcode\fP \ %lu \ [PT] Die Adresse, oberhalb derer Programmtext ausgeführt werden kann. .TP (27) \fIendcode\fP \ %lu \ [PT] Die Adresse, unterhalb derer Programmtext ausgeführt werden kann. .TP (28) \fIstartstack\fP \ %lu \ [PT] Die Startadresse des Stacks (also der »Boden«). .TP (29) \fIkstkesp\fP \ %lu \ [PT] Derzeitiger Wert von ESP (Stack Pointer), wie er in der Kernel\-Stack\-Seite für diesen Prozess steht. .TP (30) \fIkstkeip\fP \ %lu \ [PT] Der aktuelle EIP (Instruction Pointer, Anweisungszeiger). .TP (31) \fIsignal\fP \ %lu Die Bitmap anstehender Signale, angezeigt als Dezimalzahl. Obsolet, weil sie keine Informationen über Echtzeitsignale gibt; verwenden Sie stattdessen \fI/proc/[PID]/status\fP. .TP (32) \fIblocked\fP \ %lu Die Bitmap blockierter Signale, angezeigt als Dezimalzahl. Obsolet, weil sie keine Informationen über Echtzeitsignale gibt; verwenden Sie stattdessen \fI/proc/[PID]/status\fP. .TP (33) \fIsigignore\fP \ %lu Die Bitmap ignorierter Signale, angezeigt als Dezimalzahl. Obsolet, weil sie keine Informationen über Echtzeitsignale gibt; verwenden Sie stattdessen \fI/proc/[PID]/status\fP. .TP (34) \fIsigcatch\fP \ %lu Die Bitmap abgefangener Signale, angezeigt als Dezimalzahl. Obsolet, weil sie keine Informationen über Echtzeitsignale gibt; verwenden Sie stattdessen \fI/proc/[PID]/status\fP. .TP (35) \fIwchan\fP \ %lu \ [PT] Dies ist der »Kanal«, in dem der Prozess wartet. Es ist die Adresse des Orts im Kernel, an dem der Prozess schläft. Der entsprechende symbolische Name kann in \fI/proc/[PID]/wchan\fP gefunden werden. .TP (36) \fInswap\fP \ %lu .\" nswap was added in 2.0 Anzahl ausgelagerter Seiten (nicht gewartet). .TP (37) \fIcnswap\fP \ %lu .\" cnswap was added in 2.0 Aufaddiertes \fInswap\fP der Kindprozesse (nicht gewartet). .TP (38) \fIexit_signal\fP \ %d \ (seit Linux 2.1.22) Das an den Elternprozess zu sendende Signal, wenn wir sterben. .TP (39) \fIprocessor\fP \ %d \ (seit Linux 2.2.8) Nummer der CPU, auf der der Prozess zuletzt lief. .TP (40) \fIrt_priority\fP \ %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 \fBsched_setscheduler\fP(2)). .TP (41) \fIpolicy\fP \ %u \ (seit Linux 2.5.19) Scheduling\-Strategie (siehe \fBsched_setscheduler\fP(2)). Dekodieren Sie mit den SCHED_*\-Konstanten in \fIlinux/sched.h\fP. .IP Das Format dieses Feldes war %lu vor Linux 2.6.22. .TP (42) \fIdelayacct_blkio_ticks\fP \ %llu \ (seit Linux 2.6.18) Kumulierte Block\-E/A\-Verzögerungen, gemessen in Uhren\-Ticks (Hundertstelsekunden). .TP (43) \fIguest_time\fP \ %lu \ (seit Linux 2.6.24) Gastzeit des Prozesses (aufgewendete Zeit für den Betrieb einer virtuellen CPU für ein Gast\-Betriebssystem), gemessen in Uhren\-Ticks (dividieren Sie durch \fIsysconf(_SC_CLK_TCK)\fP). .TP (44) \fIcguest_time\fP \ %ld \ (seit Linux 2.6.24) Gastzeit der Kindprozesse des Prozesses, gemessen in Uhren\-Ticks (dividieren Sie durch \fIsysconf(_SC_CLK_TCK)\fP). .TP (45) \fIstart_data\fP \ %lu \ (seit Linux 3.3) \ [PT] .\" commit b3f7f573a20081910e34e99cbc91831f4f02f1ff Adresse, oberhalb derer die initialisierten und nicht\-initialisierten Programmdaten (BSS) abgelegt werden. .TP (46) \fIend_data\fP \ %lu \ (seit Linux 3.3) \ [PT] .\" commit b3f7f573a20081910e34e99cbc91831f4f02f1ff Adresse, unterhalb derer die initialisierten und nicht\-initialisierten Programmdaten (BSS) abgelegt werden. .TP (47) \fIstart_brk\fP \ %lu \ (seit Linux 3.3) \ [PT] .\" commit b3f7f573a20081910e34e99cbc91831f4f02f1ff Adresse, oberhalb derer der Heap von Programmen mit \fBbrk\fP(2) ausgedehnt werden kann. .TP (48) \fIarg_start\fP \ %lu \ (seit Linux 3.5) \ [PT] .\" commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3 Adresse, oberhalb derer die Befehlszeilenargumente (\fIargv\fP) abgelegt werden. .TP (49) \fIarg_end\fP \ %lu \ (seit Linux 3.5) \ [PT] .\" commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3 Adresse, unterhalb derer die Befehlszeilenargumente (\fIargv\fP) abgelegt werden. .TP (50) \fIenv_start\fP \ %lu \ (seit Linux 3.5) \ [PT] .\" commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3 Adresse, oberhalb derer die Programmumgebung abgelegt wird. .TP (51) \fIenv_end\fP \ %lu \ (seit Linux 3.5) \ [PT] .\" commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3 Adresse, unterhalb derer die Programmumgebung abgelegt wird. .TP (52) \fIexit_code\fP \ %d \ (seit Linux 3.5) \ [PT] .\" commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3 Der Exit\-Status des Threads in dem durch \fBwaitpid\fP(2) berichteten Format. .RE .TP \fI/proc/[PID]/statm\fP Informiert über den Speicherverbrauch, gemessen in Seiten. Die Spalten bedeuten: .IP .in +4n .EX .\" (not including libs; broken, includes data segment) .\" (including libs; broken, includes library text) Größe (1) Gesamtgröße des Programms (dasselbe wie VmSize in \fI/proc/[PID]/status\fP) im Speicher (2) Größe des Resident Set (dasselbe wie VmRSS in \fI/proc/[PID]/status\fP) gemeinsam (3) Anzahl von residenten (d.h. dateigestützten) gemeinsamen Seiten (dasselbe wie RssFile+RssShmem in \fI/proc/[PID]/status\fP) Text (4) Text (Code) Bibliothek (5) Bibliothek (seit Linux 2.6 nicht verwendet, immer 0) Daten (6) Daten + Stack geändert (7) geänderte Seiten (dirty) (seit Linux 2.6 nicht verwendet, immer 0) .EE .in .TP \fI/proc/[PID]/status\fP Stellt viele der Informationen in \fI/proc/[PID]/stat\fP und \fI/proc/[PID]/statm\fP in einem Format bereit, das für Menschen einfacher auszuwerten ist. Ein Beispiel: .IP .in +4n .EX $\fB cat /proc/$$/status\fP Name: bash Umask: 0022 State: S (sleeping) Tgid: 17248 Ngid: 0 Pid: 17248 PPid: 17200 TracerPid: 0 Uid: 1000 1000 1000 1000 Gid: 100 100 100 100 FDSize: 256 Groups: 16 33 100 NStgid: 17248 NSpid: 17248 NSpgid: 17248 NSsid: 17200 VmPeak: 131168 kB VmSize: 131168 kB VmLck: 0 kB VmPin: 0 kB VmHWM: 13484 kB VmRSS: 13484 kB RssAnon: 10264 kB RssFile: 3220 kB RssShmem: 0 kB VmData: 10332 kB VmStk: 136 kB VmExe: 992 kB VmLib: 2104 kB VmPTE: 76 kB VmPMD: 12 kB VmSwap: 0 kB HugetlbPages: 0 kB # 4.4 Threads: 1 SigQ: 0/3067 SigPnd: 0000000000000000 ShdPnd: 0000000000000000 SigBlk: 0000000000010000 SigIgn: 0000000000384004 SigCgt: 000000004b813efb CapInh: 0000000000000000 CapPrm: 0000000000000000 CapEff: 0000000000000000 CapBnd: ffffffffffffffff CapAmb: 0000000000000000 NoNewPrivs: 0 Seccomp: 0 Cpus_allowed: 00000001 Cpus_allowed_list: 0 Mems_allowed: 1 Mems_allowed_list: 0 voluntary_ctxt_switches: 150 nonvoluntary_ctxt_switches: 545 .EE .in .IP Die Bedeutung der Felder im Einzelnen: .RS .IP * 2 \fIName\fP: der von diesem Prozess ausgeführte Befehl. .IP * \fIUmask\fP: die Umask des Prozesses, oktal mit führender Null, siehe \fBumask\fP(2). (Seit Linux 4.7.) .IP * \fIState\fP: aktueller Prozesszustand; einer der Werte »R (running)«, »S (sleeping)«, »D (disk sleep)«, »T (stopped)«, »T (tracing stop)«, »Z (zombie)« oder »X (dead)«. .IP * \fITgid\fP: Gruppenkennung des Threads (d.h. die Prozesskennung). .IP * \fINgid\fP: NUMA\-Gruppenkennung (0 falls keine; seit Linux 3.13). .IP * \fIPID\fP: Thread\-Kennung (siehe \fBgettid\fP(2)). .IP * \fIPPid\fP: PID des Elternprozesses. .IP * \fITracerPid\fP: PID des Prozesses, der diesen Prozess beobachtet (0 ohne Beobachtung). .IP * \fIUid\fP, \fIGid\fP: reale, effektive, gespeicherte sowie Dateisystem\-UIDs (GIDs). .IP * \fIFDSize\fP: Anzahl der aktuell bereitgestellten Dateideskriptor\-Slots. .IP * \fIGroups\fP: ergänzende Gruppenliste. .IP * .\" commit e4bc33245124db69b74a6d853ac76c2976f472d5 \fINStgid\fP: Thread\-Gruppenkennung (d.h. PID) in jedem der PID\-Namensräume, in denen \fI[PID]\fP ein Mitglied ist. Der ganz linke Eintrag zeigt den Wert in Bezug auf den PID\-Namensraum des lesenden Prozesses, gefolgt von den Werten nachfolgend geschachtelter innerer Namensräume. (Seit Linux 4.1) .IP * \fINSpid\fP: Thread\-Kennung in jedem der PID\-Namensräume, in denen \fI[PID]\fP ein Mitglied ist. Die Felder sind wie bei \fINStgid\fP sortiert. (Seit Linux 4.1.) .IP * \fINSpgid\fP: Prozessgruppenkennung in jedem der PID\-Namensräume, in denen \fI[PID]\fP ein Mitglied ist. Die Felder sind wie bei \fINStgid\fP sortiert. (Seit Linux 4.1.) .IP * \fINSsid\fP: Sitzungskennung der Nachkommens\-Namensraum\-Sitzungs\-Kennungs\-Hierarchie, in jedem der PID\-Namensraumen, in denen \fI[PID]\fP ein Mitglied ist. Die Felder sind wie bei \fINStgid\fP sortiert. (Seit Linux 4.1.) .IP * \fIVmPeak\fP: Maximalwert des genutzten virtuellen Speichers. .IP * \fIVmSize\fP: Größe des virtuellen Speichers. .IP * \fIVmLck\fP: Größe des gesperrten Speichers (siehe \fBmlock\fP(3)). .IP * .\" commit bc3e53f682d93df677dbd5006a404722b3adfe18 \fIVmPin\fP: Größe des befestigten Speichers (seit Linux 3.2). Diese Seiten können nicht verschoben werden, da etwas den direkten Zugriff auf physischen Speicher benötigt. .IP * \fIVmHWM\fP: Maximalwert der Resident Set Size (»Hochwassermarke«). .IP * \fIVmRSS\fP: Resident set size. Beachten Sie, dass dieser Wert die Summe aus \fIRssAnon\fP, \fIRssFile\fP und \fIRssShmem\fP ist. .IP * .\" commit bf9683d6990589390b5178dafe8fd06808869293 \fIRssAnon\fP: Größe des residenten anonymen Speichers. (seit Linux 4.5). .IP * .\" commit bf9683d6990589390b5178dafe8fd06808869293 \fIRssFile\fP: Size of resident file mappings. (since Linux 4.5). .IP * .\" commit bf9683d6990589390b5178dafe8fd06808869293 \fIRssShmem\fP: Size of resident shared memory (includes System V shared memory, mappings from \fBtmpfs\fP(5), and shared anonymous mappings). (since Linux 4.5). .IP * \fIVmData\fP, \fIVmStk\fP, \fIVmExe\fP: Größe der Daten\-, Stack und Text\-Segmente. .IP * \fIVmLib\fP: Code\-Größe von Laufzeitbibliotheken. .IP * \fIVmPTE\fP: Größe der Einträge in der Page Table (seit Linux 2.6.10). .IP * .\" commit dc6c9a35b66b520cf67e05d8ca60ebecad3b0479 \fIVmPMD\fP: Größe der Page Tables zweiter Stufe (seit Linux 4.0). .IP * .\" commit b084d4353ff99d824d3bc5a5c2c22c70b1fba722 \fIVmSwap\fP: ausgelagerte virtuelle Speichergröße durch anonyme private Pages; Shmem\-Auslagerungsverwendung ist nicht enthalten (seit Linux 2.6.34). .IP * .\" commit 5d317b2b6536592a9b51fe65faed43d65ca9158e \fIHugetlbPages\fP: Größe der Hugetlb\-Speicheranteile. (seit Linux 4.4). .IP * \fIThreads\fP: Anzahl der Threads im Prozess, zu dem dieser Thread gehört. .IP * \fISigQ\fP: Dieses Feld enthält zwei durch Schrägstriche getrennte Zahlen, die sich auf Signale in der Warteschlange für die reale Benutzerkennung des Prozesses beziehen. Die erste davon ist die Anzahl der derzeit in der Warteschlange befindlichen Signale für diese reale Benutzerkennung und die zweite ist die Ressourcenbegrenzung für die Anzahl wartender Signale für diesen Prozess (siehe die Beschreibung von \fBRLIMIT_SIGPENDING\fP in \fBgetrlimit\fP(2)). .IP * \fISigPnd\fP, \fIShdPnd\fP: Anzahl der insgesamt für Thread und Prozess anstehenden Signale (siehe \fBpthreads\fP(7) und \fBsignal\fP(7)). .IP * \fISigBlk\fP, \fISigIgn\fP, \fISigCgt\fP: Masken für die Anzeige blockierter, ignorierter und abgefangener Signale (siehe \fBsignal\fP(7)). .IP * \fICapInh\fP, \fICapPrm\fP, \fICapEff\fP: in den vererbbaren, erlaubten und effektiven Capability\-Mengen aktivierte Masken (siehe \fBcapabilities\fP(7)). .IP * \fICapBnd\fP: Capability\-Begrenzungsmenge (seit Linux 2.6.26, siehe \fBcapabilities\fP(7)). .IP * \fICapAmb\fP: Umgebungs\-Capability\-Menge (seit Linux 4.3, siehe \fBcapabilities\fP(7)). .IP * .\" commit af884cd4a5ae62fcf5e321fecf0ec1014730353d \fINoNewPrivs\fP: Wert des Bits \fIno_new_privs\fP (seit Linux 4.10, siehe \fBprctl\fP(2)). .IP * .\" commit 2f4b3bf6b2318cfaa177ec5a802f4d8d6afbd816 \fISeccomp\fP: Seccomp\-Modus des Prozesses (seit Linux 3.8, siehe \fBseccomp\fP(2)). 0 bedeutet \fBSECCOMP_MODE_DISABLED\fP; 1 bedeutet \fBSECCOMP_MODE_STRICT\fP; 2 bedeutet \fBSECCOMP_MODE_FILTER\fP. Dieses Feld wird nur bereitgestellt, falls der Kernel mit der aktivierten Kernelkonfigurationsoption \fBCONFIG_SECCOMP\fP gebaut wurde. .IP * \fICpus_allowed\fP: Maske von CPUs, auf denen der Prozess laufen kann (seit Linux 2.6.24, siehe \fBcpuset\fP(7)). .IP * \fICpus_allowed_list\fP: dasselbe wie das vorhergehende, aber in »Listenformat« (seit Linux 2.6.26, siehe \fBcpuset\fP(7)). .IP * \fIMems_allowed\fP: Maske von für diesen Prozess erlaubten Speicherknoten (seit Linux 2.6.24, siehe \fBcpuset\fP(7)). .IP * \fIMems_allowed_list\fP: dasselbe wie das vorhergehende, aber in »Listenformat« (seit Linux 2.6.26, siehe \fBcpuset\fP(7)). .IP * \fIvoluntary_ctxt_switches\fP, \fInonvoluntary_ctxt_switches\fP: Anzahl der freiwilligen und der unfreiwilligen Kontextwechsel (seit Linux 2.6.23). .RE .TP \fI/proc/[PID]/syscall\fP (seit Linux 2.6.27) .\" commit ebcb67341fee34061430f3367f2e507e52ee051b Diese Datei legt die Systemaufrufnummer und \-argumentenregister für den derzeit durch den Prozess ausgeführten Systemaufruf offen. Es folgen die Werte des Stack\-Zeigers und der Programmzählerregister. Die Werte aller sechs Argumentenregister werden offengelegt, obwohl die meisten Systemaufrufe weniger Register verwenden. .IP Falls der Prozess blockiert aber nicht in einem Systemaufruf ist, dann zeigt die Datei \-1 an der Stelle der Systemaufrufnummer an, gefolgt von nur den Werten des Stack\-Zeigers und des Programmzählers. Falls der Prozess nicht blockiert ist, dann enthält die Datei nur die Zeichenkette »running«. .IP Diese Datei ist nur vorhanden, falls der Kernel mit \fBCONFIG_HAVE_ARCH_TRACEHOOK\fP konfiguriert wurde. .IP Die Rechte, auf diese Datei zuzugreifen, werden von einer Ptrace\-Zugriffsmodusprüfung \fBPTRACE_MODE_ATTACH_FSCREDS\fP gesteuert; siehe \fBptrace\fP(2). .TP \fI/proc/[PID]/task\fP (seit Linux 2.6.0\-test6) .\" in particular: "children" :/ .\" The following was still true as at kernel 2.6.13 Dieses Verzeichnis enthält ein Unterverzeichnis für jeden Thread in dem Prozess. Der Name jedes Unterverzeichnisses ist die numerische Thread\-Kennung ([TID]) des Threads (siehe \fBgettid\fP(2)). Innerhalb jedes dieser Unterverzeichnisse gibt es eine Reihe von Dateien mit gleichem Namen und Inhalt wie unter den \fI/proc/[PID]\fP\-Verzeichnissen. Für Attribute, die von allen Threads gemeinsam verwendet werden, sind die Inhalte für jede der Dateien unter den \fI/task/[TID]\fP\-Unterverzeichnissen die gleichen wie in der entsprechenden Datei im Elternverzeichnis \fI/proc/[PID]\fP (z.B. in einem Multithread\-Prozess werden \fItask/[TID]/cwd\fP\-Dateien den gleichen Wert wie die Datei \fItask/pid/cwd\fP im Elternverzeichnis haben, da alle Threads in einem Prozess sich ein Arbeitsverzeichnis teilen). Für Attribute, die für jeden Thread verschieden sind, können die entsprechenden Dateien unter \fItask/[TID]\fP unterschiedliche Werte annehmen (z.B. können verschiedene Felder in jeder der \fItask/[TID]/status\fP\-Dateien für jeden Thread unterschiedlich sein) oder sie könnten in \fI/proc/[PID]\fP überhaupt nicht existieren. In Multithread\-Prozessen sind die Inhalte des Verzeichnisses \fI/proc/[PID]/task\fP überhaupt nicht verfügbar, falls der Haupt\-Thread bereits beendet wurde (typischerweise durch den Aufruf von \fBpthread_exit\fP(3)). .IP .TP \fI/proc/[PID]/task/[TID]/children\fP (seit Linux 3.5) .\" commit 818411616baf46ceba0cff6f05af3a9b294734f7 Eine durch Leerzeichen getrennte Liste von Kindprozessen dieses Prozesses. Jeder Kindprozess wird durch seine TID dargestellt. .IP .\" see comments in get_children_pid() in fs/proc/array.c This option is intended for use by the checkpoint\-restore (CRIU) system, and reliably provides a list of children only if all of the child processes are stopped or frozen. It does not work properly if children of the target task exit while the file is being read! Exiting children may cause non\-exiting children to be omitted from the list. This makes this interface even more unreliable than classic PID\-based approaches if the inspected task and its children aren't frozen, and most code should probably not use this interface. .IP .\" commit 2e13ba54a2682eea24918b87ad3edf70c2cf085b Bis Linux 4.2 wurde die Existenz dieser Datei durch die Kernelkonfigurationsoption \fBCONFIG_CHECKPOINT_RESTORE\fP gesteuert. Seit Linux 4.2 wird sie durch die Option \fBCONFIG_PROC_CHILDREN\fP gesteuert. .TP \fI/proc/[PID]/timers\fP (seit Linux 3.10) .\" commit 5ed67f05f66c41e39880a6d61358438a25f9fee5 .\" commit 48f6a7a511ef8823fdff39afee0320092d43a8a0 Eine Liste der POSIX\-Timer für diesen Prozess. Jeder Timer wird mit einer Zeile aufgeführt, die mit der Zeichenkette »ID:« beginnt, beispielsweise: .IP .in +4n .EX ID: 1 signal: 60/00007fff86e452a8 notify: signal/pid.2634 ClockID: 0 ID: 0 signal: 60/00007fff86e452a8 notify: signal/pid.2634 ClockID: 1 .EE .in .IP Die gezeigten Zeilen für jeden Timer haben die folgenden Bedeutungen: .RS .TP \fIID\fP Die Kennung für diesen Timer. Dies ist nicht mit der von \fBtimer_create\fP(2) zurückgelieferten Timer\-Kennung identisch. Stattdessen ist es die gleiche Kernel\-interne Kennung, die mittels des Feldes \fIsi_timerid\fP der Struktur \fIsiginfo_t\fP verfügbar ist (siehe \fBsigaction\fP(2)). .TP \fIsignal\fP Dies ist die Signalnummer, die dieser Timer zur Auslieferung von Benachrichtigungen verwendet. Ihr folgt ein Schrägstrich und dann der dem Signal\-Handler übergebene Wert \fIsigev_value\fP. Gültig nur für Timer, die mittels Signal benachrichtigen. .TP \fInotify\fP Der Teil vor dem Schrägstrich legt den Mechanismus fest, den dieser Timer zur Auslieferung von Nachrichten verwendet. Er ist entweder »thread«, »signal« oder »none«. Direkt nach dem Schrägstrich ist entweder die Zeichenkette »tid« für Timer mit \fBSIGEV_THREAD_ID\fP\-Benachrichtigungen oder »pid« für Timer, die mittels andere Mechanismen benachrichtigen. Nach dem ».« folgt die PID des Prozesses (oder der Kernel\-Thread\-Kennung des Threads), der ein Signal geliefert bekommt, falls der Timer Benachrichtigungen über ein Signal ausliefert. .TP \fIClockID\fP Dieses Feld identifiziert die Uhr, die der Timer für die Zeitmessung verwendet. Für die meisten Uhren ist dies eine Zahl, die auf einen der Konstanten der Anwendungsebene \fBCLOCK_*\fP passt, die mittels \fI\fP offengelegt werden. \fBCLOCK_PROCESS_CPUTIME_ID\fP\-Timer zeigen mit einem Wert \-6 in diesem Feld. \fBCLOCK_THREAD_CPUTIME_ID\fP\-Timer zeigen mit einem Wert \-2 in diesem Feld. .RE .IP Diese Datei ist nur vorhanden, falls der Kernel mit \fBCONFIG_CHECKPOINT_RESTORE\fP konfiguriert wurde. .TP \fI/proc/[PID]/timerslack_ns\fP (seit Linux 4.6) .\" commit da8b44d5a9f8bf26da637b7336508ca534d6b319 .\" commit 5de23d435e88996b1efe0e2cebe242074ce67c9e This file exposes the process's "current" timer slack value, expressed in nanoseconds. The file is writable, allowing the process's timer slack value to be changed. Writing 0 to this file resets the "current" timer slack to the "default" timer slack value. For further details, see the discussion of \fBPR_SET_TIMERSLACK\fP in \fBprctl\fP(2). .IP .\" commit 7abbaf94049914f074306d960b0f968ffe52e59f Ursprünglich wurde die Zugriffsberechtigung für diese Datei über eine Ptrace\-Zugriffsmodusprüfung \fBPTRACE_MODE_ATTACH_FSCREDS\fP geregelt (siehe \fBptrace\fP(2)). Allerdings wurde dies nachfolgend als zu strenge Anforderung erachtet (und es hatte den Seiteneffekt, dass die Notwendigkeit für einen Prozess, die Capability \fBCAP_SYS_PTRACE\fP zu haben, auch dazu führte, dass er den Speicher jedes Prozesses lesen und verändern konnte). Daher wird seit Linux 4.9 nur die (schwächere) Capability \fBCAP_SYS_NICE\fP für den Zugriff auf diese Datei benötigt. .TP \fI/proc/[PID]/uid_map\fP, \fI/proc/[PID]/gid_map\fP (seit Linux 3.5) Siehe \fBuser_namespaces\fP(7). .TP \fI/proc/[PID]/wchan\fP (seit Linux 2.6.0) Der symbolische Name, der dem Ort im Kernel entspricht, an dem der Prozess schläft. .IP Die Zugriffsberechtigungen dieser Datei werden von einer Ptrace\-Zugriffsmodusprüfung \fBPTRACE_MODE_READ_FSCREDS\fP geregelt; siehe \fBptrace\fP(2). .TP \fI/proc/apm\fP Version von »advanced power management« und Informationen zur Batterie, wenn bei der Kompilierung des Kernels \fBCONFIG_APM\fP definiert wird. .TP \fI/proc/buddyinfo\fP Diese Datei enthält Informationen, die zur Diagnose von Speicherfragmentierungsproblemen verwandt werden. Jede Zeile beginnt mit der Kennzeichnung des Knotens und dem Name der Zone, die zusammen einen Speicherbereich identifizieren. Dies wird von der Anzahl der verfügbaren Stücke (Chunks) einer bestimmten Ordnung, in die diese Zonen geteilt sind, gefolgt. Die Größe in Bytes einer bestimmten Ordnung wird von der folgenden Formel bestimmt: .IP (2^Ordnung)\ *\ PAGE_SIZE .IP Der binäre Buddy\-Speicherverwaltungsalgorithmus innerhalb des Kernels wird ein Stück in zwei Stücke einer geringeren Ordnung (daher mit der halben Größe) unterteilen oder zwei angrenzende Stück in ein größeres Stück höherer Ordnung (daher mit der doppelten Größe) kombinieren, um Reservierungsanfragen zu erfüllen und um Speicherfragmentierung etwas entgegenzusetzen. Die Ordnung entspricht der Spaltennummer, wenn mit dem Zählen bei Null begonnen wird. .IP Auf einem x86\-64\-System zum Beispiel: .IP .in -12n .EX 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 .EE .in .IP In diesem Beispiel gibt es einen Knoten, der drei Zonen enthält und es gibt 11 verschiedene Stückgrößen. Falls die Seitengröße 4 Kilobyte beträgt, dann hat die erste Zone, genannt \fIDMA\fP, (auf X86 die ersten 16 Megabyte an Speicher) ein Stück von 4 Kilobyte (Ordnung 0) verfügbar und hat 3 Stücke von 4 Megabyte (Ordnung 10) verfügbar. .IP Falls der Speicher stark fragmentiert ist, werden die Zähler für Stücke höherer Ordnung Null sein und Zuweisungen von großen, zusammenhängenden Bereichen fehlschlagen. .IP Weitere Informationen über die Zonen können in \fI/proc/zoneinfo\fP gefunden werden. .TP \fI/proc/bus\fP Enthält Unterverzeichnisse für installierte Busse. .TP \fI/proc/bus/pccard\fP Unterverzeichnis für PCMCIA\-Geräte, wenn bei der Kompilierung des Kernels \fBCONFIG_PCMCIA\fP gesetzt wird. .TP \fI/proc/bus/pccard/drivers\fP .TP \fI/proc/bus/pci\fP 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. .TP \fI/proc/bus/pci/devices\fP Informationen über PCI\-Geräte. Auf diese kann mittels \fBlspci\fP(8) und \fBsetpci\fP(8) zugegriffen werden. .TP \fI/proc/cgroups\fP (seit Linux 2.6.24) siehe \fBcgroups\fP(7) .TP \fI/proc/cmdline\fP Dem Kernel beim Startvorgang übergebene Argumente. Oft geschieht das über einen Bootmanager wie \fBlilo\fP(8) oder \fBgrub\fP(8). .TP \fI/proc/config.gz\fP (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 \fI.config\fP, die bei der Konfiguration des Kernels (mittels \fImake xconfig\fP, \fImake config\fP oder ähnlichem) erzeugt wird. Der Inhalt der Datei ist komprimiert; er kann mittels \fBzcat\fP(1) und \fBzgrep\fP(1) angezeigt und durchsucht werden. Solange keine Änderungen in der folgenden Datei vorgenommen wurden, sind die Inhalte von \fI/proc/config.gz\fP die gleichen, die wie folgt gewonnen werden können: .IP .in +4n .EX cat /lib/modules/$(uname \-r)/build/.config .EE .in .IP \fI/proc/config.gz\fP wird nur bereitgestellt, wenn der Kernel mit \fBCONFIG_IKCONFIG_PROC\fP konfiguriert wird. .TP \fI/proc/crypto\fP .\" commit 3b72c814a8e8cd638e1ba0da4dfce501e9dff5af Eine Liste der durch das Kernel\-Krypto\-API bereitgestellten Chiffren. Für Details schauen Sie in die Kerneldokumentation zum Thema \fILinux Kernel Crypto API\fP, die unterhalb des Kernelquellbaumverzeichnisses \fIDocumentation/crypto/\fP (oder \fIDocumentation/DocBook\fP vor 4.10) verfügbar ist. (Die Dokumentation kann mit einem Befehl wie \fImake htmldocs\fP im Wurzelverzeichnis des Kernelquellbaums gebaut werden.) .TP \fI/proc/cpuinfo\fP 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 \fIprocessor\fP, welcher die Nummer der CPU anzeigt und \fIBogoMIPS\fP, eine Systemkonstante, die während der Kernel\-Initialisierung errechnet wird. SMP\-Maschinen haben Informationen für jede CPU. Der Befehl \fBlscpu\fP(1) sammelt seine Informationen aus dieser Datei. .TP \fI/proc/devices\fP Eine Textliste der Major\-Gerätenummern und Gerätegruppen. Kann von MAKEDEV\-Skripten genutzt werden, um mit dem Kernel überein zu stimmen. .TP \fI/proc/diskstats\fP (seit Linux 2.5.69) Diese Datei enthält Platten\-E/A\-Statistiken für jedes Plattengerät. Die Linux\-Kernel\-Quelldatei \fIDocumentation/iostats.txt\fP gibt weitere Informationen. .TP \fI/proc/dma\fP Das ist eine Liste von registrierten \fIISA\fP\-DMA\-Kanälen, die zur Zeit benutzt werden (DMA: Direct Memory Access). .TP \fI/proc/driver\fP Leeres Unterverzeichnis. .TP \fI/proc/execdomains\fP List of the execution domains (ABI personalities). .TP \fI/proc/fb\fP Information zum Bildspeicher (frame buffer), wenn bei der Kompilierung des Kernels \fBCONFIG_FB\fP definiert wird. .TP \fI/proc/filesystems\fP 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 \fBfilesystems\fP(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). .IP Im Übrigen kann diese Datei von \fBmount\fP(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). .TP \fI/proc/fs\fP .\" FIXME Much more needs to be said about /proc/fs .\" Enthält Unterverzeichnisse, die wiederum Dateien mit Informationen über (bestimmte) eingehängte Dateisysteme enthalten. .TP \fI/proc/ide\fP 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: .IP .in +4n .EX cache Puffergröße in KB capacity Anzahl der Sektoren driver Version des Treibers geometry physikalische und logische Geometrie identify hexadezimal media Medientyp model Modellnummer des Herstellers settings Laufwerkeinstellungen smart_thresholds hexadezimal smart_values hexadezimal .EE .in .IP Das Werkzeug \fBhdparm\fP(8) ermöglicht einen angenehmen Zugriff auf diese Informationen. .TP \fI/proc/interrupts\fP 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. .TP \fI/proc/iomem\fP E/A\-Speicherbelegung in Linux 2.4 .TP \fI/proc/ioports\fP Das ist eine Liste der derzeit registrierten und benutzten Ein\-/Ausgabe\-Port\-Regionen. .TP \fI/proc/kallsyms\fP (seit Linux 2.5.71) Hier stehen die vom Kernel exportierten Symboldefinitionen, die von \fImodules\fP(X)\-Tools benutzt werden, um ladbare Module dynamisch zu linken und zu binden. Bis einschließlich Linux 2.5.47 gab es eine ähnliche Datei \fIksyms\fP mit leicht abweichender Syntax. .TP \fI/proc/kcore\fP Diese Datei repräsentiert den physikalischen Speicher des Systems und hat das Elf\-core\-Dateiformat. Mit dieser Pseudodatei und einem Kernel mit Debug\-Symbolen (\fI/usr/src/linux/vmlinux\fP) kann mit GDB der aktuelle Zustand der Kernel\-Datenstrukturen untersucht werden. .IP Die Gesamtgröße dieser Datei ist die Größe des physischen Speichers (RAM) plus 4\ KiB. .TP \fI/proc/keys\fP (seit Linux 2.6.10) Siehe \fBkeyrings\fP(7). .TP \fI/proc/key\-users\fP (seit Linux 2.6.10) Siehe \fBkeyrings\fP(7). .TP \fI/proc/kmsg\fP Diese Datei kann anstelle des Systemaufrufs \fBsyslog\fP(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 \fBsyslog\fP(2) zur Protokollierung benutzt. .IP Die Informationen in dieser Datei können mit \fBdmesg\fP(1) dargestellt werden. .TP \fI/proc/kpagecgroup\fP (seit Linux 4.3) .\" commit 80ae2fdceba8313b0433f899bdd9c6c463291a17 Diese Datei enthält 64\-Bit\-Inode\-Nummern der Speicher\-Cgroup, auf die jede Seite berechnet wird. Sie ist durch die Seitenrahmennummer indiziert (siehe die Erörterung von \fI/proc/[PID]/pagemap\fP). .IP Die Datei \fI/proc//proc/kpagecgroup\fP ist nur vorhanden, wenn die Kernel\-Konfigurationsoption \fBCONFIG_MEMCG\fP aktiviert ist. .TP \fI/proc/kpagecount\fP (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 \fI/proc/[pid]/pagemap\fP). .IP Die Datei \fI/proc/kpagecount\fP ist nur vorhanden, wenn die Kernel\-Konfigurationsoption \fBCONFIG_PROC_PAGE_MONITOR\fP aktiviert ist. .TP \fI/proc/kpageflags\fP (seit Linux 2.6.25) Diese Datei enthält 64\-Bit\-Masken, die jedem physischen Seitenrahmen (page frame) entsprechen. Sie ist durch die Seitenrahmennummer indiziert (siehe die Erörterung von \fI/proc/[PID]/pagemap\fP). Die Bits sind wie folgt: .IP .\" KPF_BALLOON: commit 09316c09dde33aae14f34489d9e3d243ec0d5938 .\" KPF_ZERO_PAGE: commit 56873f43abdcd574b25105867a990f067747b2f4 .\" KPF_IDLE: commit f074a8f49eb87cde95ac9d040ad5e7ea4f029738 0 \- KPF_LOCKED 1 \- KPF_ERROR 2 \- KPF_REFERENCED 3 \- KPF_UPTODATE 4 \- KPF_DIRTY 5 \- KPF_LRU 6 \- KPF_ACTIVE 7 \- KPF_SLAB 8 \- KPF_WRITEBACK 9 \- KPF_RECLAIM 10 \- KPF_BUDDY 11 \- KPF_MMAP (seit Linux 2.6.31) 12 \- KPF_ANON (seit Linux 2.6.31) 13 \- KPF_SWAPCACHE (seit Linux 2.6.31) 14 \- KPF_SWAPBACKED (seit Linux 2.6.31) 15 \- KPF_COMPOUND_HEAD (seit Linux 2.6.31) 16 \- KPF_COMPOUND_TAIL (seit Linux 2.6.31) 17 \- KPF_HUGE (seit Linux 2.6.31) 18 \- KPF_UNEVICTABLE (seit Linux 2.6.31) 19 \- KPF_HWPOISON (seit Linux 2.6.31) 20 \- KPF_NOPAGE (seit Linux 2.6.31) 21 \- KPF_KSM (seit Linux 2.6.32) 22 \- KPF_THP (seit Linux 3.4) 23 \- KPF_BALLOON (seit Linux 3.18) 24 \- KPF_ZERO_PAGE (seit Linux 4.0) 25 \- KPF_IDLE (seit Linux 4.3) .IP .\" commit ad3bdefe877afb47480418fdb05ecd42842de65e .\" commit e07a4b9217d1e97d2f3a62b6b070efdc61212110 Für weitere Details zur Bedeutung dieser Bits lesen Sie die Kernelquelldatei \fIDocumentation/vm/pagemap.txt\fP. Vor Kernel 2.6.29 lieferten \fBKPF_WRITEBACK\fP, \fBKPF_RECLAIM\fP, \fBKPF_BUDDY\fP und \fBKPF_LOCKED\fP nicht die korrekten Werte. .IP Die Datei \fI/proc/kpageflags\fP ist nur vorhanden, wenn die Kernel\-Konfigurationsoption \fBCONFIG_PROC_PAGE_MONITOR\fP aktiviert ist. .TP \fI/proc/ksyms\fP (Linux 1.1.23\-2.5.47) Siehe \fI/proc/kallsyms\fP. .TP \fI/proc/loadavg\fP Die ersten drei Felder in dieser Datei geben die durchschnittliche Anzahl von Jobs an, die in der Run\-Warteschlange sind (Status R) oder auf Platten\-E/A warten (Status D), gemittelt über 1, 5, und 15 Minuten. Das sind die gleichen Angaben für die durchschnittliche Belastung, wie sie von \fBuptime\fP(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. .TP \fI/proc/locks\fP Diese Datei zeigt aktuelle Datei\-Sperren (\fBflock\fP(2) und \fBfcntl\fP(2)) und \-Ausleihen (\fBfcntl\fP(2)) an. .IP Ein Beispiel für den Inhalt in dieser Datei wird nachfolgend gezeigt: .IP .in +4n .EX 1: POSIX ADVISORY READ 5433 08:01:7864448 128 128 2: FLOCK ADVISORY WRITE 2001 08:01:7864554 0 EOF 3: FLOCK ADVISORY WRITE 1568 00:2f:32388 0 EOF 4: POSIX ADVISORY WRITE 699 00:16:28457 0 EOF 5: POSIX ADVISORY WRITE 764 00:16:21448 0 0 6: POSIX ADVISORY READ 3548 08:01:7867240 1 1 7: POSIX ADVISORY READ 3548 08:01:7865567 1826 2335 8: OFDLCK ADVISORY WRITE \-1 08:01:8713209 128 191 .EE .in .IP Die gezeigten Felder in jeder Zeile sind wie folgt: .RS .IP (1) 4 Die ordinale Position der Sperre in der Liste. .IP (2) Der Sperrtyp. Folgende Werte können hier u.A. erscheinen: .RS .TP \fBFLOCK\fP Dies ist eine mittels \fBflock\fP(2) erstellte BSD\-Sperrdatei. .TP \fBOFDLCK\fP Dies ist eine mittels \fBfcntl\fP(2) erstellte offene Dateideskriptorsperre (OFD). .TP \fBPOSIX\fP Dies ist eine mittels \fBfcntl\fP(2) erstellte POSIX\-Byte\-Bereichssperre. .RE .IP (3) Unter den hier auftretenden Zeichenketten sind auch die folgenden: .RS .TP \fBADVISORY\fP Dies ist eine empfohlene Sperre. .TP \fBMANDATORY\fP Dies ist eine Pflichtsperre. .RE .IP (4) Die Art der Sperre. Folgende Werte können hier auftauchen: .RS .TP \fBREAD\fP Dies ist eine POSIX\- oder OFD\-Lesesperre oder eine gemeinsame BSD\-Sperre. .TP \fBWRITE\fP Dies ist eine POSIX\- oder OFD\-Schreibsperre oder eine exklusive BSD\-Sperre. .RE .IP (5) die PID des Prozesses, der die Sperre besitzt, .IP .\" commit 9d5b86ac13c573795525ecac6ed2db39ab23e2a8 Da OFD\-Sperren nicht einem einzelnen Prozess gehören (da mehrere Prozesse über Dateideskriptoren verfügen können, die sich auf die gleiche offene Dateideskription beziehen), wird in diesem Feld der Wert \-1 für OFD\-Sperren angezeigt. (Vor Kernel 4.14 wurde durch einen Fehler die PID des Prozesses, der ursprünglich die Sperre erwarb, statt des Wertes \-1 angezeigt.) .IP (6) Drei Doppelpunkt\-getrennte Unterlisten, die die Major\- und Minor\-Gerätekennung des Geräts, das das Dateisystem enthält, auf dem sich die gesperrte Datei befindet, gefolgt von der Inode\-Nummer der gesperrten Datei. .IP (7) Der Byte\-Versatz des ersten Bytes der Sperre. Für BSD\-Sperren ist dieser Wert immer 0. .IP (8) Der Byteversatz des letzten Bytes der Sperre. \fBEOF\fP im Feld bedeutet, dass sich die Sperre bis zum Ende der Datei ausdehnt. Für BSD\-Sperren ist der angezeigte Wert immer \fIEOF\fP. .RE .IP .\" commit d67fd44f697dff293d7cdc29af929241b669affe Seit Linux 4.9 wird die Liste der in \fI/proc/locks\fP gezeigten Sperren gefiltert, um nur die Sperren für die Prozesse in dem PID\-Namensraum (siehe \fBpid_namespaces\fP(7)), für den das Dateisystem \fI/proc\fP eingehängt worden war, anzuzeigen. (Im ursprünglichen PID\-Namensraum gibt es keine Filterung der in dieser Datei angezeigten Datensätze.) .IP Der Befehl \fBlslocks\fP(8) stellt etwas mehr Informationen über jede Sperre bereit. .TP \fI/proc/malloc\fP (nur bis zu einschließlich Linux 2.2) .\" It looks like this only ever did something back in 1.0 days Diese Datei existiert nur, wenn bei der Kompilierung des Kernels \fBCONFIG_DEBUG_MALLOC\fP definiert war. .TP \fI/proc/meminfo\fP Diese Datei berichtet Statistiken über die Speicherverwendung auf dem System. Sie wird von \fBfree\fP(1) benutzt, um den freien und benutzen (sowohl physischen als auch Auslagerungs\-)Speicher auf dem System zu berichten, sowie den gemeinsam benutzten Speicher und die vom Kernel benutzten Puffer. Jede Zeile der Datei besteht aus einem Parameternamen, gefolgt von einem Doppelpunkt, dem Wert des Parameters und einer Maßeinheit der Option (z.B. »kB«). Die nachfolgende Liste beschreibt die Parameternamen und die Formatkennzeichner, die zum Lesen des Feldwertes benötigt wird. Außer falls unten angegeben sind alle Felder seit mindestens Linux 2.6.0 vorhanden. Einige Felder werden nur angezeigt, falls der Kernel mit bestimmten Optionen konfiguriert wurde, diese Abhängigkeiten sind in der Liste vermerkt. .RS .TP \fIMemTotal\fP %lu Gesamter verwendbarer Arbeitsspeicher (d.h. physischer Arbeitsspeicher abzüglich ein paar reservierter Bits und dem Binärcode des Kernels). .TP \fIMemFree\fP %lu Die Summe von \fILowFree\fP+\fIHighFree\fP. .TP \fIMemAvailable\fP %lu (seit Linux 3.14) Eine Abschätzung, wieviel Speicher zum Starten neuer Anwendungen verfügbar ist, ohne auszulagern. .TP \fIBuffers\fP %lu Relativ temporärer Speicher für rohe Diskblöcke, der nicht besonders groß werden sollte (20 MB oder so). .TP \fICached\fP %lu Speicherinterner Zwischenspeicher für von Platte gelesene Dateien (der Seiten\-Zwischenspeicher). Enthält \fISwapCached\fP nicht. .TP \fISwapCached\fP %lu Speicher, der schon ausgelagert war, und wieder hereingelagert wurde, aber noch in der Auslagerungsdatei ist. (Falls der Speicherdruck hoch ist, müssen diese Seiten nicht wieder ausgelagert werden, da sie bereits in der Auslagerungsdatei sind. Dies spart E/A). .TP \fIActive\fP %lu Speicher, der kürzlich verwandt wurde und normalerweise noch nicht zurückgefordert wurde, falls nicht absolut notwendig. .TP \fIInactive\fP %lu Speicher, der nicht kürzlich verwandt wurde. Er ist für Rückforderungen für andere Zwecke geeigneter. .TP \fIActive(anon)\fP %lu (seit Linux 2.6.28) [Muss noch dokumentiert werden.] .TP \fIInactive(anon)\fP %lu (seit Linux 2.6.28) [Muss noch dokumentiert werden.] .TP \fIActive(file)\fP %lu (seit Linux 2.6.28) [Muss noch dokumentiert werden.] .TP \fIInactive(file)\fP %lu (seit Linux 2.6.28) [Muss noch dokumentiert werden.] .TP \fIUnevictable\fP %lu (seit Linux 2.6.28) (Von Linux 2.6.28 bis 2.6.30: \fBCONFIG_UNEVICTABLE_LRU\fP war notwendig.) [Muss noch dokumentiert werden.] .TP \fIMlocked\fP %lu (seit Linux 2.6.28) (Von Linux 2.6.28 bis 2.6.30: \fBCONFIG_UNEVICTABLE_LRU\fP war notwendig.) [Muss noch dokumentiert werden.] .TP \fIHighTotal\fP %lu (Beginnend mit Linux 2.6.19 wird \fBCONFIG_HIGHMEM\fP benötigt). Gesamtmenge von Highmem. Highmem ist aller Speicher oberhalb ~860 MB physischen Speichers. Highmem\-Bereiche können von Anwendungsprogrammen oder für den Seiten\-Zwischenspeicher verwandt werden. Der Kernel muss Tricks zum Zugriff auf diesen Speicher verwenden, wodurch der Zugriff langsamer als bei Lowmem ist. .TP \fIHighFree\fP %lu (Beginnend mit Linux 2.6.19 wird \fBCONFIG_HIGHMEM\fP benötigt) Menge des freien Highmems. .TP \fILowTotal\fP %lu (Beginnend mit Linux 2.6.19 wird \fBCONFIG_HIGHMEM\fP benötigt) Gesamtmenge an Lowmem. Lowmem ist Speicher, der für alles verwandt werden kann, wofür Highmem verwandt werden kann, er ist aber auch für die Verwendung durch den Kernel für seine eigenen Datenstrukturen verfügbar. Unter anderem wird hier heraus \fISlab\fP zugewiesen. Schlimme Dinge passieren, falls kein Lowmem mehr verfügbar ist. .TP \fILowFree\fP %lu (Beginnend mit Linux 2.6.19 wird \fBCONFIG_HIGHMEM\fP benötigt) Menge des freien Lowmems. .TP \fIMmapCopy\fP %lu (seit Linux 2.6.29) (\fBCONFIG_MMU\fP ist notwendig.) [Muss noch dokumentiert werden.] .TP \fISwapTotal\fP %lu Gesamtmenge des verfügbaren Auslagerungsbereichs. .TP \fISwapFree\fP %lu Größe des derzeit ungenutzten Auslagerungsbereichs. .TP \fIDirty\fP %lu Speicher, der darauf wartet, zurück auf Platte geschrieben zu werden. .TP \fIWriteback\fP %lu Speicher, der aktiv zurück auf Platte geschrieben wird. .TP \fIAnonPages\fP %lu (seit Linux 2.6.18) Non\-file backed pages mapped into user\-space page tables. .TP \fIMapped\fP %lu Files which have been mapped into memory (with \fBmmap\fP(2)), such as libraries. .TP \fIShmem\fP %lu (seit Linux 2.6.32) Speichermenge, die vom \fBtmpfs\fP(5) belegt wird. .TP \fISlab\fP %lu Zwischenspeicher für In\-Kernel\-Datenstrukturen. (siehe \fBslabinfo\fP(5)) .TP \fISReclaimable\fP %lu (seit Linux 2.6.19) Teil von \fISlab\fP, der zurückgewonnen werden könnte, wie Zwischenspeicher. .TP \fISUnreclaim\fP %lu (seit Linux 2.6.19) Teil von \fISlab\fP, der bei Speicherknappheit nicht zurückgewonnen werden kann. .TP \fIKernelStack\fP %lu (seit Linux 2.6.32) Teil des Speichers, der Kernel\-Stacks zugewiesen wurde. .TP \fIPageTables\fP %lu (seit Linux 2.6.18) Menge des Speichers, der der niedrigsten Stufe der Seitentabellen zugeordnet ist. .TP \fIQuicklists\fP %lu (seit Linux 2.6.27) (\fBCONFIG_QUICKLIST\fP ist notwendig.) [Muss noch dokumentiert werden.] .TP \fINFS_Unstable\fP %lu (seit Linux 2.6.18) NFS\-Seiten, die an den Server gesandt, aber noch nicht dem dauerhaften Speicher übergeben wurden. .TP \fIBounce\fP %lu (seit Linux 2.6.18) Speicher, der für Blockgerät\-»bounce buffer« verwendet wird. .TP \fIWritebackTmp\fP %lu (seit Linux 2.6.26) Speicher, das von FUSE für temporäre Rückschreibe\-Puffer verwandt wird. .TP \fICommitLimit\fP %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 \fI/proc/sys/vm/overcommit_memory\fP). The limit is calculated according to the formula described under \fI/proc/sys/vm/overcommit_memory\fP. For further details, see the kernel source file \fIDocumentation/vm/overcommit\-accounting\fP. .TP \fICommitted_AS\fP %lu Die derzeit im System belegte Speichermenge. Der gebundene (»commited«) Speicher ist die Summe des Speichers, der vom Prozess belegt wird, selbst wenn der noch nicht durch ihn »verwandt« wurde. Ein Prozess, der 1 GB Speicher (mittels \fBmalloc\fP(3) oder ähnlichem) belegt, aber nur 300 MB davon anrührt, wird mit 300 MB an Speicher angezeigt, selbst wenn er einen Adressraum für das gesamte 1 GB belegt hat. .IP 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 \fI/proc/sys/vm/overcommit_memory\fP), allocations which would exceed the \fICommitLimit\fP 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. .TP \fIVmallocTotal\fP %lu Gesamtgröße des Vmalloc\-Speicherbereichs. .TP \fIVmallocUsed\fP %lu Größe des benutzten Vmalloc\-Bereichs. .TP \fIVmallocChunk\fP %lu Größter freier zusammenhängender Block im Vmalloc\-Bereich. .TP \fIHardwareCorrupted\fP %lu (seit Linux 2.6.32) (\fBCONFIG_MEMORY_FAILURE\fP ist notwendig.) [Muss noch dokumentiert werden.] .TP \fIAnonHugePages\fP %lu (seit Linux 2.6.38) (\fBCONFIG_TRANSPARENT_HUGEPAGE\fP is required.) Non\-file backed huge pages mapped into user\-space page tables. .TP \fIShmemHugePages\fP %lu (seit Linux 4.8) (\fBCONFIG_TRANSPARENT_HUGEPAGE\fP wird benötigt.) Von gemeinsam benutztem Speicher (shem) benutzter Speicher und mit großen Speicherseiten reserviertes \fBtmpfs\fP(5). .TP \fIShmemPmdMapped\fP %lu (seit Linux 4.8) (\fBCONFIG_TRANSPARENT_HUGEPAGE\fP is required.) Shared memory mapped into user space with huge pages. .TP \fICmaTotal\fP %lu (seit Linux 3.1) Gesamte CMA\- (Contiguous Memory Allocator) Seiten. (\fBCONFIG_CMA\fP wird benötigt.) .TP \fICmaFree\fP %lu (seit Linux 3.1) Freie CMA\- (Contiguous Memory Allocator) Seiten. (\fBCONFIG_CMA\fP wird benötigt.) .TP \fIHugePages_Total\fP %lu (\fBCONFIG_HUGETLB_PAGE\fP wird benötigt.) Die Größe der Sammlung der großen Speicherseiten. .TP \fIHugePages_Free\fP %lu (\fBCONFIG_HUGETLB_PAGE\fP wird benötigt.) Die Anzahl der großen Speicherseiten in der Sammlung, die noch nicht reserviert worden sind. .TP \fIHugePages_Rsvd\fP %lu (seit Linux 2.6.17) (\fBCONFIG_HUGETLB_PAGE\fP 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. .TP \fIHugePages_Surp\fP %lu (seit Linux 2.6.24) (\fBCONFIG_HUGETLB_PAGE\fP wird benötigt.) Dies ist die Anzahl an großen Speicherseiten in der Sammlung oberhalb des Wertes in \fI/proc/sys/vm/nr_hugepages\fP. Die maximale Anzahl an zusätzlichen großen Speicherseiten wird durch \fI/proc/sys/vm/nr_overcommit_hugepages\fP gesteuert. .TP \fIHugepagesize\fP %lu (\fBCONFIG_HUGETLB_PAGE\fP wird benötigt.) Die Größe der großen Speicherseiten. .TP \fIDirectMap4k\fP %lu (seit Linux 2.6.27) Number of bytes of RAM linearly mapped by kernel in 4kB pages. (x86.) .TP \fIDirectMap4M\fP %lu (seit Linux 2.6.27) Number of bytes of RAM linearly mapped by kernel in 4MB pages. (x86 with \fBCONFIG_X86_64\fP or \fBCONFIG_X86_PAE\fP enabled.) .TP \fIDirectMap2M\fP %lu (seit Linux 2.6.27) Number of bytes of RAM linearly mapped by kernel in 2MB pages. (x86 with neither \fBCONFIG_X86_64\fP nor \fBCONFIG_X86_PAE\fP enabled.) .TP \fIDirectMap1G\fP %lu (seit Linux 2.6.27) (x86 mit \fBCONFIG_X86_64\fP und \fBCONFIG_X86_DIRECT_GBPAGES\fP aktiviert.) .RE .TP \fI/proc/modules\fP Eine Textliste der vom System geladenen Module (siehe auch \fBlsmod\fP(8)) . .TP \fI/proc/mounts\fP Vor Kernel 2.4.19 war diese Datei eine Liste aller aktuell im System eingehängten Dateisysteme. Mit der Einführung der prozesseigenen Einhängenamensräume in Linux 2.4.19 (siehe \fBmount_namespaces\fP(7)) wurde diese Datei ein Link auf \fI/proc/self/mounts\fP, die die Einhängepunkte des prozesseigenen Einhängenamensraums auflistet. Das Format dieser Datei wird in \fBfstab\fP(5) dokumentiert. .TP \fI/proc/mtrr\fP .\" commit 7225e75144b9718cbbe1820d9c011c809d5773fd Die Memory Type Range Register, Details siehe die Linux\-Kernel\-Quelldatei \fIDocumentation/x86/mtrr.txt\fP (oder \fIDocumentation/mtrr.txt\fP vor Linux 2.6.28). .TP \fI/proc/net\fP Dieses Verzeichnis enthält verschiedene Dateien und Unterverzeichnisse, die Informationen über die Netzwerkschicht enthalten. Diese Dateien enthalten ASCII\-Strukturen und sind daher mit »cat« lesbar. Allerdings stellt der Standardbefehl \fBnetstat\fP(8) einen sehr viel saubereren Zugang zu diesen Dateien dar. .IP .\" commit e9720acd728a46cb40daa52c99a979f7c4ff195c Mit dem Aufkommen von Netznamensräumen sind verschiedene Informationen über den Netzwerkstapel virtualisiert (siehe \fBnamespaces\fP(7)). Daher ist seit Linux 2.6.25 \fI/proc/net\fP ein symbolischer Link auf das Verzeichnis \fI/proc/self/net\fP, das die gleichen unten aufgeführten Dateien und Verzeichnisse enthält. Allerdings stellen diese Dateien und Verzeichnisse nun die Informationen für den Netznamensraum dar, bei dem der Prozess Mitglied ist. .TP \fI/proc/net/arp\fP 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 .in 7n .EX 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 .EE .in .IP Here "IP address" is the IPv4 address of the machine and the "HW type" is the hardware type of the address from RFC\ 826. The flags are the internal flags of the ARP structure (as defined in \fI/usr/include/linux/if_arp.h\fP) and the "HW address" is the data link layer mapping for that IP address if it is known. .TP \fI/proc/net/dev\fP 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 \fBifconfig\fP(8) benutzt diese Werte für die Anzeige des Gerätestatus. Das Format ist: .IP .in 1n .EX 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 .EE .in .\" .TP .\" .I /proc/net/ipx .\" No information. .\" .TP .\" .I /proc/net/ipx_route .\" No information. .TP \fI/proc/net/dev_mcast\fP Definiert in \fI/usr/src/linux/net/core/dev_mcast.c\fP: .IP .in +4 .EX indx interface_name dmi_u dmi_g dmi_address 2 eth0 1 0 01005e000001 3 eth1 1 0 01005e000001 4 eth2 1 0 01005e000001 .EE .in .TP \fI/proc/net/igmp\fP Internet Group Management Protocol. Definiert in \fI/usr/src/linux/net/core/igmp.c\fP. .TP \fI/proc/net/rarp\fP Diese Datei benutzt das gleiche Format wie die \fIarp\fP\-Datei und enthält die aktuelle Datenbank für die »umgekehrte Adressauflösung« (reverse mapping), mit der \fBrarp\fP(8) arbeitet. Wenn RARP nicht in den Kernel hineinkonfiguriert ist, dann ist diese Datei nicht vorhanden. .TP \fI/proc/net/raw\fP .\" .TP .\" .I /proc/net/route .\" No information, but looks similar to .\" .BR route (8). 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. .TP \fI/proc/net/snmp\fP 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. .TP \fI/proc/net/tcp\fP Enthält einen Abzug der TCP\-Socket\-Tabelle. Der Großteil der Informationen dient nur zur Fehlersuche. Der »sl«\-Wert ist der »kernel hash slot« für diesen Socket, »local address« ist ein Wertepaar aus lokaler Adresse und Port. Die »remote address« ist (bei einer bestehenden Verbindung) ein Wertepaar aus Adresse der Gegenstation und deren Port. \&"St" ist der interne Status des Sockets. »tx_queue« und »rx_queue« sind aus\- und eingehenden Datenwarteschlangen bezüglich der Kernelspeicherverwendung. Die Felder »tr«, »tm\->when« und »rexmits« enthalten interne Kernel\-Informationen zum Zustand des Sockets und nutzen nur zur Fehlersuche. Das »uid«\-Feld enthält die effektive UID des Socket\-Erstellers. .TP \fI/proc/net/udp\fP Enthält einen Abzug der UPD\-Socket\-Tabelle. Der Großteil der Informationen dient nur zur Fehlersuche. Der »sl«\-Wert ist der »kernel hash slot« für diesen Socket, »local address« ist ein Wertepaar aus lokaler Adresse und Port. Die »remote address« ist (bei einer bestehenden Verbindung) ein Wertepaar aus Adresse der Gegenstation und deren Port. \&"St" ist der interne Status des Sockets. »tx_queue« und »rx_queue« sind aus\- und eingehenden Datenwarteschlangen bezüglich der Kernelspeicherverwendung. Die Felder »tr«, »tm\->when« und »rexmits« werden von UDP nicht genutzt. Das »uid«\-Feld enthält die effektive UID des Socket\-Erstellers. Das Format ist: .IP .in 1n .EX 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 .EE .in .IP .TP \fI/proc/net/unix\fP Liste der UNIX Domain Sockets im System und ihr Status. Format: .IP .in 1n .EX Num RefCount Protocol Flags Type St Path 0: 00000002 00000000 00000000 0001 03 1: 00000001 00000000 00010000 0001 01 /dev/printer .EE .in .IP Die Bedeutung der Felder im Einzelnen: .RS .TP 10 \fINum\fP: the kernel table slot number. .TP \fIRefCount\fP: Die Anzahl der Benutzer des Sockets. .TP \fIProtokoll\fP: Derzeit immer 0. .TP \fIFlags\fP: Die internen Kernel\-Schalter, die den Status des Sockets halten. .TP \fIType\fP: Der Socket\-Typ. Für \fBSOCK_STREAM\fP\-Sockets ist dies 0001, für \fBSOCK_DGRAM\fP\-Sockets ist dies 0002 und für \fBSOCK_SEQPACKET\fP\-Sockets ist dies 0005. .TP \fISt\fP: Der interne Zustand des Sockets. .TP \fIPath\fP: Der gebundene Pfad (falls vorhanden) des Sockets. Sockets in dem abstrakten Namensraum sind Teil der Liste und werden mit einem \fIPath\fP angezeigt, der mit dem Zeichen »@« beginnt. .RE .TP \fI/proc/net/netfilter/nfnetlink_queue\fP Diese Datei enthält Informationen über den Umgang mit der Netfilter\-Anwendungsebene\-Warteschlange, falls diese benutzt wird. Jede Zeile stellt eine Warteschlange dar. Warteschlangen, die von der Anwendungsebene aus nicht abonniert wurden, werden nicht angezeigt. .IP .in +4n .EX 1 4207 0 2 65535 0 0 0 1 (1) (2) (3)(4) (5) (6) (7) (8) .EE .in .IP Die Felder in jeder Zeile sind: .RS 7 .TP 5 (1) Die Kennung der Warteschlange. Dies passt auf die Angabe in \fB\-\-queue\-num\fP oder der Option \fB\-\-queue\-balance\fP im NFQUEUE\-Ziel von \fBiptables\fP(8). Siehe \fBiptables\-extensions\fP(8) für weitere Informationen. .TP (2) Die Netlink\-Port\-Kennung, die von der Warteschlange abonniert wurde. .TP (3) Die Anzahl der derzeit eingereihten und auf Verarbeitung durch die Anwendung wartenden Pakete. .TP (4) Der Kopiermodus der Warteschlange. Er ist entweder 1 (nur Metadaten) oder 2 (auch Nutzdaten in die Anwendungsebene kopieren). .TP (5) Kopierbereich. Dies gibt an, wie viele Bytes der Paketnutzdaten maximal in die Anwendungsebene kopiert werden sollen. .TP (6) in Warteschlange weggelassen. Die Anzahl der Pakete, die vom Kernel weggelassen werden mussten, da bereits zu viele Pakete darauf warten, dass ein Anwendungsprogramm die verpflichtenden Akzeptier\-/Verwerfentscheidungen zurückliefert. .TP (7) in Warteschlange durch Benutzer weggelassen. Die Anzahl der Pakete, die innerhalb des Netlink\-Untersystems weggelassen werden mussten. Diese entfallen normalerweise, wenn der entsprechende Socket\-Puffer voll ist, d.h. Benutzeranwendungen nicht schnell genug sind, die Meldungen zu lesen. .TP (8) Sequenznummer. Jedes Paket ist einer (32\-bit), monoton\-ansteigenden Sequenznummer zugeordnet. Dies zeigt die Kennung des neusten eingereihten Pakets. .RE .IP Die letzte Zahl existiert nur aus Kompatibilitätsgründen und ist immer 1. .TP \fI/proc/partitions\fP Enthält neben den Major\- und Minor\-Gerätenummern jeder Partition auch die Anzahl der 1024\-Byte\-Blöcke und dem Partitionsnamen. .TP \fI/proc/pci\fP Das ist eine Liste aller PCI\-Geräte, die während der Initialisierung des Kernels gefunden und konfiguriert wurden. .IP .\" FIXME Document /proc/sched_debug (since Linux 2.6.23) .\" See also /proc/[pid]/sched Diese Datei wurde zugunsten einer neuen \fI/proc\fP\-Schnittstelle für PCI (\fI/proc/bus/pci\fP) verworfen. Sie wurde in Linux 2.2 optional (verfügbar durch Setzen von \fBCONFIG_PCI_OLD_PROC\fP 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 \fICON\-FIG_PCI_LEGACY_PROC\fP noch verfügbar) und schließlich seit Linux 2.6.17 entfernt. .TP \fI/proc/profile\fP (seit Linux 2.4) Diese Datei ist nur verfügbar, falls der Kernel mit der Befehlszeilenoption \fIprofile=1\fP gestartet wurde. Er legt die Profiling\-Informationen des Kernels in einem binären Format für die Verwendung mit \fBreadprofile\fP(1) offen. Wird (z.B. eine leere Zeichenkette) in diese Datei geschrieben, werden die Profiling\-Zähler zurückgesetzt; auf einigen Architekturen setzt das Schreiben einer binäre Ganzzahl (»Profiling\-Vervielfacher«) der Größe \fIsizeof(int)\fP die Profiling\-Interrupt\-Frequenz. .TP \fI/proc/scsi\fP Ein Verzeichnis mit der \fIscsi\fP\-»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 \fBcat\fP(1) gelesen werden. .IP In einige Dateien kann auch geschrieben werden, um das Teilsystem neu zu konfigurieren oder um bestimmte Eigenschaften ein\- oder auszuschalten. .TP \fI/proc/scsi/scsi\fP Dies ist eine Liste aller SCSI\-Geräte, die dem Kernel bekannt sind. Sie ähnelt der, die beim Hochfahren des Rechners zu sehen ist. SCSI unterstützt derzeit nur den Befehl \fIsingledevice\fP, der root ermöglicht, im laufenden Betrieb der Liste ein zusätzliches Gerät hinzuzufügen. .IP Der Befehl .IP .in +4n .EX echo \(aqscsi add\-single\-device 1 0 5 0\(aq > /proc/scsi/scsi .EE .in .IP 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. .TP \fI/proc/scsi/[Treibername]\fP \fITreibername\fP 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. .IP Das Lesen der Dateien zeigt normalerweise Treiber\- und Host\-Konfiguration, Statistik usw. .IP Schreiben in diese Dateien hat Host\-abhängige Auswirkungen. Mit den Befehlen \fIlatency\fP und \fInolatency\fP kann Root den Code zur Latenzmessung im eata_dma\-Treiber ein\-/ausschalten. Mit \fIlockup\fP und \fIunlock\fP kann Root Bus\-Verklemmungen (bus lockups) steuern, wie sie vom scsi_debug\-Treiber simuliert werden. .TP \fI/proc/self\fP Dieses Verzeichnis bezieht sich auf den Prozess, der auf das \fI/proc\fP\-Dateisystem zugreift und ist mit dem \fI/proc\fP\-Verzeichnis identisch, das als Namen die Prozessnummer dieses Prozesses hat. .TP \fI/proc/slabinfo\fP Informationen über Kernel\-Zwischenspeicher. Siehe \fBslabinfo\fP(5) für Details. .TP \fI/proc/stat\fP Von der Architektur abhängige Kernel\- und Systemstatistiken. Gebräuchliche Einträge sind: .RS .TP \fIcpu 10132153 290696 3084719 46828483 16683 0 25195 0 175628 0\fP .TQ \fIcpu0 1393280 32966 572056 13343292 6130 0 17875 0 23933 0\fP .\" 1024 on Alpha and ia64 Die Zeitdauer (gemessen in USER_HZ, auf den meisten Architekturen Hundertstelsekunden, ermitteln Sie den richtigen Wert mit \fIsysconf(_SC_CLK_TCK)\fP), die das System (»cpu«\-Zeile) oder die spezielle CPU (»cpu\fIN\fP«\-Zeile) in verschiedenen Status verbracht hat: .RS .TP \fIuser\fP (1) Zeit, die auf der Anwendungsebene verbracht wurde. .TP \fInice\fP (2) Zeit, die auf der Anwendungsebene mit niedriger Priorität (nice) verbracht wurde. .TP \fIsystem\fP (3) Zeit, die im Systemmodus verbracht wurde. .TP \fIidle\fP .\" FIXME . Actually, the following info about the /proc/stat 'cpu' field .\" does not seem to be quite right (at least in 2.6.12 or 3.6): .\" the idle time in /proc/uptime does not quite match this value (4) Im Leerlaufprozess verbrachte Zeit. Dieser Wert sollte USER_HZ mal den zweiten Eintrag in der Pseudo\-Datei \fI/proc/uptime\fP sein. .TP \fIiowait\fP (seit Linux 2.5.41) .\" See kernel commit 9c240d757658a3ae9968dd309e674c61f07c7f48 (5) Zeit, die für den Abschluss der E/A wartend verbracht wird. Dieser Wert ist aus den folgenden Gründen nicht zuverlässig: .RS .IP 1. 3 Die CPU wartet nicht, dass E/A abgeschlossen wird; Iowait ist die Zeit, die ein Prozess auf den Abschluss von E/A wartet. Wenn eine CPU aufgrund ausstehender Prozess\-E/A in den Leerlauf geht, wird ein anderer Prozess auf der CPU eingeplant. .IP 2. Auf einer Mehrkern\-CPU läuft der auf den Abschluss von E/A wartende Prozess auf keiner CPU, so dass die Berechnung von Iowait für jede CPU schwierig ist. .IP 3. Der Wert in diesem Feld kann unter gewissen Umständen \fIabnehmen\fP. .RE .TP \fIirq\fP (seit Linux 2.6.0\-test4) (6) Zeit, die zum Ausliefern von Interrupts verbracht wurde. .TP \fIsoftirq\fP (seit Linux 2.6.0\-test4) (7) Zeit, die zum Ausliefern von Softirqs verbracht wurde. .TP \fIsteal\fP (seit Linux 2.6.11) (8) Gestohlene Zeit, die in anderen Betriebssystemen verbracht wurde, wenn der Prozess in einer virtualisierten Umgebung läuft. .TP \fIguest\fP (seit Linux 2.6.24) .\" See Changelog entry for 5e84cfde51cf303d368fcb48f22059f37b3872de (9) Zeit, die für den Betrieb einer virtuellen CPU für Gastbetriebssysteme unter der Steuerung des Linux\-Kernels verbracht wurde. .TP \fIguest_nice\fP (seit Linux 2.6.33) .\" commit ce0e7b28fb75cb003cfc8d0238613aaf1c55e797 (10) Time spent running a niced guest (virtual CPU for guest operating systems under the control of the Linux kernel). .RE .TP \fIpage 5741 1808\fP Die Anzahl Speicherseiten, die das System von der Platte geladen hat sowie die Anzahl der dorthin ausgelagerten Speicherseiten. .TP \fIswap 1 0\fP Die Anzahl an Auslagerungsseiten, die hereingeholt und herausgebracht wurden. .TP .\" FIXME . The following is not the full picture for the 'intr' of .\" /proc/stat on 2.6: \fIintr 1462898\fP Diese Zeile zeigt Zählungen der seit dem Systemstart bearbeiteten Interrupts für jeden der möglichen System\-Interrupts. Die erste Spalte ist die Summe aller bearbeiteten Interrupts (einschließlich architekturspezifischer Interrupts ohne Nummer); jede weitere Spalte ist die Summe für diesen bestimmten Interrupt mit Nummer. Interrupts ohne Nummer werden nicht angezeigt, nur in der Gesamtsumme berücksichtigt. .TP \fIdisk_io: (2,0):(31,30,5764,1,2) (3,0):\fP… (major,disk_idx):(noinfo, read_io_ops, blks_read, write_io_ops, blks_written) .br (nur Linux 2.4) .TP \fIctxt 115315\fP Anzahl Kontextwechsel, die das System durchlaufen hat. .TP \fIbtime 769041601\fP Zeitpunkt des Systemstarts, in Sekunden seit dem 1. Januar 1970 0 Uhr UTC (Epoch). .TP \fIprocesses 86031\fP Anzahl der seit dem Systemstart erzeugten Prozesse. .TP \fIprocs_running 6\fP Anzahl der lauffähigen Prozesse (von Linux 2.5.45 aufwärts). .TP \fIprocs_blocked 2\fP Anzahl von Prozessen, die durch das Warten auf den Abschluss von E/A blockiert sind (2.5.45 aufwärts). .TP \fIsoftirq 229245889 94 60001584 13619 5175704 2471304 28 51212741 59130143 0 51240672\fP .\" commit d3d64df21d3d0de675a0d3ffa7c10514f3644b30 Diese Zeile zeigt die Anzahl von Softirqs für alle CPUs. Die erste Spalte ist die Gesamtsumme aller Softirqs und jede nachfolgende Spalte ist die Gesamtsumme für einen bestimmten Softirq (2.6.31 aufwärts). .RE .TP \fI/proc/swaps\fP Genutzte Auslagerungsbereiche; siehe auch \fBswapon\fP(8). .TP \fI/proc/sys\fP 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 \fI/proc\fP\-Dateisystems oder des (missbilligten) Systemaufrufs \fIsysctl\fP(2) geändert werden. .IP Zeichenkettenwerte dürfen entweder von »\e0« oder »\en« eingeschlossen werden. .IP Werte vom Typ Integer oder Long können entweder in dezimaler oder in hexadezimaler Schreibweise (z.B. 0x3FFF) geschrieben werden. Beim Schreiben von mehreren Werten vom Typ Integer oder Long können diese durch eines der folgenden Leerraumzeichen getrennt werden: »\ «, »\et« oder »\en«. Die Verwendung anderer Trennzeichen führt zum Fehler \fBEINVAL\fP. .TP \fI/proc/sys/abi\fP (seit Linux 2.4.10) .\" On some systems, it is not present. Dieses Verzeichnis enthält möglicherweise binäre Anwendungsinformationen; siehe die Linux\-Kernel\-Quelldatei \fIDocumentation/sysctl/abi.txt\fP für weitere Informationen. .TP \fI/proc/sys/debug\fP Dieses Verzeichnis kann leer sein. .TP \fI/proc/sys/dev\fP Dieses Verzeichnis enthält gerätespezifische Informationen (z.B. \fI/dev/cdrom/info\fP). Auf einigen Systemen kann es leer sein. .TP \fI/proc/sys/fs\fP Dieses Verzeichnis enthält die Dateien und Unterverzeichnisse für Kernel\-Variablen in Zusammenhang mit Dateisystemen. .TP \fI/proc/sys/fs/binfmt_misc\fP Dokumentation für Dateien in diesem Verzeichnis kann in den Linux\-Kernelquellen in der Datei \fIDocumentation/admin\-guide/binfmt\-misc.rst\fP (oder in \fIDocumentation/binfmt_misc.txt\fP auf älteren Kerneln) gefunden werden. .TP \fI/proc/sys/fs/dentry\-state\fP (seit Linux 2.2) Diese Datei enthält Informationen über den Zustand des Verzeichnis\-Zwischenspeichers (directory cache,dcache). Die Datei enthält sechs Zahlen: \fInr_dentry\fP, \fInr_unused\fP, \fIage_limit\fP (Alter in Sekunden), \fIwant_pages\fP (vom System angeforderte Seiten) und zwei Dummy\-Werte. .RS .IP * 2 \fInr_dentry\fP ist die Anzahl der zugewiesenen Dentries (dcache entries). Dieses Feld wird in Linux 2.2 nicht genutzt. .IP * \fInr_unused\fP ist die Anzahl ungenutzter Dentries. .IP * .\" looks like this is unused in kernels 2.2 to 2.6 \fIage_limit\fP ist das Alter in Sekunden, nach dem Dcache\-Einträge bei Speicherknappheit zurückgefordert werden können. .IP * .\" looks like this is unused in kernels 2.2 to 2.6 \fIwant_pages\fP ist ungleich null, wenn der Kernel shrink_dcache_pages() aufgerufen hat und der Dcache noch nicht bereinigt ist. .RE .TP \fI/proc/sys/fs/dir\-notify\-enable\fP Diese Datei kann genutzt werden, um die in \fBfcntl\fP(2) beschriebene \fIdnotify\fP\-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. .TP \fI/proc/sys/fs/dquot\-max\fP 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. .TP \fI/proc/sys/fs/dquot\-nr\fP Diese Datei zeigt die Anzahl zugewiesener und die Anzahl freier Disk\-Quota\-Einträge. .TP \fI/proc/sys/fs/epoll\fP (seit Linux 2.6.28) Dieses Verzeichnis enthält die Datei \fImax_user_watches\fP, mit der der insgesamt von der \fIepoll\fP\-Schnittstelle beanspruchte Kernel\-Speicher begrenzt werden kann. Weitere Einzelheiten finden Sie in \fBepoll\fP(7). .TP \fI/proc/sys/fs/file\-max\fP Diese Datei legt eine systemweite Grenze für die Anzahl offener Dateien für alle Prozesse fest. Systemaufrufe, die beim Erreichen dieser Grenze fehlschlagen, schlagen mit dem Fehler \fBENFILE\fP fehl. (Siehe auch \fBsetrlimit\fP(2), mit der ein Prozess seine prozess\-spezifische Begrenzung, \fBRLIMIT_NOFILE\fP, für die Anzahl zu öffnender Dateien festlegen kann.) Wenn Sie viele Fehlermeldungen im Kernelprotkoll über nicht ausreichende Datei\-Handles bekommen (suchen Sie nach »VFS: file\-max limit reached«), versuchen Sie es mit einer Vergrößerung des Wertes: .IP .in +4n .EX echo 100000 > /proc/sys/fs/file\-max .EE .in .IP Ein privilegierter Prozess (\fBCAP_SYS_ADMIN\fP) kann die Begrenzung \fIfile\-max\fP außer Kraft setzen. .TP \fI/proc/sys/fs/file\-nr\fP Diese (nur lesbare) Datei enthält drei Zahlen: die Anzahl der belegten Datei\-Handles (d.h. die Anzahl der derzeit offenen Dateien); die Anzahl der freien Datei\-Handles und die maximale Anzahl an Datei\-Handles (d.h. der gleiche Wert wie \fI/proc/sys/fs/file\-max\fP). Falls die Anzahl an belegten Datei\-Handles nahe dem Maximalwert ist, sollten Sie in Betracht ziehen, das Maximum zu erhöhen. Vor Linux 2.6 belegte der Kernel Datei\-Handles dynamisch, aber gab sie nicht wieder frei. Stattdessen wurden die freien Datei\-Handles in einer Liste zur Neubelegung verwaltet, der Wert »free file handles« zeigt die Größe dieser Liste an. Ein große Anzahl an freien Datei\-Handles zeigt an, dass es in der Vergangenheit eine Benutzungsspitze für offene Datei\-Handles gab. Seit Linux 2.6 gibt der Kernel freigegebene Datei\-Handles wieder frei und der Wert »free file handles« ist immer Null. .TP \fI/proc/sys/fs/inode\-max\fP (nur bis Linux 2.2 vorhanden) Diese Datei enthält die maximale Anzahl von im Speicher befindlichen Inodes. Dieser Wert sollte drei\- bis viermal größer sein als der Wert von \fIfile\-max\fP, weil auch die Bearbeitung von \fIstdin\fP, \fIstdout\fP und Netzwerk\-Sockets einen Inode erfordert. Wenn Ihnen regelmäßig die Inodes knapp werden, müssen Sie diesen Wert erhöhen. .IP Beginnend mit Linux 2.4 gibt es keine statische Begrenzung der Anzahl der Inodes mehr und diese Datei wurde entfernt. .TP \fI/proc/sys/fs/inode\-nr\fP Diese Datei enthält die ersten zwei Werte von \fIinode\-state\fP. .TP \fI/proc/sys/fs/inode\-state\fP Diese Datei enthält sieben Zahlen: \fInr_inodes\fP, \fInr_free_inodes\fP, \fIpreshrink\fP und vier Dummy\-Werte (immer Null). .IP .\" This can be slightly more than .\" .I inode-max .\" because Linux allocates them one page full at a time. \fInr_inodes\fP ist die Anzahl der Inodes, die das System zugeteilt hat. \fInr_free_inodes\fP stellt die Anzahl der freien Inodes dar. .IP \fIpreshrink\fP ist von Null verschieden, wenn \fInr_inodes\fP > \fIinode\-max\fP und das System die Inode\-Liste abschneiden muss, statt mehr zu belegen; seit Linux 2.4 ist das Feld ein Blindwert (immer Null). .TP \fI/proc/sys/fs/inotify\fP (seit Linux 2.6.13) Dieses Verzeichnis enthält die Dateien \fImax_queued_events\fP, \fImax_user_instances\fP, und \fImax_user_watches\fP, mit denen der Verbrauch von Kernel\-Speicher durch die \fIinotify\fP\-Schnittstelle begrenzt werden kann. Weitere Einzelheiten finden Sie in \fBinotify\fP(7). .TP \fI/proc/sys/fs/lease\-break\-time\fP Diese Datei legt die Gnadenfrist fest, die der Kernel einem Prozess gewährt, der über einen Dateiausleihe (\fBfcntl\fP(2)) verfügt, nachdem der Kernel dem Prozess signalisiert hat, das ein anderer Prozess die Datei öffnen will. Wenn der Prozess innerhalb dieser Frist die Ausleihe nicht entfernt oder herabstuft, wird der Kernel die Ausleihe zwangsweise zurückziehen. .TP \fI/proc/sys/fs/leases\-enable\fP Mit dieser Datei können Dateiausleihen (\fBfcntl\fP(2)) systemweit aktiviert oder deaktiviert werden. Wenn diese Datei den Wert 0 enthält, werden Ausleihen deaktiviert. Ein Wert ungleich null aktiviert Ausleihen. .TP \fI/proc/sys/fs/mount\-max\fP (seit Linux 4.9) .\" commit d29216842a85c7970c536108e093963f02714498 Der Wert in dieser Datei legt die maximale Anzahl an Einhängungen, die in einem Einhängenamensraum existieren dürfen, fest. Der Vorgabewert ist 100.000. .TP \fI/proc/sys/fs/mqueue\fP (seit Linux 2.6.6) Dieses Verzeichnis enthält die Dateien \fImsg_max\fP, \fImsgsize_max\fP und \fIqueues_max\fP, die den Ressourcenverbrauch von POSIX\-Meldungswarteschlangen steuern. \fBmq_overview\fP(7) gibt weitere Informationen. .TP \fI/proc/sys/fs/nr_open\fP (seit Linux 2.6.25) .\" commit 9cfe015aa424b3c003baba3841a60dd9b5ad319b Diese Datei erzwingt eine obere Grenze für den Wert, auf den die Ressourcenbeschränkung \fBRLIMIT_NOFILE\fP erhöht werden kann (siehe \fBgetrlimit\fP(2)). Diese obere Grenze wird sowohl für unprivilegierte als auch für privilegierte Prozesse durchgesetzt. Der Vorgabewert in dieser Datei ist 1048576. (Vor Linux 2.6.25 war die obere Grenze für \fBRLIMIT_NOFILE\fP hart auf den gleichen Wert einkodiert.) .TP \fI/proc/sys/fs/overflowgid\fP und \fI/proc/sys/fs/overflowuid\fP 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. .TP \fI/proc/sys/fs/pipe\-max\-size\fP (seit Linux 2.6.35) siehe \fBpipe\fP(7). .TP \fI/proc/sys/fs/pipe\-user\-pages\-hard\fP (seit Linux 4.5) siehe \fBpipe\fP(7). .TP \fI/proc/sys/fs/pipe\-user\-pages\-soft\fP (seit Linux 4.5) siehe \fBpipe\fP(7). .TP \fI/proc/sys/fs/protected_hardlinks\fP (seit Linux 3.6) .\" commit 800179c9b8a1e796e441674776d11cd4c05d61d7 Wenn der Wert in dieser Datei 0 ist, werden keine Einschränkungen bezüglich der Erstellung von harten Links gesetzt (d.h. dies ist das historische Verhalten vor Linux 3.6). Wenn der Wert in dieser Datei 1 ist, kann ein harter Link auf ein Ziel nur erstellt werden, falls einer der folgenden Bedingungen zutrifft: .RS .IP * 3 The calling process has the \fBCAP_FOWNER\fP capability in its user namespace and the file UID has a mapping in the namespace. .IP * Die Dateisystem\-UID des Prozesses, der den Link erstellt, passt auf den Eigentümer (UID) der Zieldatei (wie in \fBcredentials\fP(7) beschrieben, ist die Dateisystem\-UID eines Prozesses normalerweise zu seiner effektiven UID identisch). .IP * Alle der folgenden Bedingungen sind wahr: .RS 4 .IP \(bu 3 das Ziel ist eine reguläre Datei; .IP \(bu die Zieldatei hat nicht ihr Modus\-Bit »set\-user\-ID« aktiviert; .IP \(bu die Zieldatei hat nicht sowohl ihr Modus\-Bit »set\-user\-ID« als auch »group\-executable« aktiviert; und .IP \(bu der Aufrufende hat Rechte, die Zieldatei zu lesen und zu schreiben (entweder über die Dateiberechtigungsmaske oder weil er über die geeigneten Capabilities verfügt). .RE .RE .IP Der Vorgabewert in dieser Datei ist 0. Durch Setzen des Wertes auf 1 wird eine lange existierende Klasse von Sicherheitsproblemen durch hardlinkbasierte Prüfungszeitpunkt\-Nutzungszeitpunkt\-Ressourcenwettläufe verhindert, die meistens in weltschreibbaren Verzeichnissen wie \fI/tmp\fP beobachtet wird. Die häufigste Ausnutzungsmethode dieses Problems besteht darin, Privilegiengrenzen beim Folgen eines gegebenen harten Links zu überschreiten (d.h. ein Root\-Prozess folgt einem harten Link, den ein anderer Benutzer erstellt hat). Zusätzlich verhindert dies unberechtigte Benutzer auf Systemen ohne separierte Partitionen vom »Festklemmen« verwundbarer set\-user\-ID\- und set\-group\-ID\-Dateien gegen Upgrades durch den Administrator oder dem Linken auf besondere Dateien. .TP \fI/proc/sys/fs/protected_symlinks\fP (seit Linux 3.6) .\" commit 800179c9b8a1e796e441674776d11cd4c05d61d7 Wenn der Wert in dieser Datei 0 ist, werden keine Einschränkungen auf die folgenden symbolischen Links gesetzt (d.h. das historische Verhalten vor Linux 3.6). Wenn der Wert in dieser Datei 1 ist, wird symbolischen Links nur unter den folgenden Umständen gefolgt: .RS .IP * 3 Die Dateisystem\-UID des Prozesses, der dem symbolischen Link folgt, passt auf den Eigentümer (UID) des symbolischen Links (wie in \fBcredentials\fP(7) beschrieben, ist die Dateisystem\-UID eines Prozesses normalerweise identisch zu seiner effektiven UID); .IP * der Link ist nicht in einem weltschreibbaren Verzeichnis mit Sticky\-Bit; oder .IP * der symbolische Link und sein Elternverzeichnis haben den gleichen Eigentümer (UID). .RE .IP Ein Systemaufruf, der beim Folgen eines symbolischen Links wegen der obigen Einschränkungen fehlschlägt, liefert den Fehler \fBEACCES\fP in \fIerrno\fP zurück. .IP Der Vorgabewert in dieser Datei ist 0. Wird der Wert auf 1 gesetzt, wird eine bereits lang existierende Klasse von Sicherheitsproblemen, die auf Ressourcenwettläufen zwischen dem Zeitpunkt der Überprüfung und dem Zeitpunkt der Verwendung beim Zugriff auf symbolische Links basieren, vermieden. .TP \fI/proc/sys/fs/suid_dumpable\fP (seit Linux 2.6.13) .\" The following is based on text from Documentation/sysctl/kernel.txt The value in this file is assigned to a process's "dumpable" flag in the circumstances described in \fBprctl\fP(2). In effect, the value in this file determines whether core dump files are produced for set\-user\-ID or otherwise protected/tainted binaries. The "dumpable" setting also affects the ownership of files in a process's \fI/proc/[pid]\fP directory, as described above. .IP Es können drei verschiedene Ganzzahlwerte festgelegt werden: .RS .TP \fI0\ (Standard)\fP .\" In kernel source: SUID_DUMP_DISABLE \fI0\ (Standard)\fP Das bewirkt das traditionelle Verhalten (vor Linux 2.6.13). Ein Kernspeicherabzug wird nicht für Prozesse erzeugt, die ihre Identität änderten (durch Aufruf von \fBseteuid\fP(2), \fBsetgid\fP(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. .TP \fI1\ (»debug«)\fP .\" In kernel source: SUID_DUMP_USER Alle Prozesse geben einen Kernspeicherabzug aus, wenn möglich. (Gründe, warum ein Prozess dennoch keinen Kernspeicherabzug ausgibt, sind in \fBcore\fP(5) beschrieben.) Der Kernspeicherabzug trägt die Benutzer\-Kennung (UID) des erzeugenden Prozesses, es gibt keine Sicherheitsprüfungen. Dies ist nur für die Fehlersuche im System gedacht: Dieser Modus ist unsicher, da er es unprivilegierten Benutzern erlaubt, die Speicherinhalte von privilegierten Prozessen zu untersuchen. .TP \fI2\ (»suidsafe«)\fP .\" In kernel source: SUID_DUMP_ROOT \fI2\ (»suidsafe«)\fP Für alle Programme, für die normalerweise kein Abzug erzeugt würde (siehe »0« oben), wird ein nur für Root lesbarer Abzug erzeugt. Dadurch kann der Benutzer die Kernspeicherabzugsdatei entfernen, sie aber nicht lesen. Aus Sicherheitsgründen überschreiben Kernspeicherabzüge in diesem Modus keine anderen Abzüge oder Dateien. Dieser Modus eignet sich, wenn Administratoren Probleme in einer normalen Umgebung untersuchen. .IP .\" 9520628e8ceb69fa9a4aee6b57f22675d9e1b709 .\" 54b501992dd2a839e94e76aa392c392b55080ce8 Zusätzlich muss wie in \fBcore\fP(5) ausführlich beschrieben seit Linux 3.6 \fI/proc/sys/kernel/core_pattern\fP entweder ein absoluter Pfadname oder ein Pipe\-Befehl sein. Falls \fIcore_pattern\fP diesen Regeln nicht folgt, werden in das Kernelprotokoll Warnungen ausgegeben und kein Kernspeicherabzug erstellt. .RE .IP For details of the effect of a process's "dumpable" setting on ptrace access mode checking, see \fBptrace\fP(2). .TP \fI/proc/sys/fs/super\-max\fP 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 \fIsuper\-max\fP erhöhen, wenn Sie mehr Dateisysteme einhängen müssen, als der aktuelle Wert in \fIsuper\-max\fP zulässt. .TP \fI/proc/sys/fs/super\-nr\fP Diese Datei enthält die Anzahl aktuell eingehängter Dateisysteme. .TP \fI/proc/sys/kernel\fP Dieses Verzeichnis enthält Dateien, die eine Reihe von Kernel\-Parametern steuern, wie es im Folgenden beschrieben wird. .TP \fI/proc/sys/kernel/acct\fP Diese Datei enthält drei Zahlen: \fIhighwater\fP, \fIlowwater\fP und \fIfrequency\fP. Wenn BSD\-Prozessabrechnung (accounting) aktiviert ist, steuern diese Werte ihr Verhalten. Wenn der freie Platz auf dem Dateisystem mit der Protokolldatei unter \fIlowwater\fP Prozent sinkt, wird die Abrechnung ausgesetzt. Wenn der freie Platz über \fIhighwater\fP steigt, wird die Abrechnung fortgesetzt. \fIfrequency\fP (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. .TP \fI/proc/sys/kernel/auto_msgmni\fP (Linux 2.6.27 bis 3.18) .\" commit 9eefe520c814f6f62c5d36a2ddcd3fb99dfdb30e (introduces feature) .\" commit 0050ee059f7fc86b1df2527aaa14ed5dc72f9973 (rendered redundant) Von Linux 2.6.27 bis 3.18 wurde diese Datei dazu verwandt, die Neuberechnung des Werts in \fI/proc/sys/kernel/msgmni\fP, basierend auf der Hinzufügung oder der Entfernung von Speicher oder der Erstellung/Entfernung von IPC\-Namensräumen, zu steuern. Wurde der Wert »1« per Echo in diese Datei geschrieben, wurde die automatische Neuberechnung von \fImsgmni\fP aktiviert (und eine Neuberechnung von \fImsgmni\fP basierend auf der aktuellen Menge von verfügbaren Speicher und der Anzahl von IPC\-Namensräumen ausgelöst). Wurde »0« per Echo geschrieben, wurde die automatische Neuberechnung deaktiviert. (Die automatische Neuberechnung war auch deaktiviert, falls explizit ein Wert \fI/proc/sys/kernel/msgmni\fP zugewiesen worden war.) Der Vorgabewert in \fIauto_msgmni\fP war 1. .IP .\" FIXME Must document the 3.19 'msgmni' changes. Seit Linux 3.19 hat der Inhalt dieser Datei keinen Effekt (da \fImsgmni\fP standardmäßig fast den maximalen Wert enthält) und beim Lesen aus dieser Datei wird immer der Wert »0« zurückgeliefert. .TP \fI/proc/sys/kernel/cap_last_cap\fP (seit Linux 3.2) siehe \fBcapabilities\fP(7). .TP \fI/proc/sys/kernel/cap\-bound\fP (von Linux 2.2 bis 2.6.24) Diese Datei enthält den Wert der Kernel\-\fICapability\-Begrenzungsmenge\fP (ausgedrückt als vorzeichenbehaftete Dezimalzahl). Dieser Satz wird logisch UND\-verknüpft mit den Capabilities, die während \fBexecve\fP(2) bestanden. Beginnend mit Linux 2.6.25 verschwand dieser Wert und wurde durch seine prozess\-spezifische Variante ersetzt; siehe \fBcapabilities\fP(7). .TP \fI/proc/sys/kernel/core_pattern\fP siehe \fBcore\fP(5) .TP \fI/proc/sys/kernel/core_pipe_limit\fP siehe \fBcore\fP(5) .TP \fI/proc/sys/kernel/core_uses_pid\fP siehe \fBcore\fP(5) .TP \fI/proc/sys/kernel/ctrl\-alt\-del\fP 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 \fBinit\fP(1)\-Programm weitergeleitet, um einen ordnungsgemäßen Neustart auszulösen. Wenn der Wert größer als Null ist, wird Linux' Reaktion auf einen vulkanischen Nackengriff™ ein sofortiger Neustart sein, ohne auch nur seine schmutzigen Puffer zu synchronisieren. Anmerkung: Wenn ein Programm (wie DOSEMU) die Tastatur im »raw«\-Modus betreibt, wird das Strg\-Alt\-Entf durch das Programm abgefangen, bevor es die Kernel\-TTY\-Schicht erreicht. Das Programm muss entscheiden, wie es damit umgeht. .TP \fI/proc/sys/kernel/dmesg_restrict\fP (seit Linux 2.6.37) .\" commit 620f6e8e855d6d447688a5f67a4e176944a084e8 Der Wert in dieser Datei bestimmt, wer den Inhalt des Syslogs des Kernels sehen kann. Ein Wert von 0 in dieser Datei führt zu keinen Einschränkungen. Falls der Wert 1 ist, können nur privilegierte Benutzer den Syslog des Kernels lesen. (Siehe \fBsyslog\fP(2) für weitere Details). Seit Linux 3.4 können nur Benutzer, die über das Capability \fBCAP_SYS_ADMIN\fP verfügen, den Wert dieser Datei ändern. .TP \fI/proc/sys/kernel/domainname\fP und \fI/proc/sys/kernel/hostname\fP können benutzt werden, um den NIS/YP\-Domainnamen und den Namen Ihres Systems auf genau dieselbe Weise wie mit den Befehlen \fBdomainname\fP(1) und \fBhostname\fP(1) zu setzen. Also hat .IP .in +4n .EX #\fB echo \(aqdarkstar\(aq > /proc/sys/kernel/hostname\fP #\fB echo \(aqmeineDomain\(aq > /proc/sys/kernel/domainname\fP .EE .in .IP den gleichen Effekt wie .IP .in +4n .EX #\fB hostname \(aqdarkstar\(aq\fP #\fB domainname \(aqmeineDomain\(aq\fP .EE .in .IP Beachten Sie jedoch, dass der klassische darkstar.frop.org den Rechnernamen »darkstar« und den DNS\-Domainnamen (Internet Domain Name Server) »frop.org« hat, der nicht mit den Domainnamen von NIS (Network Information Service) oder YP (Gelbe Seiten) verwechselt werden darf. Diese beiden Domainnamen sind in der Regel anders. Für eine ausführliche Diskussion siehe die Handbuchseite \fBhostname\fP(1). .TP \fI/proc/sys/kernel/hotplug\fP Diese Datei enthält den Pfad für das Programm zur Umsetzung der »Hotplug«\-Richtlinie. Der Standardwert in dieser Datei ist \fI/sbin/hotplug\fP. .TP .\" Removed in commit 87f504e5c78b910b0c1d6ffb89bc95e492322c84 (tglx/history.git) \fI/proc/sys/kernel/htab\-reclaim\fP (vor Linux 2.4.9.2) .\" removed in commit 1b483a6a7b2998e9c98ad985d7494b9b725bd228, before 2.6.28 (nur PowerPC) Wenn diese Datei auf einen Wert ungleich Null gesetzt ist, wird die »PowerPC htab« (siehe Kernel\-Datei \fIDocumentation/powerpc/ppc_htab.txt\fP) jedesmal »zurückgeschnitten«, wenn das System in den Leerlauf geht. .TP \fI/proc/sys/kernel/keys/*\fP Dieses Verzeichnis enthält verschiedene Dateien, die Parameter und Begrenzungen für die Schlüsselverwaltungseinrichtung definieren. Diese Dateien werden in \fBkeyrings\fP(7) beschrieben. .TP \fI/proc/sys/kernel/kptr_restrict\fP (seit Linux 2.6.38) .\" 455cd5ab305c90ffc422dd2e0fb634730942b257 .\" commit 411f05f123cbd7f8aa1edcae86970755a6e2a9d9 .\" commit 620f6e8e855d6d447688a5f67a4e176944a084e8 Der Wert in dieser Datei bestimmt, ob die Kerneladressen mittels Dateien in \fI/proc\fP und anderen Schnittstellen offengelegt werden. Ein Wert von 0 in dieser Datei führt zu keinen Einschränkungen. Falls der Wert 1 ist, werden alle Kernelzeiger, die mittels des Formatkennzeichners \fI%pK\fP ausgegeben werden, durch Nullen ersetzt, es sei denn, der Benutzer verfügt über die Capability \fBCAP_SYSLOG\fP. Falls der Wert 2 ist, werden Kernelzeiger, die mittels des Formatkennzeichners \fI%pK\fP ausgegeben werden, durch Nullen ersetzt, unabhängig von den Capabilitys der Benutzer. Der ursprüngliche Vorgabewert dieser Datei war 1, aber die Vorgabe wurde in Linux 2.6.39 auf 0 geändert. Seit Linux 3.4 können nur Benutzer mit der Capability \fBCAP_SYS_ADMIN\fP den Wert in dieser Datei ändern. .TP \fI/proc/sys/kernel/l2cr\fP (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. .TP \fI/proc/sys/kernel/modprobe\fP Diese Datei enthält den Pfad zum Programm, das die Kernel\-Module lädt, standardmäßig \fI/sbin/modprobe\fP. Diese Datei existiert nur, falls die Kernel\-Option \fBCONFIG_MODULES\fP (\fBCONFIG_KMOD\fP in Linux 2.6.26 und älter) aktiviert ist. Diese wird in der Linux\-Kernel\-Quelldatei \fIDocumentation/kmod.txt\fP beschrieben (nur in Kernel 2.4 und älter vorhanden). .TP \fI/proc/sys/kernel/modules_disabled\fP (seit Linux 2.6.31) .\" 3d43321b7015387cfebbe26436d0e9d299162ea1 .\" From Documentation/sysctl/kernel.txt Ein Umschaltwert, der angibt, ob Module in einen andernfalls modularen Kernel geladen werden dürfen. Dieser Umschaltwert ist standardmäßig aus (0), kann aber auf wahr (true, 1) gesetzt werden. Sobald er wahr ist, können Module weder geladen noch entladen werden und der Umschaltwert kann nicht zurück auf falsch gesetzt werden. Diese Datei ist nur vorhanden, falls der Kernel mit der aktivierten Option \fBCONFIG_MODULES\fP gebaut wurde. .TP \fI/proc/sys/kernel/msgmax\fP (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. .TP \fI/proc/sys/kernel/msgmni\fP (seit Linux 2.4) Diese Datei legt die systemweite Grenze für die Anzahl der Nachrichtenschlangen\-Bezeichner fest. Siehe auch \fI/proc/sys/kernel/auto_msgmni\fP. .TP \fI/proc/sys/kernel/msgmnb\fP (seit Linux 2.2) Diese Datei definiert einen systemweiten Parameter für die Initialisierung der Einstellung \fImsg_qbytes\fP für nachfolgend erstellte Nachrichtenschlangen. \fImsg_qbytes\fP legt fest, wie viele Bytes maximal in eine Nachrichtenschlange geschrieben werden dürfen. .TP \fI/proc/sys/kernel/ngroups_max\fP (seit Linux 2.6.4) Dies ist eine nur lesbare Datei, die die obere Grenze für die Anzahl der Gruppenmitgliedschaften eines Prozesses anzeigt. .TP \fI/proc/sys/kernel/ns_last_pid\fP (seit Linux 3.3) Siehe \fBpid_namespaces\fP(7). .TP \fI/proc/sys/kernel/ostype\fP und \fI/proc/sys/kernel/osrelease\fP Diese Dateien enthalten Teilzeichenketten von \fI/proc/version\fP. .TP \fI/proc/sys/kernel/overflowgid\fP und \fI/proc/sys/kernel/overflowuid\fP Diese Dateien duplizieren die Dateien \fI/proc/sys/fs/overflowgid\fP und \fI/proc/sys/fs/overflowuid\fP. .TP \fI/proc/sys/kernel/panic\fP Diese Datei ermöglicht Lese\- und Schreib\-Zugriff auf die Kernel\-Variable \fIpanic_timeout\fP. 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. .TP \fI/proc/sys/kernel/panic_on_oops\fP (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 \fI/proc/sys/kernel/panic\fP ein Wert ungleich Null steht, wird der Rechner neu gestartet. .TP \fI/proc/sys/kernel/pid_max\fP (seit Linux 2.5.34) .\" Prior to 2.6.10, pid_max could also be raised above 32768 on 32-bit .\" platforms, but this broke /proc/[pid] .\" See http://marc.theaimsgroup.com/?l=linux-kernel&m=109513010926152&w=2 Diese Datei gibt den Wert an, an dem PIDs überlaufen (d.h. der Wert in dieser Datei ist um eins größer als die maximal zulässige PID). PIDs größer als dieser Wert werden nicht zugewiesen; daher fungiert der Wert in dieser Datei auch als systemweite Grenze der Gesamtanzahl an Prozessen und Threads. Der Standardwert für diese Datei ist 32768; dieser bewirkt den gleichen PID\-Bereich wie auf älteren Kerneln. Auf 32\-Bit\-Plattformen ist 32768 der Maximalwert. Auf 64\-Bit\-Systemen kann \fIpid_max\fP auf einen beliebigen Wert bis zu 2^22 (\fBPID_MAX_LIMIT\fP, ungefähr 4 Millionen) gesetzt werden. .TP \fI/proc/sys/kernel/powersave\-nap\fP (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. .TP \fI/proc/sys/kernel/printk\fP siehe \fBsyslog\fP(2) .TP \fI/proc/sys/kernel/pty\fP (seit Linux 2.6.4) Dieses Verzeichnis enthält zwei Dateien mit Bezug zu den Unix\-98\-Pseudoterminals (siehe \fBpts\fP(4)) des Systems. .TP \fI/proc/sys/kernel/pty/max\fP .\" FIXME Document /proc/sys/kernel/pty/reserve .\" New in Linux 3.3 .\" commit e9aba5158a80098447ff207a452a3418ae7ee386 Diese Datei definiert die Maximalzahl von Pseudoterminals. .TP \fI/proc/sys/kernel/pty/nr\fP Diese (nur lesbare) Datei gibt die Anzahl der derzeit im System genutzten Pseudoterminals an .TP \fI/proc/sys/kernel/random\fP Dieses Verzeichnis enthält verschiedene Parameter, um das Verhalten der Datei \fI/dev/random\fP zu steuern. \fBrandom\fP(4) gibt weitere Informationen. .TP \fI/proc/sys/kernel/random/uuid\fP (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. .TP \fI/proc/sys/kernel/randomize_va_space\fP (seit Linux 2.6.12) .\" Some further details can be found in Documentation/sysctl/kernel.txt Wählt die Adressraumlayoutverwürfelungsregelungen (ASLR) für das System aus (auf Architekturen, die ASLR unterstützen). Für diese Datei werden drei Werte unterstützt: .RS .IP 0 3 Schaltet ASLR aus. Dies ist die Vorgabe für Architekturen, die ASLR nicht unterstützen und wenn der Kernel mit dem Parameter \fInorandmaps\fP gestartet wird. .IP 1 Macht die Zuweisung von Adressen durch \fBmmap\fP(2), den Stack und die VDSO\-Seite zufällig. Unter anderem bedeutet dies, dass Laufzeitbibliotheken an zufälligen Adressen geladen werden. Das Textsegment von PIE\-gelinkten Programmen wird auch an zufälligen Adressen geladen. Dieser Wert ist die Vorgabe, falls der Kernel mit \fBCONFIG_COMPAT_BRK\fP konfiguriert wurde. .IP 2 .\" commit c1d171a002942ea2d93b4fbd0c9583c56fce0772 (Seit Linux 2.6.25) Speicherverwürfelung wird auch unterstützt. Dieser Wert ist die Vorgabe, falls der Kernel nicht mit \fBCONFIG_COMPAT_BRK\fP konfiguriert wurde. .RE .TP \fI/proc/sys/kernel/real\-root\-dev\fP .\" commit 9d85025b0418163fae079c9ba8f8445212de8568 Diese Datei wird in der Linux\-Kernel\-Quelldatei \fIDocumentation/admin\-guide/initrd.rst\fP (oder \fIDocumentation/initrd.txt\fP vor Linux 4.10) beschrieben. .TP \fI/proc/sys/kernel/reboot\-cmd\fP (nur Sparc) Diese Datei scheint eine Möglichkeit zu sein, ein Argument an den SPARC\-ROM/Flash\-Bootloader zu übergeben. Vielleicht kann man ihm Anweisungen für die Zeit nach dem Neustart geben? .TP \fI/proc/sys/kernel/rtsig\-max\fP (Nur in Kerneln bis einschließlich 2.6.7; siehe \fBsetrlimit\fP(2)). Mit dieser Datei kann die maximale Anzahl (anstehender) von POSIX\-Echtzeit\-Signalen eingestellt werden, die im System anstehen dürfen. .TP \fI/proc/sys/kernel/rtsig\-nr\fP (Nur in Kerneln bis einschließlich 2.6.7). Diese Datei gibt die Anzahl derzeit anstehender POSIX\-Echtzeitsignale an. .TP \fI/proc/[pid]/sched_autogroup_enabled\fP (seit Linux 2.6.38) .\" commit 5091faa449ee0b7d73bc296a93bca9540fc51d0a siehe \fBsched\fP(7) .TP \fI/proc/sys/kernel/sched_child_runs_first\fP (seit Linux 2.6.23) Falls diese Datei den Wert Null enthält, dann wird der Elternprozess zuerst nach einem \fBfork\fP(2) auf der CPU eingeplant. Andernfalls wird das Kind zuerst auf der CPU eingeplant. (Auf einem Mehrprozessorsystem können natürlich sowohl der Elternprozess als auch das Kind sofort auf einer CPU eingeplant werden.) .TP \fI/proc/sys/kernel/sched_rr_timeslice_ms\fP (seit Linux 3.9) Siehe \fBsched_rr_get_interval\fP(2). .TP \fI/proc/sys/kernel/sched_rt_period_us\fP (seit Linux 2.6.25) siehe \fBsched\fP(7) .TP \fI/proc/sys/kernel/sched_rt_runtime_us\fP (seit Linux 2.6.25) siehe \fBsched\fP(7) .TP \fI/proc/sys/kernel/seccomp\fP (seit Linux 4.14) .\" commit 8e5f1ad116df6b0de65eac458d5e7c318d1c05af Dieses Verzeichnis stellt zusätzliche Seccomp\-Informationen und \-konfigurationen bereit. Siehe \fBseccomp\fP(2) für weitere Details. .TP \fI/proc/sys/kernel/sem\fP (since Linux 2.4) Diese Datei enthält vier Zahlen, die Grenzen für System\-V\-IPC\-Semaphore definieren. Der Reihe nach sind das: .RS .IP SEMMSL 8 die maximale Anzahl von Semaphoren pro Satz von Semaphoren .IP SEMMNS 8 eine systemweite Begrenzung für die Anzahl in allen Semaphoren\-Sätzen .IP SEMOPM 8 die maximale Anzahl von Operationen, die in einem Aufruf von \fBsemop\fP(2) festgelegt werden dürfen .IP SEMMNI 8 eine systemweite Grenze für die maximale Anzahl von Bezeichnern für Semaphore. .RE .TP \fI/proc/sys/kernel/sg\-big\-buff\fP Diese Datei gibt die Größe der generischen Puffer für SCSI\-Geräte an. Sie können den Wert derzeit nicht optimieren, aber bei der Kompilierung ändern, indem Sie \fIinclude/scsi/sg.h\fP bearbeiten und den Wert \fBSG_BIG_BUFF\fP anpassen. Es sollte aber keinen Grund geben, diesen Wert zu ändern. .TP \fI/proc/sys/kernel/shm_rmid_forced\fP (seit Linux 3.1) .\" commit b34a6b1da371ed8af1221459a18c67970f7e3d53 .\" See also Documentation/sysctl/kernel.txt Falls diese Datei auf 1 gesetzt wird, werden alle gemeinsam benutzten System\-V\-Speichersegmente für die Zerstörung, sobald die Anzahl der angehängten Prozesse auf Null fällt, markiert. Mit anderen Worten, es ist nicht mehr möglich, dass gemeinsam benutzte Speichersegmente unabhängig von angehängten Prozessen existieren. .IP Der Effekt ist, als ob \fBshmctl\fP(2) \fBIPC_RMID\fP auf alle bestehenden und alle zukünftig erstellten Segmente angewandt würde (bis diese Datei auf 0 zurückgesetzt wird). Beachten Sie, dass bestehende Segmente, die an keinen Prozess angehängt sind, sofort beim Setzen der Datei auf 1 zerstört werden. Setzen dieser Option wird auch Segmente zerstören, die zwar erstellt, aber niemals angehängt wurden, sobald der Prozess, der das Segment mit \fBshmget\fP(2) erstellte, beendet wird. .IP Wird diese Datei auf 1 gesetzt, ist es möglich, sicherzustellen, dass alle gemeinsam benutzten System\-V\-Speichersegmente beim Ressourcenverbrauch und den Ressourcenbegrenzungen bei mindestens einem Prozess berücksichtigt werden (siehe die Beschreibung von \fBRLIMIT_AS\fP in \fBgetrlimit\fP(2)). .IP Da durch Setzen der Datei auf 1 ein nicht standardisiertes Verhalten hervorgerufen wird und auch bestehende Anwendungen dadurch beschädigt werden könnten, ist der Vorgabewert in dieser Datei 0. Setzen Sie diese Datei nur auf 1, wenn Sie ein gutes Verständnis der Semantik der Anwendungen, die gemeinsam benutzte System\-V\-Speichersegmente auf Ihrem System benutzen, haben. .TP \fI/proc/sys/kernel/shmall\fP (seit Linux 2.2) Diese Datei enthält die systemweite Grenze für die Gesamtzahl der Seiten im gemeinsam benutzten System\-V\-Speicher. .TP \fI/proc/sys/kernel/shmmax\fP (seit Linux 2.2) Diese Datei kann genutzt werden, um die Laufzeitbeschränkung für die maximale Größe (System V IPC) für gemeinsame Speichersegmente festzulegen. Jetzt werden im Kernel gemeinsame Speichersegmente bis zu 1 GB unterstützt. Dieser Wert ist per Vorgabe \fBSHMMAX\fP. .TP \fI/proc/sys/kernel/shmmni\fP (seit Linux 2.4) Diese Datei spezifiziert die systemweite maximale Anzahl von gemeinsam genutzten System\-V\-Speichersegmenten, die erzeugt werden können. .TP \fI/proc/sys/kernel/sysctl_writes_strict\fP (seit Linux 3.16) .\" commit f88083005ab319abba5d0b2e4e997558245493c8 .\" commit 2ca9bb456ada8bcbdc8f77f8fc78207653bbaa92 .\" commit f4aacea2f5d1a5f7e3154e967d70cf3f711bcd61 .\" commit 24fe831c17ab8149413874f2fd4e5c8a41fcd294 Der Wert in dieser Datei bestimmt, wie der Dateiversatz das Verhalten der Aktualisierung von Einträgen in Dateien unter \fI/proc/sys\fP beeinflusst. Die Datei hat drei mögliche Werte: .RS .TP 4 \-1 Dies stellt das veraltete Verhalten bereit, ohne Printk\-Warnungen. Jeder \fBwrite\fP(2) muss den kompletten zu schreibenden Wert enthalten und mehrere Schreibvorgänge auf den gleichen Dateideskriptor werden unabhängig von der Dateiposition den gesamten Wert überschreiben. .TP 0 (Vorgabe) Dies stellt das gleiche Verhalten wie bei \-1 bereit, aber Printk\-Warnungen werden für Prozesse geschrieben, die Schreibzugriffe ausführen, wenn der Dateiversatz nicht 0 ist. .TP 1 .\" FIXME . .\" With /proc/sys/kernel/sysctl_writes_strict==1, writes at an .\" offset other than 0 do not generate an error. Instead, the .\" write() succeeds, but the file is left unmodified. .\" This is surprising. The behavior may change in the future. .\" See thread.gmane.org/gmane.linux.man/9197 .\" From: Michael Kerrisk (man-pages .\" Subject: sysctl_writes_strict documentation + an oddity? .\" Newsgroups: gmane.linux.man, gmane.linux.kernel .\" Date: 2015-05-09 08:54:11 GMT Respektiert den Dateiversatz beim Schreiben von Zeichenketten in Dateien in \fI/proc/sys\fP. Mehrere Schreibvorgänge werden an den Wertepuffer \fIanhängen\fP. Alles, was hinter die maximale Länge des Puffers geschrieben wird, wird ignoriert. Schreibvorgänge an numerische Einträge in \fI/proc/sys\fP müssen immer bei Dateiversatz 0 erfolgen und der Wert muss komplett in dem an \fBwrite\fP(2) bereitgestellten Puffer enthalten sein. .RE .TP \fI/proc/sys/kernel/sysrq\fP Diese Datei steuert, welche Funktionen von dem SysRq\-Schlüssel aufgerufen werden. Standardmäßig enthält die Datei den Wert 1. Das bedeutet, dass jede mögliche SysRq\-Anfrage möglich ist. (In älteren Kernel\-Versionen wurde SysRq standardmäßig deaktiviert und Sie mussten SysRq gesondert zur Laufzeit aktivieren, aber das ist nicht mehr notwendig). Mögliche Werte in dieser Datei sind: .RS .TP 5 0 deaktiviert Sysrq komplett .TP 1 aktiviert alle Funktionen von Sysrq .TP > 1 Bitmaske, die Sysrq\-Funktione erlaubt, wie folgt: .PD 0 .RS .TP 5 \ \ 2 aktiviert die Steuerung der Konsolenprotokollierungsstufe .TP \ \ 4 aktiviert die Steuerung der Tastatur (SAK, unraw) .TP \ \ 8 aktiviert Speicherauszüge von Prozessen zur Fehlersuche usw. .TP \ 16 aktiviert den Befehl »sync« .TP \ 32 aktiviert das nur lesende erneute Einhängen .TP \ 64 aktiviert das Signalisieren von Prozessen (term, kill, oom\-kill) .TP 128 erlaubt Neustarten/Ausschalten .TP 256 Allow nicing of all real\-time tasks .RE .PD .RE .IP .\" commit 9d85025b0418163fae079c9ba8f8445212de8568 Diese Datei ist nur vorhanden, wenn die Kernel\-Konfigurationsoption \fBCONFIG_MAGIC_SYSRQ\fP aktiviert wird. Für weitere Einzelheiten lesen Sie die Linux\-Kernel\-Quelltextdatei \fIDocumentation/admin\-guide/sysrq.rst\fP (oder \fIDocumentation/sysrq.txt\fP vor Linux 4.10). .TP \fI/proc/sys/kernel/version\fP Diese Datei enthält eine Zeichenkette wie beispielsweise: .IP #5 Wed Feb 25 21:49:24 MET 1998 .IP 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. .TP \fI/proc/sys/kernel/threads\-max\fP (seit Linux 2.3.11) .\" The following is based on Documentation/sysctl/kernel.txt Diese Datei legt die systemweite Begrenzung für die Gesamtzahl der Threads (Prozesse) fest, die erstellt werden dürfen. .IP .\" commit 230633d109e35b0a24277498e773edeb79b4a331 Seit Linux 4.1 ist der Wert, den nach \fIthreads\-max\fP geschrieben werden kann, begrenzt. Der Minimalwert ist 20, der Maximalwert wird durch die Konstante \fBFUTEX_TID_MASK\fP (0x3fffffff) gegeben. Falls ein Wert außerhalb dieses Bereichs nach \fIthreads\-max\fP geschrieben wird, tritt der Fehler \fBEINVAL\fP auf. .IP Der geschriebene Wert wird gegenüber den verfügbaren RAM\-Seiten geprüft. Falls die Thread\-Struktur zu viel (mehr als 1/8) der verfügbaren RAM\-Seiten belegen würde, wird \fIthreads\-max\fP entsprechend reduziert. .TP \fI/proc/sys/kernel/yama/ptrace_scope\fP (seit Linux 3.5) siehe \fBptrace\fP(2). .TP \fI/proc/sys/kernel/zero\-paged\fP (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. .TP \fI/proc/sys/net\fP Dieses Verzeichnis enthält Netzwerkkram. Erklärungen für einige der Dateien in diesem Verzeichnis finden Sie in \fBtcp\fP(7) und \fBip\fP(7). .TP \fI/proc/sys/net/core/bpf_jit_enable\fP siehe \fBbpf\fP(2). .TP \fI/proc/sys/net/core/somaxconn\fP Diese Datei enthält eine obere Grenze für das \fIbacklog\fP\-Argument von \fBlisten\fP(2); siehe die Handbuchseite von \fBlisten\fP(2) für Einzelheiten. .TP \fI/proc/sys/proc\fP Dieses Verzeichnis kann leer sein. .TP \fI/proc/sys/sunrpc\fP Dieses Verzeichnis unterstützt Suns »remote procedure call« (\fBrpc\fP(3)) für das Netzwerkdateisystem (NFS). Auf manchen Systemen fehlt es. .TP \fI/proc/sys/user\fP (seit Linux 4.9) Siehe \fBnamespaces\fP(7). .TP \fI/proc/sys/vm\fP Dieses Verzeichnis enthält Dateien für die Optimierung der Speicherverwaltung und die Verwaltung der Puffer und Caches (Zwischenspeicher). .TP \fI/proc/sys/vm/admin_reserve_kbytes\fP (seit Linux 3.10) .\" commit 4eeab4f5580d11bffedc697684b91b0bca0d5009 Diese Datei definiert die Menge an freiem Speicher (in KiB) auf dem System, der für Benutzer mit der Capability \fBCAP_SYS_ADMIN\fP reserviert werden sollte. .IP The default value in this file is the minimum of [3% of free pages, 8MiB] expressed as KiB. The default is intended to provide enough for the superuser to log in and kill a process, if necessary, under the default overcommit 'guess' mode (i.e., 0 in \fI/proc/sys/vm/overcommit_memory\fP). .IP Systems running in "overcommit never" mode (i.e., 2 in \fI/proc/sys/vm/overcommit_memory\fP) should increase the value in this file to account for the full virtual memory size of the programs used to recover (e.g., \fBlogin\fP(1) \fBssh\fP(1), and \fBtop\fP(1)) Otherwise, the superuser may not be able to log in to recover the system. For example, on x86\-64 a suitable value is 131072 (128MiB reserved). .IP Die Änderung des Wertes in dieser Datei tritt in Kraft, wann immer eine Anwendung Speicher anfordert. .TP \fI/proc/sys/vm/compact_memory\fP (seit Linux 2.6.35) Wenn 1 in diese Datei geschrieben wird, werden alle Zonen zusammengefasst, so dass der freie Speicher wo möglich in durchlaufenden Blöcken verfügbar ist. Der Effekt dieser Aktion kann durch Einsicht in \fI/proc/buddyinfo\fP geprüft werden. .IP Nur vorhanden, falls der Kernel mit \fBCONFIG_COMPACTION\fP konfiguriert wurde. .TP \fI/proc/sys/vm/drop_caches\fP (seit Linux 2.6.16) Das Schreiben in diese Datei veranlasst den Kernel, saubere Zwischenspeicher, Dentries und Inodes aus dem Speicher zu verwerfen, was dazu führt, dass Speicher frei wird. Dies kann für das Testen der Speicherverwaltung und der Durchführung reproduzierbarer Dateisystembewertungen nützlich sein. Da das Schreiben in diese Datei dazu führt, dass die Vorteile der Zwischenspeicherung verloren gehen, kann es die Leistung des gesamten Systems vermindern. .IP Zur Freigabe des Seitenzwischenspeichers, verwenden Sie: .IP echo 1 > /proc/sys/vm/drop_caches .IP Zur Freigabe der Dentries und Inodes, verwenden Sie: .IP echo 2 > /proc/sys/vm/drop_caches .IP Zur Freigabe des Seitenzwischenspeichers, der Dentries und Inodes, verwenden Sie: .IP echo 3 > /proc/sys/vm/drop_caches .IP Da das Schreiben in diese Datei unschädlich ist und geänderte (schmutzige) Objekte nicht freigegeben werden können, sollte der Benutzer vorher \fBsync\fP(8) aufrufen. .TP \fI/proc/sys/vm/legacy_va_layout\fP (seit Linux 2.6.9) .\" The following is from Documentation/filesystems/proc.txt If nonzero, this disables the new 32\-bit memory\-mapping layout; the kernel will use the legacy (2.4) layout for all processes. .TP \fI/proc/sys/vm/memory_failure_early_kill\fP (seit Linux 2.6.32) .\" The following is based on the text in Documentation/sysctl/vm.txt 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. .IP Die Datei hat einen der folgenden Werte: .RS .IP 1: 4 Kill all processes that have the corrupted\-and\-not\-reloadable page mapped as soon as the corruption is detected. Note that this is not supported for a few types of pages, such as kernel internally allocated data or the swap cache, but works for the majority of user pages. .IP 0: 4 Unmap the corrupted page from all processes and kill a process only if it tries to access the page. .RE .IP Der Abbruch wird mittels eines \fBSIGBUS\fP\-Signals erledigt, bei dem der \fIsi_code\fP auf \fBBUS_MCEERR_AO\fP gesetzt wird. Prozesse können darauf reagieren, wenn sie wollen; siehe \fBsigaction\fP(2) für weitere Einzelheiten. .IP Diese Funktionalität ist nur auf Architekturen/Plattformen aktiv, die über eine ausgefeilte Handhabung von »machine checks« verfügen und hängt von den Fähigkeiten der Hardware ab. .IP Anwendungen können die Einstellung \fImemory_failure_early_kill\fP individuell mit der \fBprctl\fP(2)\-Operation \fBPR_MCE_KILL\fP außer Kraft setzen. .IP Nur vorhanden, falls der Kernel mit \fBCONFIG_MEMORY_FAILURE\fP konfiguriert wurde. .TP \fI/proc/sys/vm/memory_failure_recovery\fP (seit Linux 2.6.32) .\" The following is based on the text in Documentation/sysctl/vm.txt Aktiviert die Behebung von Speicherfehlern (wenn das von der Plattform unterstützt wird). .RS .IP 1: 4 Fehlerbehebung versuchen. .IP 0: 4 Bei Speicherfehlern immer eine Kernel Panic auslösen. .RE .IP Nur vorhanden, falls der Kernel mit \fBCONFIG_MEMORY_FAILURE\fP konfiguriert wurde. .TP \fI/proc/sys/vm/oom_dump_tasks\fP (seit Linux 2.6.25) .\" The following is from Documentation/sysctl/vm.txt Ermöglicht einen systemweiten Speicherauszug der Prozesse (ohne Kernel\-Threads), wenn der Kernel bei Speicherknappheit Prozesse abbricht (OOM\-killing). Der Speicherauszug enthält die folgenden Informationen für jeden Prozess (Thread, Prozess): Thread\-Kennung, reale Benutzerkennung, Thread\-Gruppenkennung (Prozesskennung), Größe des virtuellen Speichers, Größe des Resident Set, die CPU, auf der der Prozess laufen soll, die oom_adj\-Bewertung (siehe die Beschreibung von \fI/proc/[PID]/oom_adj\fP) und der Name des Befehls. Dies ist hilfreich, um festzustellen, warum der OOM\-Killer ausgeschickt wurde und um die schurkischen Prozesse zu identifizieren. .IP Ist der Wert in der Datei Null, wird diese Information unterdrückt. Auf sehr großen Systemen mit Tausenden von Prozessen wird es kaum praktikabel sein, für alle Prozesse den Speicherstatus auszugeben. Solche Systeme sollten nicht gezwungen werden, bei Speicherknappheit Leistungseinbußen zu erleiden, wenn die Informationen nicht gewünscht werden. .IP Ist der Wert von Null verschieden, werden diese Informationen jedesmal ausgegeben, wenn der OOM\-Killer einen speicherhungrigen Prozess ins Jenseits schickt. .IP Der Standardwert ist 0. .TP \fI/proc/sys/vm/oom_kill_allocating_task\fP (seit Linux 2.6.24) .\" The following is from Documentation/sysctl/vm.txt This enables or disables killing the OOM\-triggering task in out\-of\-memory situations. .IP Ist der Wert null, wertet der OOM\-Killer die gesamte Taskliste aus und wählt heuristisch einen Prozess als Opfer aus. Normalerweise wählt er einen speicherhungrigen Schurken aus, dessen Tod sehr viel Speicher freigibt. .IP Ist der Wert ungleich Null, beseitigt der OOM\-Killer den Prozess, der die Speicherknappheit auslöste. Dadurch wird eine möglicherweise aufwändige Analyse der Taskliste vermieden. .IP Falls \fI/proc/sys/vm/panic_on_oom\fP von null verschieden ist, hat das Vorrang vor dem Wert in \fI/proc/sys/vm/oom_kill_allocating_task\fP, was auch immer darin steht. .IP Der Standardwert ist 0. .TP \fI/proc/sys/vm/overcommit_kbytes\fP (seit Linux 3.14) .\" commit 49f0ce5f92321cdcf741e35f385669a421013cb7 This writable file provides an alternative to \fI/proc/sys/vm/overcommit_ratio\fP for controlling the \fICommitLimit\fP when \fI/proc/sys/vm/overcommit_memory\fP 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 \fIovercommit_ratio\fP. This allows for finer\-grained control of \fICommitLimit\fP on systems with extremely large memory sizes. .IP Nur entweder \fIovercommit_kbytes\fP oder \fIovercommit_ratio\fP kann einen Effekt haben. Falls \fIovercommit_kbytes\fP einen von Null verschiedenen Wert enthält, dann wird dieser zur Berechnung von \fICommitLimit\fP verwandt, andernfalls wird \fIovercommit_ratio\fP verwandt. Wird in eine der beiden Dateien geschrieben, dann wird der Wert in der anderen auf Null gesetzt. .TP \fI/proc/sys/vm/overcommit_memory\fP Diese Datei legt den Abrechnungsmodus des Kernels für virtuellen Speicher fest. Die Werte sind: .RS .IP 0: heuristic overcommit (this is the default) .br 1: always overcommit, never check .br 2: always check, never overcommit .RE .IP In Modus 0 werden Aufrufe von \fBmmap\fP(2) mit \fBMAP_NORESERVE\fP nicht überprüft. Damit ist die Standardprüfung sehr schwach und setzt den Prozess dem Risiko aus, zum Opfer des OOM\-Killers zu werden. .IP In mode 1, the kernel pretends there is always enough memory, until memory actually runs out. One use case for this mode is scientific computing applications that employ large sparse arrays. In Linux kernel versions before 2.6.0, any nonzero value implies mode 1. .IP In Modus 2 (verfügbar seit Linux 2.6) wird der reservierbare gesamte virtuelle Adressraum (\fICommitLimit\fP in \fI/proc/meminfo\fP) wie folgt berechnet: .IP CommitLimit = (total_RAM \- total_huge_TLB) * overcommit_ratio / 100 + total_swap .IP wobei: .RS 12 .IP * 3 \fItotal_RAM\fP ist der gesamte RAM des Systems .IP * \fItotal_huge_TLB\fP ist die für große Speicherseiten beiseite gestellte Speichermenge .IP * \fIovercommit_ratio\fP ist der Wert aus \fI/proc/sys/vm/overcommit_ratio\fP .IP * \fItotal_swap\fP ist die Menge des Auslagerungsbereichs. .RE .IP Beispielsweise ergibt diese Formel auf einem System mit 16 GB an physischem RAM, 16 GB an Auslagerungsspeicher, keinen für große Speicherseiten gewidmeten Bereich und einem \fIovercommit_ratio\fP von 50 ein \fICommitLimit\fP von 24 GB. .IP Falls der Wert in \fI/proc/sys/vm/overcommit_kbytes\fP von Null verschieden ist, wird \fICommitLimit\fP stattdessen seit Linux 3.14 wie folgt berechnet: .IP CommitLimit = overcommit_kbytes + total_swap .IP Siehe auch die Beschreibung von \fI/proc/sys/vm/admiin_reserve_kbytes\fP und \fI/proc/sys/vm/user_reserve_kbytes\fP. .TP \fI/proc/sys/vm/overcommit_ratio\fP (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 \fI/proc/sys/vm/overcommit_memory\fP. .TP \fI/proc/sys/vm/panic_on_oom\fP (seit Linux 2.6.18) .\" The following is adapted from Documentation/sysctl/vm.txt Dies aktiviert oder deaktiviert eine Kernel Panic bei Speicherknappheit .IP 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. .IP 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 (\fBmbind\fP(2) \fBMPOL_BIND\fP) oder Cpusets (\fBcpuset\fP(7)) begrenzt und die Knoten einen Speichererschöpfungs\-Zustand erreichen, kann ein Prozess vom OOM\-Killer getötet werden. In diesem Fall tritt keine Panik ein: Weil der Speicher anderer Knoten noch frei sein kann, muss das System noch nicht als ganzes unter Speichermangel leiden. .IP Wenn diese Datei schon auf den Wert 2 gesetzt ist, wird bei Speicherknappheit immer eine Kernel Panic ausgelöst. .IP 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. .TP \fI/proc/sys/vm/swappiness\fP .\" The following is from Documentation/sysctl/vm.txt 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. .TP \fI/proc/sys/vm/user_reserve_kbytes\fP (seit Linux 3.10) .\" commit c9b1d0981fcce3d9976d7b7a56e4e0503bc610dd Specifies an amount of memory (in KiB) to reserve for user processes, This is intended to prevent a user from starting a single memory hogging process, such that they cannot recover (kill the hog). The value in this file has an effect only when \fI/proc/sys/vm/overcommit_memory\fP is set to 2 ("overcommit never" mode). In this case, the system reserves an amount of memory that is the minimum of [3% of current process size, \fIuser_reserve_kbytes\fP]. .IP Der Vorgabewert in dieser Datei ist der kleinere Wert aus [3% der freien Seiten, 128 MiB], ausgedrückt in KiB. .IP Falls der Wert in dieser Datei auf Null gesetzt wird, darf ein Benutzer sämtlichen Speicher durch einen einzelnen Prozess belegen (abzüglich der durch \fI/proc/sys/vm/admin_reserve_kbytes\fP reservierten Menge). Alle nachfolgenden Versuche, einen Befehl auszuführen, führen dann zu »fork: Cannot allocate memory«. .IP Die Änderung des Wertes in dieser Datei tritt in Kraft, wann immer eine Anwendung Speicher anfordert. .TP \fI/proc/sysrq\-trigger\fP (seit Linux 2.4.21) .\" commit 9d85025b0418163fae079c9ba8f8445212de8568 Wird ein Zeichen in diese Datei geschrieben, löst das die gleiche SysRq\-Funktion aus wie die Eingabe von ALT\-SysRq\- (siehe die Beschreibung von \fI/proc/sys/kernel/sysrq\fP). Normalerweise kann nur \fIroot\fP in diese Datei schreiben. Weitere Informationen enthält die Linux\-Kernel\-Quelltextdatei \fIDocumentation/admin\-guide/sysrq.rst\fP (oder \fIDocumentation/sysrq.txt\fP vor Linux 4.10). .TP \fI/proc/sysvipc\fP Dieses Unterverzeichnis enthält die Pseudodateien \fImsg\fP, \fIsem\fP und \fIshm\fP. 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 \fBipcs\fP(1) erhalten werden können. Diese Zeilen haben Kopfzeilen und sind zwecks besserer Verständlichkeit formatiert (ein IPC\-Objekt pro Zeile). \fBsvipc\fP(7) bietet weiteren Hintergrund zu den von diesen Dateien bereitgestellten Informationen. .TP \fI/proc/thread\-self\fP (seit Linux 3.17) .\" commit 0097875bd41528922fb3bb5f348c53f17e00e2fd Dieses Verzeichnis bezieht sich auf den Thread, der auf das \fI/proc\fP\-Dateisystem zugreift und ist mit dem \fI/proc/self/task/[TID]\fP\-Verzeichnis identisch, das als Namen die Prozess\-Thread\-Nummer dieses Threads hat. .TP \fI/proc/timer_list\fP (seit Linux 2.6.21) .\" commit 289f480af87e45f7a6de6ba9b4c061c2e259fe98 Diese nur lesbare Datei enthält in einer Menschen\-lesbaren Form eine Liste aller derzeit anhängenden (hochauflösenden) Timer, aller Uhrereignis\-Quellen und ihrer Parameter. .TP \fI/proc/timer_stats\fP (von Linux 2.6.21 bis Linux 4.10) .\" commit 82f67cd9fca8c8762c15ba7ed0d5747588c1e221 .\" Date: Fri Feb 16 01:28:13 2007 -0800 .\" Text largely derived from Documentation/timers/timer_stats.txt .\" removed in commit dfb4357da6ddbdf57d583ba64361c9d792b0e0b1 .\" Date: Wed Feb 8 11:26:59 2017 -0800 Dies ist eine Fehlersucheinrichtung, um Timer\-(Miss)brauch in einem Linux\-System für Kernel\- und Anwendungsentwickler sichtbar zu machen. Sie kann von Kernel\- und Anwendungsentwicklern verwandt werden, um zu überprüfen, dass ihr Code keinen ungebührlichen Gebrauch von Timern macht. Das Ziel besteht darin, unnötige Aufwachaktionen zu vermeiden und damit die Leistungsaufnahme zu optimieren. .IP Falls im Kernel (\fBCONFIG_TIMER_STATS\fP) aktiviert aber nicht verwandt, hat es fast keinen Laufzeit\-Zusatzaufwand und einen relativ kleinen Datenstruktur\-Zusatzaufwand. Selbst falls die Datensammlung zur Laufzeit aktiviert wird, ist der Zusatzaufwand klein: Alle Sperren erfolgen pro CPU und das Nachschlagen erfolgt über einen Hash. .IP Die Datei \fI/proc/timer_stats\fP wird zum Steuern der Abtast\-Einrichtung und zum Auslesen der abgetasteten Informationen verwandt. .IP Die Funktionalität \fIrtimer_stats\fP ist beim Systemstart inaktiv. Eine Abtastperiode kann mittels des folgenden Befehls gestartet werden: .IP .in +4n .EX # echo 1 > /proc/timer_stats .EE .in .IP Der folgende Befehl beendet eine Abtastperiode: .IP .in +4n .EX # echo 0 > /proc/timer_stats .EE .in .IP Die Statistiken können wie folgt ermittelt werden: .IP .in +4n .EX $ cat /proc/timer_stats .EE .in .IP Während das Abtasten aktiviert ist, wird bei jedem Lesen aus \fI/proc/timer_stats\fP eine neu aktualisierte Statistik gesehen. Sobald das Abtasten deaktiviert ist, wird die abgetastete Information beibehalten, bis eine neue Abtastperiode begonnen wird. Dies erlaubt mehrfaches Auslesen. .IP Beispielausgabe aus \fI/proc/timer_stats\fP: .IP .in 4n .EX $\fB cat /proc/timer_stats\fP 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 .EE .in .IP Die Ausgabespalten sind wie folgt: .RS .IP * 3 .\" commit c5c061b8f9726bc2c25e19dec227933a13d1e6b7 deferrable timers eine Anzahl der Ereignisse, optional (seit Linux 2.6.23) gefolgt von dem Buchstaben »D«, falls dies ein aufschiebbarer Timer ist; .IP * die PID des Prozesses, die den Timer initialisierte, .IP * der Namen des Prozesses, der den Timer initialisierte, .IP * die Funktion, in der der Timer initalisiert wurde, und .IP * (in Klammern) die Callback\-Funktion, die diesem Timer zugeordnet ist. .RE .IP Während des Linux\-4.11\-Entwicklungszyklus wurde diese Datei aufgrund von Sicherheitsbedenken entfernt, da sie Informationen über Namensräume hinweg offenlegt. Desweiteren ist es möglich, die gleichen Informationen über kernelinterne Nachverfolgungseinrichtungen wie Ftrace zu ermitteln. .TP \fI/proc/tty\fP Unterverzeichnis mit Pseudodateien und \-Unterverzeichnissen für tty\-Treiber und »line disciplines«. .TP \fI/proc/uptime\fP Diese Datei enthält zwei Zahlen: die Laufzeit des Systems (in Sekunden) und die Dauer, die im Leerlaufprozess verbracht wurde (in Sekunden). .TP \fI/proc/version\fP Diese Zeichenkette identifiziert den gerade laufenden Kernel. Er fasst die Inhalte von \fI/proc/sys/kernel/ostype\fP, \fI/proc/sys/kernel/osrelease\fP und \fI/proc/sys/kernel/version\fP zusammen. Beispielsweise: .IP .in 8n .EX Linux version 1.0.9 (quinlan@phaze) #1 Sat May 14 01:51:54 EDT 1994 .EE .in .\" FIXME 2.6.13 seems to have /proc/vmcore implemented; document this .\" See Documentation/kdump/kdump.txt .\" commit 666bfddbe8b8fd4fd44617d6c55193d5ac7edb29 .\" Needs CONFIG_VMCORE .\" .TP \fI/proc/vmstat\fP (seit Linux 2.6.0) .\" FIXME We need explanations for each of the following fields... Die Datei zeigt verschiedene Statistiken des virtuellen Speichers. Jede Zeile dieser Datei enthält ein einzelnes Name\-Wert\-Paar, getrennt durch Leerzeichen. Einige Zeilen sind nur vorhanden, falls der Kernel mit geeigneten Optionen konfiguriert wurde. (In einigen Fällen haben sich die Optionen für bestimmte Dateien über Kernelversionen hinweg geändert, so dass sie hier nicht aufgeführt sind. Details können durch Einsicht in den Kernelquellcode gefunden werden.) Die folgenden Felder können vorhanden sein: .RS .TP \fInr_free_pages\fP (seit Linux 2.6.31) .\" commit d23ad42324cc4378132e51f2fc5c9ba6cbe75182 .TP \fInr_alloc_batch\fP (seit Linux 3.12) .\" commit 81c0a2bb515fd4daae8cab64352877480792b515 .TP \fInr_inactive_anon\fP (seit Linux 2.6.28) .\" commit 4f98a2fee8acdb4ac84545df98cccecfd130f8db .TP \fInr_active_anon\fP (seit Linux 2.6.28) .\" commit 4f98a2fee8acdb4ac84545df98cccecfd130f8db .TP \fInr_inactive_file\fP (seit Linux 2.6.28) .\" commit 4f98a2fee8acdb4ac84545df98cccecfd130f8db .TP \fInr_active_file\fP (seit Linux 2.6.28) .\" commit 4f98a2fee8acdb4ac84545df98cccecfd130f8db .TP \fInr_unevictable\fP (seit Linux 2.6.28) .\" commit 7b854121eb3e5ba0241882ff939e2c485228c9c5 .TP \fInr_mlock\fP (seit Linux 2.6.28) .\" commit 5344b7e648980cc2ca613ec03a56a8222ff48820 .TP \fInr_anon_pages\fP (seit Linux 2.6.18) .\" commit f3dbd34460ff54962d3e3244b6bcb7f5295356e6 .TP \fInr_mapped\fP (seit Linux 2.6.0) .TP \fInr_file_pages\fP (seit Linux 2.6.18) .\" commit 347ce434d57da80fd5809c0c836f206a50999c26 .TP \fInr_dirty\fP (seit Linux 2.6.0) .TP \fInr_writeback\fP (seit Linux 2.6.0) .TP \fInr_slab_reclaimable\fP (seit Linux 2.6.19) .\" commit 972d1a7b140569084439a81265a0f15b74e924e0 .\" Linux 2.6.0 had nr_slab .TP \fInr_slab_unreclaimable\fP (seit Linux 2.6.19) .\" commit 972d1a7b140569084439a81265a0f15b74e924e0 .TP \fInr_page_table_pages\fP (seit Linux 2.6.0) .TP \fInr_kernel_stack\fP (seit Linux 2.6.32) .\" commit c6a7f5728a1db45d30df55a01adc130b4ab0327c Teil des Speichers, der Kernel\-Stacks zugewiesen wurde. .TP \fInr_unstable\fP (seit Linux 2.6.0) .TP \fInr_bounce\fP (seit Linux 2.6.12) .\" commit edfbe2b0038723e5699ab22695ccd62b5542a5c1 .TP \fInr_vmscan_write\fP (seit Linux 2.6.19) .\" commit e129b5c23c2b471d47f1c5d2b8b193fc2034af43 .TP \fInr_vmscan_immediate_reclaim\fP (seit Linux 3.2) .\" commit 49ea7eb65e7c5060807fb9312b1ad4c3eab82e2c .TP \fInr_writeback_temp\fP (seit Linux 2.6.26) .\" commit fc3ba692a4d19019387c5acaea63131f9eab05dd .TP \fInr_isolated_anon\fP (seit Linux 2.6.32) .\" commit a731286de62294b63d8ceb3c5914ac52cc17e690 .TP \fInr_isolated_file\fP (seit Linux 2.6.32) .\" commit a731286de62294b63d8ceb3c5914ac52cc17e690 .TP \fInr_shmem\fP (seit Linux 2.6.32) .\" commit 4b02108ac1b3354a22b0d83c684797692efdc395 Durch Shmem und \fBtmpfs\fP(5) verwandte Seiten .TP \fInr_dirtied\fP (seit Linux 2.6.37) .\" commit ea941f0e2a8c02ae876cd73deb4e1557248f258c .TP \fInr_written\fP (seit Linux 2.6.37) .\" commit ea941f0e2a8c02ae876cd73deb4e1557248f258c .TP \fInr_pages_scanned\fP (seit Linux 3.17) .\" commit 0d5d823ab4e608ec7b52ac4410de4cb74bbe0edd .TP \fInuma_hit\fP (seit Linux 2.6.18) .\" commit ca889e6c45e0b112cb2ca9d35afc66297519b5d5 .\" Present only if the kernel was configured with .\" .BR CONFIG_NUMA . .TP \fInuma_miss\fP (seit Linux 2.6.18) .\" commit ca889e6c45e0b112cb2ca9d35afc66297519b5d5 .\" Present only if the kernel was configured with .\" .BR CONFIG_NUMA . .TP \fInuma_foreign\fP (seit Linux 2.6.18) .\" commit ca889e6c45e0b112cb2ca9d35afc66297519b5d5 .\" Present only if the kernel was configured with .\" .BR CONFIG_NUMA . .TP \fInuma_interleave\fP (seit Linux 2.6.18) .\" commit ca889e6c45e0b112cb2ca9d35afc66297519b5d5 .\" Present only if the kernel was configured with .\" .BR CONFIG_NUMA . .TP \fInuma_local\fP (seit Linux 2.6.18) .\" commit ca889e6c45e0b112cb2ca9d35afc66297519b5d5 .\" Present only if the kernel was configured with .\" .BR CONFIG_NUMA . .TP \fInuma_other\fP (seit Linux 2.6.18) .\" commit ca889e6c45e0b112cb2ca9d35afc66297519b5d5 .\" Present only if the kernel was configured with .\" .BR CONFIG_NUMA . .TP \fIworkingset_refault\fP (seit Linux 3.15) .\" commit a528910e12ec7ee203095eb1711468a66b9b60b0 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIworkingset_activate\fP (seit Linux 3.15) .\" commit a528910e12ec7ee203095eb1711468a66b9b60b0 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIworkingset_nodereclaim\fP (seit Linux 3.15) .\" commit 449dd6984d0e47643c04c807f609dd56d48d5bcc .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fInr_anon_transparent_hugepages\fP (seit Linux 2.6.38) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fInr_free_cma\fP (seit Linux 3.7) .\" commit d1ce749a0db12202b711d1aba1d29e823034648d .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . Number of free CMA (Contiguous Memory Allocator) pages. .TP \fInr_dirty_threshold\fP (seit Linux 2.6.37) .\" commit 79da826aee6a10902ef411bc65864bd02102fa83 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fInr_dirty_background_threshold\fP (seit Linux 2.6.37) .\" commit 79da826aee6a10902ef411bc65864bd02102fa83 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgpgin\fP (seit Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgpgout\fP (seit Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpswpin\fP (seit Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpswpout\fP (seit Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgalloc_dma\fP (seit Linux 2.6.5) .\" Linux 2.6.0 had pgalloc .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgalloc_dma32\fP (seit Linux 2.6.16) .\" commit 9328b8faae922e52073785ed6c1eaa8565648a0e .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgalloc_normal\fP (seit Linux 2.6.5) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgalloc_high\fP (seit Linux 2.6.5) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_HIGHMEM . .TP \fIpgalloc_movable\fP (seit Linux 2.6.23) .\" commit 2a1e274acf0b1c192face19a4be7c12d4503eaaf .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgfree\fP (seit Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgactivate\fP (seit Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgdeactivate\fP (seit Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgfault\fP (seit Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgmajfault\fP (seit Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgrefill_dma\fP (seit Linux 2.6.5) .\" Linux 2.6.0 had pgrefill .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgrefill_dma32\fP (seit Linux 2.6.16) .\" commit 9328b8faae922e52073785ed6c1eaa8565648a0e .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgrefill_normal\fP (seit Linux 2.6.5) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgrefill_high\fP (seit Linux 2.6.5) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_HIGHMEM . .TP \fIpgrefill_movable\fP (seit Linux 2.6.23) .\" commit 2a1e274acf0b1c192face19a4be7c12d4503eaaf .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .\" Formerly there were .\" pgsteal_high .\" pgsteal_normal .\" pgsteal_dma32 .\" pgsteal_dma .\" These were split out into pgsteal_kswapd* and pgsteal_direct* .\" in commit 904249aa68010c8e223263c922fcbb840a3f42e4 .TP \fIpgsteal_kswapd_dma\fP (seit Linux 3.4) .\" commit 904249aa68010c8e223263c922fcbb840a3f42e4 .\" Linux 2.6.0 had pgsteal .\" Present only if the kernel was configured with .\" .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgsteal_kswapd_dma32\fP (seit Linux 3.4) .\" commit 904249aa68010c8e223263c922fcbb840a3f42e4 .\" commit 9328b8faae922e52073785ed6c1eaa8565648a0e .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgsteal_kswapd_normal\fP (seit Linux 3.4) .\" commit 904249aa68010c8e223263c922fcbb840a3f42e4 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgsteal_kswapd_high\fP (seit Linux 3.4) .\" commit 904249aa68010c8e223263c922fcbb840a3f42e4 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_HIGHMEM . .TP \fIpgsteal_kswapd_movable\fP (seit Linux 3.4) .\" commit 904249aa68010c8e223263c922fcbb840a3f42e4 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgsteal_direct_dma\fP .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgsteal_direct_dma32\fP (seit Linux 3.4) .\" commit 904249aa68010c8e223263c922fcbb840a3f42e4 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgsteal_direct_normal\fP (seit Linux 3.4) .\" commit 904249aa68010c8e223263c922fcbb840a3f42e4 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgsteal_direct_high\fP (seit Linux 3.4) .\" commit 904249aa68010c8e223263c922fcbb840a3f42e4 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_HIGHMEM . .TP \fIpgsteal_direct_movable\fP (seit Linux 2.6.23) .\" commit 2a1e274acf0b1c192face19a4be7c12d4503eaaf .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgscan_kswapd_dma\fP .\" Linux 2.6.0 had pgscan .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgscan_kswapd_dma32\fP (seit Linux 2.6.16) .\" commit 9328b8faae922e52073785ed6c1eaa8565648a0e .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgscan_kswapd_normal\fP (seit Linux 2.6.5) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgscan_kswapd_high\fP .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_HIGHMEM . .TP \fIpgscan_kswapd_movable\fP (seit Linux 2.6.23) .\" commit 2a1e274acf0b1c192face19a4be7c12d4503eaaf .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgscan_direct_dma\fP .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgscan_direct_dma32\fP (seit Linux 2.6.16) .\" commit 9328b8faae922e52073785ed6c1eaa8565648a0e .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgscan_direct_normal\fP .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgscan_direct_high\fP .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_HIGHMEM . .TP \fIpgscan_direct_movable\fP (seit Linux 2.6.23) .\" commit 2a1e274acf0b1c192face19a4be7c12d4503eaaf .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgscan_direct_throttle\fP (seit Linux 3.6) .\" commit 68243e76ee343d63c6cf76978588a885951e2818 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIzone_reclaim_failed\fP (seit Linux 2.6.31) .\" commit 24cf72518c79cdcda486ed26074ff8151291cf65 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_NUMA . .TP \fIpginodesteal\fP (seit Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIslabs_scanned\fP (seit Linux 2.6.5) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIkswapd_inodesteal\fP (seit Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIkswapd_low_wmark_hit_quickly\fP (seit 2.6.33) .\" commit bb3ab596832b920c703d1aea1ce76d69c0f71fb7 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIkswapd_high_wmark_hit_quickly\fP (seit 2.6.33) .\" commit bb3ab596832b920c703d1aea1ce76d69c0f71fb7 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpageoutrun\fP (seit Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIallocstall\fP (seit Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIpgrotated\fP (seit Linux 2.6.0) .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIdrop_pagecache\fP (seit Linux 3.15) .\" commit 5509a5d27b971a90b940e148ca9ca53312e4fa7a .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIdrop_slab\fP (seit Linux 3.15) .\" commit 5509a5d27b971a90b940e148ca9ca53312e4fa7a .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fInuma_pte_updates\fP (seit Linux 3.8) .\" commit 03c5a6e16322c997bf8f264851bfa3f532ad515f .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_NUMA_BALANCING . .TP \fInuma_huge_pte_updates\fP (seit Linux 3.13) .\" commit 72403b4a0fbdf433c1fe0127e49864658f6f6468 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_NUMA_BALANCING . .TP \fInuma_hint_faults\fP (seit Linux 3.8) .\" commit 03c5a6e16322c997bf8f264851bfa3f532ad515f .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_NUMA_BALANCING . .TP \fInuma_hint_faults_local\fP (seit Linux 3.8) .\" commit 03c5a6e16322c997bf8f264851bfa3f532ad515f .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_NUMA_BALANCING . .TP \fInuma_pages_migrated\fP (seit Linux 3.8) .\" commit 03c5a6e16322c997bf8f264851bfa3f532ad515f .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_NUMA_BALANCING .\" and .\" .BR CONFIG_NUMA_BALANCING . .TP \fIpgmigrate_success\fP (seit Linux 3.8) .\" commit 5647bc293ab15f66a7b1cda850c5e9d162a6c7c2 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_MIGRATION . .TP \fIpgmigrate_fail\fP (seit Linux 3.8) .\" commit 5647bc293ab15f66a7b1cda850c5e9d162a6c7c2 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_MIGRATION . .TP \fIcompact_migrate_scanned\fP (seit Linux 3.8) .\" commit 397487db696cae0b026a474a5cd66f4e372995e6 .\" Linux 3.8 dropped compact_blocks_moved, compact_pages_moved, and .\" compact_pagemigrate_failed .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_COMPACTION . .TP \fIcompact_free_scanned\fP (seit Linux 3.8) .\" commit 397487db696cae0b026a474a5cd66f4e372995e6 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_COMPACTION . .TP \fIcompact_isolated\fP (seit Linux 3.8) .\" commit 397487db696cae0b026a474a5cd66f4e372995e6 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_COMPACTION . .TP \fIcompact_stall\fP (seit Linux 2.6.35) .\" commit 56de7263fcf3eb10c8dcdf8d59a9cec831795f3f .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_COMPACTION . Siehe die Kernel\-Quelldatei \fIDocumentation/vm/transhuge.txt\fP. .TP \fIcompact_fail\fP (seit Linux 2.6.35) .\" commit 56de7263fcf3eb10c8dcdf8d59a9cec831795f3f .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_COMPACTION . Siehe die Kernel\-Quelldatei \fIDocumentation/vm/transhuge.txt\fP. .TP \fIcompact_success\fP (seit Linux 2.6.35) .\" commit 56de7263fcf3eb10c8dcdf8d59a9cec831795f3f .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_COMPACTION . Siehe die Kernel\-Quelldatei \fIDocumentation/vm/transhuge.txt\fP. .TP \fIhtlb_buddy_alloc_success\fP (seit Linux 2.6.26) .\" commit 3b1163006332302117b1b2acf226d4014ff46525 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_HUGETLB_PAGE . .TP \fIhtlb_buddy_alloc_fail\fP (seit Linux 2.6.26) .\" commit 3b1163006332302117b1b2acf226d4014ff46525 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_HUGETLB_PAGE . .TP \fIunevictable_pgs_culled\fP (seit Linux 2.6.28) .\" commit bbfd28eee9fbd73e780b19beb3dc562befbb94fa .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIunevictable_pgs_scanned\fP (seit Linux 2.6.28) .\" commit bbfd28eee9fbd73e780b19beb3dc562befbb94fa .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIunevictable_pgs_rescued\fP (seit Linux 2.6.28) .\" commit bbfd28eee9fbd73e780b19beb3dc562befbb94fa .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIunevictable_pgs_mlocked\fP (seit Linux 2.6.28) .\" commit 5344b7e648980cc2ca613ec03a56a8222ff48820 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIunevictable_pgs_munlocked\fP (seit Linux 2.6.28) .\" commit 5344b7e648980cc2ca613ec03a56a8222ff48820 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIunevictable_pgs_cleared\fP (seit Linux 2.6.28) .\" commit 5344b7e648980cc2ca613ec03a56a8222ff48820 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .TP \fIunevictable_pgs_stranded\fP (seit Linux 2.6.28) .\" commit 5344b7e648980cc2ca613ec03a56a8222ff48820 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS . .\" Linux 3.7 removed unevictable_pgs_mlockfreed .TP \fIthp_fault_alloc\fP (seit Linux 2.6.39) .\" commit 81ab4201fb7d91d6b0cd9ad5b4b16776e4bed145 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_TRANSPARENT_HUGEPAGE . Siehe die Kernel\-Quelldatei \fIDocumentation/vm/transhuge.txt\fP. .TP \fIthp_fault_fallback\fP (seit Linux 2.6.39) .\" commit 81ab4201fb7d91d6b0cd9ad5b4b16776e4bed145 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_TRANSPARENT_HUGEPAGE . Siehe die Kernel\-Quelldatei \fIDocumentation/vm/transhuge.txt\fP. .TP \fIthp_collapse_alloc\fP (seit Linux 2.6.39) .\" commit 81ab4201fb7d91d6b0cd9ad5b4b16776e4bed145 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_TRANSPARENT_HUGEPAGE . Siehe die Kernel\-Quelldatei \fIDocumentation/vm/transhuge.txt\fP. .TP \fIthp_collapse_alloc_failed\fP (seit Linux 2.6.39) .\" commit 81ab4201fb7d91d6b0cd9ad5b4b16776e4bed145 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_TRANSPARENT_HUGEPAGE . Siehe die Kernel\-Quelldatei \fIDocumentation/vm/transhuge.txt\fP. .TP \fIthp_split\fP (seit Linux 2.6.39) .\" commit 81ab4201fb7d91d6b0cd9ad5b4b16776e4bed145 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_TRANSPARENT_HUGEPAGE . Siehe die Kernel\-Quelldatei \fIDocumentation/vm/transhuge.txt\fP. .TP \fIthp_zero_page_alloc\fP (seit Linux 3.8) .\" commit d8a8e1f0da3d29d7268b3300c96a059d63901b76 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_TRANSPARENT_HUGEPAGE . Siehe die Kernel\-Quelldatei \fIDocumentation/vm/transhuge.txt\fP. .TP \fIthp_zero_page_alloc_failed\fP (seit Linux 3.8) .\" commit d8a8e1f0da3d29d7268b3300c96a059d63901b76 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_TRANSPARENT_HUGEPAGE . Siehe die Kernel\-Quelldatei \fIDocumentation/vm/transhuge.txt\fP. .TP \fIballoon_inflate\fP (seit Linux 3.18) .\" commit 09316c09dde33aae14f34489d9e3d243ec0d5938 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_MEMORY_BALLOON . .TP \fIballoon_deflate\fP (seit Linux 3.18) .\" commit 09316c09dde33aae14f34489d9e3d243ec0d5938 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS .\" and .\" .BR CONFIG_MEMORY_BALLOON . .TP \fIballoon_migrate\fP (seit Linux 3.18) .\" commit 09316c09dde33aae14f34489d9e3d243ec0d5938 .\" Present only if the kernel was configured with .\" .BR CONFIG_VM_EVENT_COUNTERS , .\" .BR CONFIG_MEMORY_BALLOON , .\" and .\" .BR CONFIG_BALLOON_COMPACTION . .TP \fInr_tlb_remote_flush\fP (seit Linux 3.12) .\" commit 9824cf9753ecbe8f5b47aa9b2f218207defea211 .\" Present only if the kernel was configured with .\" .BR CONFIG_DEBUG_TLBFLUSH .\" and .\" .BR CONFIG_SMP . .TP \fInr_tlb_remote_flush_received\fP (seit Linux 3.12) .\" commit 9824cf9753ecbe8f5b47aa9b2f218207defea211 .\" Present only if the kernel was configured with .\" .BR CONFIG_DEBUG_TLBFLUSH .\" and .\" .BR CONFIG_SMP . .TP \fInr_tlb_local_flush_all\fP (seit Linux 3.12) .\" commit 9824cf9753ecbe8f5b47aa9b2f218207defea211 .\" Present only if the kernel was configured with .\" .BR CONFIG_DEBUG_TLBFLUSH . .TP \fInr_tlb_local_flush_one\fP (seit Linux 3.12) .\" commit 9824cf9753ecbe8f5b47aa9b2f218207defea211 .\" Present only if the kernel was configured with .\" .BR CONFIG_DEBUG_TLBFLUSH . .TP \fIvmacache_find_calls\fP (seit Linux 3.16) .\" commit 4f115147ff802267d0aa41e361c5aa5bd933d896 .\" Present only if the kernel was configured with .\" .BR CONFIG_DEBUG_VM_VMACACHE . .TP \fIvmacache_find_hits\fP (seit Linux 3.16) .\" commit 4f115147ff802267d0aa41e361c5aa5bd933d896 .\" Present only if the kernel was configured with .\" .BR CONFIG_DEBUG_VM_VMACACHE . .TP \fIvmacache_full_flushes\fP (seit Linux 3.19) .\" commit f5f302e21257ebb0c074bbafc37606c26d28cc3d .\" Present only if the kernel was configured with .\" .BR CONFIG_DEBUG_VM_VMACACHE . .RE .TP \fI/proc/zoneinfo\fP (since Linux 2.6.13) .\" FIXME more should be said about /proc/zoneinfo Diese Datei enthält Informationen über Speicherbereiche. Sie ist nützlich für die Analyse des Verhaltens des virtuellen Speichers. .SH ANMERKUNGEN Viele Zeichenketten (z. B. die Umgebung und die Befehlszeile) sind im internen Format dargestellt, Unterfelder werden mit Null\-Bytes (\(aq\e0\(aq) begrenzt. Sie werden diese vielleicht besser lesbar finden, wenn Sie \fIod \-c\fP oder \fItr "\e000" "\en"\fP benutzen. Alternativ erhalten Sie mit \fIecho \`cat \`\fP gute Ergebnisse. .PP .\" .SH ACKNOWLEDGEMENTS .\" The material on /proc/sys/fs and /proc/sys/kernel is closely based on .\" kernel source documentation files written by Rik van Riel. Diese Handbuchseite ist unvollständig, möglicherweise stellenweise ungenau und ein Beispiel für etwas, das ständig überarbeitet werden muss. .SH "SIEHE AUCH" \fBcat\fP(1), \fBdmesg\fP(1), \fBfind\fP(1), \fBfree\fP(1), \fBinit\fP(1), \fBps\fP(1), \fBtr\fP(1), \fBuptime\fP(1), \fBchroot\fP(2), \fBmmap\fP(2), \fBreadlink\fP(2), \fBsyslog\fP(2), \fBslabinfo\fP(5), \fBsysfs\fP(5), \fBhier\fP(7), \fBnamespaces\fP(7), \fBtime\fP(7), \fBarp\fP(8), \fBhdparm\fP(8), \fBifconfig\fP(8), \fBlsmod\fP(8), \fBlspci\fP(8), \fBmount\fP(8), \fBnetstat\fP(8), \fBprocinfo\fP(8), \fBroute\fP(8), \fBsysctl\fP(8) .PP Die Linux\-Kernelquelldateien: \fIDocumentation/filesystems/proc.txt\fP \fIDocumentation/sysctl/fs.txt\fP, \fIDocumentation/sysctl/kernel.txt\fP, \fIDocumentation/sysctl/net.txt\fP und \fIDocumentation/sysctl/vm.txt\fP. .SH KOLOPHON Diese Seite ist Teil der Veröffentlichung 4.16 des Projekts Linux\-\fIman\-pages\fP. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter \%https://www.kernel.org/doc/man\-pages/. .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von FIXME: Review translationg of "allocate", FIXME: Übersetzung von overcommit prüfen und vereinheitlichen, Martin Eberhard Schauer , Dr. Tobias Quathamer , Chris Leick , Erik Pfannenstein und Helge Kreutzmann 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 .