Scroll to navigation

PROC(5) Linux - příručka programátora PROC(5)

JMÉNO

proc - pseudo souborový systém informací o procesech

POPIS

Souborový systém proc je pseudo souborový systém, který je používán jako interface k datovým strukturám jádra. Obvykle se připojuje do /proc. Většina jeho obsahu je pouze ke čtení, ale některé soubory umožňují změnit proměnné jadra.

Následující shrnutí rychle provede hierarchií /proc.

/proc/[pid]
Pro každý běžící proces existuje číselný podadresář pojmenovaný podle ID procesu. Každý podadresář obsahuje následující pseudosoubory a adresáře.
/proc/[pid]/auxv (od 2.6.0-test7)
Obsahuje informaci o ELF interpretu, která byla procesu při spuštění předána. Její formát je jedno unsigned long ID a jedna unsigned long hodnota pro každou položku. Poslední položka obsahuje dvě nuly.
/proc/[pid]/cmdline
Obsahuje celou příkazovou řádku procesu, pokud tedy proces není zombie. V takovém případě tento soubort neobsahuje nic, tj. čtení tohoto souboru vrátí 0 znaků. Argumenty příkazové řádky se v tomto souboru objevují jako sada řetězců oddělených pomocí null, která je ukončena dalším bajtem null po posledním řetězci.
/proc/[pid]/coredump_filter (od jádra 2.6.23)
Viz core(5).
/proc/[pid]/cpuset (od jádra 2.6.12)
Viz cpuset(7).
/proc/[pid]/cwd
Toto je symbolický odkaz na aktuální pracovní adresář (current working directory) procesu. Např. pro zjištění aktuálního pracovního adresáře procesu 20 lze provést:


$ cd /proc/20/cwd; /bin/pwd

Prosím všimněte si, že příkaz pwd je často zabudovaným příkazem shellu a nemusí fungovat správně. V bashi lze použít pwd -P.

V případě vícevláknového procesu, jehož hlavní vlákno již skončilo (obvykle voláním pthread_exit(3)), již nebude obsah tohoto symbolického odkazu dostupný.

/proc/[pid]/environ
Tento soubor obsahuje proměnné prostředí procesu. Jednotlivé údaje jsou odděleny znakem null ('\0') a znaky null mohou být i na konci. Takže pro vytištění proměnných prostředí procesu 1 se provede:
$ (cat /proc/1/environ; echo) | tr '\000' '\n'

/proc/[pid]/exe
V Linuxu 2.2 a novějším je tento soubor symbolickým odkazem, který obsahuje skutečnou cestu ke spuštěnému příkazu. Tento symbolický odkaz lze normálně dereferencovat; při pokusu jej otevřít je otevřen spustitelný soubor, na který odkazuje. Je dokonce možné napsat /proc/[pid]/exe a spustit tak další kopii stejného spustitelného souboru, který je již spuštěn procesem [pid]. V případě vícevláknového procesu, jehož hlavní vlákno již skončilo (obvykle voláním pthread_exit(3)), již nebude obsah tohoto symbolického odkazu dostupný.

V Linuxu do verze 2.0 včetně byl soubor /proc/[pid]/exe ukazatelem na spuštěný program a vypadal jako symbolický odkaz. Volání readlink(2) na tento soubor v Linuxu 2.0 vracelo řetězec ve tvaru:


[zařízení]:inoda

Například [0301]:1502 znamená inoda 1502 v zařízení s major číšlem 03 (IDE, MFM, a jiné disky) a minor číslem 01 (první oddíl prvního disku).

K nalezení souboru lze použít příkaz find(1) s volbou -inum.

/proc/[pid]/fd
Toto je podadresář, který obsahuje pro každý soubor, který proces otevřel, jednu položku, pojmenovanou po jeho deskriptoru souboru, který je zároveň symbolickým odkazem na onen soubor. Tudíž 0 odpovídá standardnímu vstupu, 1 standardnímu výstupu, 2 standardnímu chybovému výstupu atd.

V případě vícevláknového procesu, jehož hlavní vlákno již skončilo (obvykle voláním pthread_exit(3)), již nebude obsah tohoto adresáře dostupný.

Programy, které vyžadují jméno souboru, ale nedokáží bez zvláštní volby pracovat se standardním vstupem anebo ty, které zapisují do souboru zadaného na příkazové řádce, ale pokud není zadán, neposílají výstup na standardní výstup tak mohou být přesvědčeny k použití standardního vstupu a/nebo výstupu pomocí /proc/[pid]/fd. Např. pokud je -i přepínač označující vstupní soubor a -o přepínač označující výstupní soubor:

$ foobar -i /proc/self/fd/0 -o /proc/self/fd/1 ...

a máte funkční filtr.

/proc/self/fd/N je v některých UNIXových a UNIX-like systémech zhruba to samé jako /dev/fd/N. Většina Linuxových MAKEDEV skriptů ve skutečnosti vytváří /dev/fd jako symbolický odkaz na /proc/self/fd.

Většina systémů poskytuje symbolické odkazy /dev/stdin, /dev/stdout a /dev/stderr, které ukazují na soubory 0, 1 a 2 v /proc/self/fd. Tudíž výše uvedený příklad lze zapsat i jako:

$ foobar -i /dev/stdin -o /dev/stdout ...

/proc/[pid]/fdinfo/ (od jádra 2.6.22)
Toto je podadresář, který obsahuje pro každý soubor, který proces otevřel, jednu položku, pojmenovanou po svém popisovači souboru. Obsah každého souboru lze číst pro získání informací o příslušném popisovači souboru, např.:
$ cat /proc/12015/fdinfo/4
pos:    1000
flags:  01002002

Pole pos je desítkové číslo ukazující aktuální offset souboru. Pole flags je osmičkové číslo ukazující přístupová práva souboru a stavové vlajky souboru (viz open(2)).

Soubory v tomto adresáři jsou čitelné pouze vlastníkem procesu.

/proc/[pid]/limits (od jádra 2.6.24)
tento soubor ukazuje soft limit, hard limit a jednotky měření každého limitu zdrojů procesu (viz getrlimit(2)). Soubor je chráněn, aby jej mohlo číst pouze skutečné UID procesu.
/proc/[pid]/maps
Soubor obsahující aktuálně namapované oblasti paměti a jejich přístupová práva.

Jeho formát je:

adresa            práva ofset   dev   inoda      cesta
08048000-08056000 r-xp 00000000 03:0c 64593      /usr/sbin/gpm
08056000-08058000 rw-p 0000d000 03:0c 64593      /usr/sbin/gpm
08058000-0805b000 rwxp 00000000 00:00 0
40000000-40013000 r-xp 00000000 03:0c 4165       /lib/ld-2.2.4.so
40013000-40015000 rw-p 00012000 03:0c 4165       /lib/ld-2.2.4.so
4001f000-40135000 r-xp 00000000 03:0c 45494      /lib/libc-2.2.4.so
40135000-4013e000 rw-p 00115000 03:0c 45494      /lib/libc-2.2.4.so
4013e000-40142000 rw-p 00000000 00:00 0
bffff000-c0000000 rwxp 00000000 00:00 0
    

kde adresa je obsazený adresový prostor v procesu, práva jsou sada práv:


r = čtení (read) w = zápis (write) x = spuštění (execute) s = sdílení (shared) p = soukromý (private) (copy on write)

ofset znamená ofset v souboru/kdekoliv, dev je zařízení (major:minor) a inoda je inoda v tomto zařízení. 0 znamená, že s oblastí paměti není asociována žádná inoda, což je třeba v případě BSS (neinicializovaná data).

V Linuxu 2.0 žádné pole pro cestu neexistuje.

/proc/[pid]/mem
tento soubor může být použit pro přístup je stránkám paměti procesu pomocí open(2), read(2), a lseek(2).
/proc/[pid]/mountinfo (od jádra 2.6.26)
Tento soubor obsahuje informace o přípojných bodech. Obsahuje řádky ve tvaru:
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)
Čísla v závorkách jsou značky pro níže uvedené popisky:
(1)
mount ID: unikátní identifikátor připojení (po umount(2) může být znovu použit).
(2)
parent ID: ID rodičovského připojení (nebo vlastní v případě, že se jedná o vrchol připojovacího stromu).
(3)
major:minor: hodnota st_dev pro soubory v systému souborů (viz stat(2)).
(4)
root: kořen připojení v rámci systému souborů.
(5)
mount point: přípojný bod relativní ke kořeni procesu.
(6)
mount options: volby specifické pro připojení.
(7)
volitelné položky: nula nebo véce položek ve tvaru "tag[:hodota]".
(8)
oddělovač: označuje konec volitelných položek.
(9)
typ systému souborů: jméno systému souborů ve tvaru "typ[.podtyp]".
(10)
mount source: informace specifická pro systém souborů nebo "none".
(11)
super options: volby pro superblok.
Parsery by měly ignorovat všechny nerozeznané volitelné položky. V současnosti jsou možné tyto volitelné položky:
připojení je sdílené skupinou X
skupina X je master-em připojení
připojení je slave a dědí nastavení (FIXME - ověřit překlad) ze skupiny X (*)
mount is unbindable
(*) X je nejbližší dominantní skupina pod kořenem procesu. Pokud je X bezprostředním master-em připojení nebo pokud pod kořenem procesu není žádná dominantní skupina, pak je přítomna pouze položka "master:X" a nikoliv "propagate_from:X".

Více informací o dědění připojení je uvedeno v: Documentation/filesystems/sharedsubtree.txt ve zdrojovém kódu jádra.

/proc/[pid]/mounts (od jádra 2.4.19)
Toto je seznam všech souborových systémů aktuálně připojených ve jmenném prostory procesu. Formát tohoto souboru je dokumentován v fstab(5). Od verze jádra 2.6.15 je tento soubor pollable: po otevření souboru ke čtení způsobí změna v tomto souboru (např. připojení nebo odpojení souborového systému), že select(2) označí deskriptor souboru jako čitelný a volání poll(2) a epoll_wait(2) označí soubor jako mající chybovou podmínku. (pozn. překl. pokud to někdo dokážete přeložit lépe, pošlete opravu)
/proc/[pid]/mountstats (od jádra 2.6.17)
Tento soubor zpřístupňuje informace (statistiky, informace o konfiguraci) o přípojných bodech ve jmenném prostoru procesu. Obsahuje řádky ve tvaru:
device /dev/sda7 mounted on /home with fstype ext3 [statistics]
(       1      )            ( 2 )             (3 ) (4)
Položky v každém řádku jsou:
(1)
Jméno připojeného zařízení (nebo "nodevice", pokud není žádné odpovídající zařízení).
(2)
Bod připojení v rámci stromu systému souborů.
(3)
Typ systému souborů.
(4)
Volitelné statistiky a informace o konfiguraci. Aktuálně (jádro 2.6.26), používá tuto položku jen sytém souborů NFS.
Tento soubor je čitelný pouze vlastníkem procesu.
/proc/[pid]/numa_maps (od jádra 2.6.14)
viz numa(7).
/proc/[pid]/oom_adj (od jádra 2.6.11)
Tento soubor se používá k upravení skóre použitého pro určení procesu, který má být zabit v případě, že dojde paměť (out-of-memory (OOM)). Jádro použije tuto hodnotu k bitovému posunu hodnoty oom_score procesu: platné hodnoty jsou v rozsahu -16 až +15, plus speciální hodnota -17, která OOM-zabití tohoto procesu zakáže. Kladné skóre zvyšuje pravděpodobnost zabití procesu OOM-zabijákem, negativní skóre ji snižuje. Výchozí hodnotou pro tento soubor je 0; nový proces dědí nastavení oom_adj svého rodiče. Proces musí být privilegovaný (CAP_SYS_RESOURCE), aby mohl tento soubor měnit.
/proc/[pid]/oom_score (od jádra 2.6.11)
tento soubor ukazuje aktuální skóre přidělené procesu jádrem za účelem výběru procesu pro OOM-zabijáka. Vyšší skóre znamená vyšší pravděpodobnost zabití OOM-zabijákem. Základem pro toto skóre je množství paměti zabrané procesem; skóre se zvyšuje (+) nebo snižuje (-) v závislosti na faktorech zahrnujících:
  • jestli proces vytváří mnoho potomků pomocí fork(2) (+);
  • jestli proces běží dlouhou dobu nebo zabíral hodně času CPU (-);
  • jestli má proces nízkou hodnotu nice (tj. > 0) (+);
  • jestli je proces privilegovaný (-); a
  • jestli proces provádí přímý přístup k hardware (-).
oom_score také odráží bitový posun určený hodnotou oom_adj procesu.
/proc/[pid]/root
Unix a Linux podporují ideu vlastního kořenového adresáře souborového systému pro každý proces, nastaveného systémovým voláním chroot(2). Tento soubor je symbolickým odkazem na kořenový adresář procesu a chová se stejně jako exe, fd/*, atd.

V případě vícevláknového procesu, jehož hlavní vlákno již skončilo (obvykle voláním pthread_exit(3)), již nebude obsah tohoto symbolického odkazu dostupný.

/proc/[pid]/smaps (od jádra 2.6.14)
Tento soubor obsahuje spotřebu paměti pro každé namapování procesu. Pro každé namapování jsou přítomny řádky jako:
08048000-080bc000 r-xp 00000000 03:02 13130      /bin/bash
Size:               464 kB
Rss:                424 kB
Shared_Clean:       424 kB
Shared_Dirty:         0 kB
Private_Clean:        0 kB
Private_Dirty:        0 kB
    

První řádek ukazuje stejnou informaci jako je uvedená v namapování v /proc/[pid]/maps. Zbývající řádky ukazují velikost tohoto namapování, velikost namapování, které je aktuálně rezidentní v RAM, počet clean a dirty sdílených stránek v namapování a počet clean a dirty privátních stránek v namapování.

Tento soubor je přítomen pouze pokud je zapnuta konfigurační volba jádra CONFIG_MMU.

/proc/[pid]/stat
Stavová informace o procesu. Používá ji ps(1). Je definována v /usr/src/linux/fs/proc/array.c.

Její položky, v pořadí a formátu určeném ve scanf(3) jsou:

ID procesu.
Jméno spuštěného souboru, v závorkách. Je viditelné i pokud je spuštěný soubor odswapován.
Jeden ze znaků "RSDZTW", kde R znamená běžící (running), S je přerušitelně spící (sleeping), D znamená čekající v nepřerušitelném diskovém spánku, Z je zombie, T znamená trasovaný (traced) nebo zastavený (signálem) a W znamená swapovaný (paging).
ID rodičovského procesu.
ID skupiny procesu daného procesu.
Session ID procesu.
Ovládací terminál procesu. (minor číslo zařízení je obsaženo v bitech 31 až 20 a 7 až 0; major číslo zařízení je v bitech 15 až 8.)
The ID of the foreground process group of the controlling terminal of the process.
Slovo obsahující příznaky jádra (flags) procesu. Významy jednotlivých bitů jsou uvedeny v definicích PF_* v <linux/sched.h>. Podrobnosti závisí na verzi jádra.
Počet méně závažných chyb, kterých se proces dopustil, a které si nevyžádaly načtení stránky paměti z disku.
Počet méně závažných chyb, které provedli potomci procesu, na které proces čekal.
Počet závažných chyb, kterých se proces dopustil, a které si vyžádaly načtení stránky paměti z disku.
Počet závažných chyb, které provedli potomci procesu, na které proces čekal.
Množství času, který proces strávil v uživatelském režimu, měřené v clock ticks (nutno vydělit hodnotou sysconf(_SC_CLK_TCK). To zahrnuje guest time, guest_time (čas strávený během virtuálního CPU, viz níže), takže aplikace, které nepočítají s položkou guest time zahrnou tento čas do svých výpočtů.
Množství času, které proces strávil v jaderném režimu, měřené v clock ticks (nutno vydělit hodnotou sysconf(_SC_CLK_TCK).
Množství času, strávené potomky, na které proces čekal, v uživatelském režimu, měřené v clock ticks (nutno vydělit hodnotou sysconf(_SC_CLK_TCK). (Viz též times(2).) To zahrnuje guest time, cguest_time (čas strávený během virtuálního CPU, viz níže).
Množství času, strávené potomky, na které proces čekal, v jaderném režimu, měřené v clock ticks (nutno vydělit hodnotou sysconf(_SC_CLK_TCK).
(Vysvětlení pro Linux 2.6) Pro procesy s real-time plánovací politikou (policy níže; viz sched_setscheduler(2)) je toto negovaná plánovací priorita mínus jedna - tj. číslo od -2 do -100, odpovídající real-time prioritiám 1 až 99. Pro procesy s ne-rel-time plánovací politikou je toto surová hodnota nice (setpriority(2)) tak, jak je reprezentovaná v jádru. Jádro skladuje hodnoty nice jako čísla v rozsahu 0 (vysoká) až 39 (nízká), odpovádající rozsahu -20 až 19, která je prezentován uživateli.

Před jádrem 2.6 to byla hodnota založená na váze přidělené procesu plánovačem.

Hodnota nice (viz setpriority(2)), hodnota v rozsahu 19 (nízká priorita) až -20 (vysoká priorita).
Počet vláken v tomto procesu (od jádra 2.6). Před jádrem 2.6 bylo toto pole pevně dané jako 0 jako zástupce dříve odstraněného pole.
Čas v jednotkách jiffies před odesláním dalšího SIGALRM procesu, na základě intervalového časovače. Od jádra 2.6.17 není toto pole udržováno a je pevně dáno jako 0.
Čas v jednotkách jiffies kdy byl proces po spuštění systému spuštěn.
Velikost virtuální paměti v bajtech.
Resident Set Size: počet stránek, které má proces ve fyzické paměti. Toto jsou pouze stránky obsahující text, data nebo stack. Nejsou zahrnuty stránky, které byly načteny na základě požadavku nebo odswapované stránky.
Aktuální soft limit na rss procesu v bajtech. Viz popis RLIMIT_RSS v getpriority(2).
Adresa, nad kterou může text programu běžet.
Adresa, pod kterou může text programu běžet.
Adresa začátku (tj. spodku) zásobníku.
Aktuální hodnota ESP (stack pointer), jak je uvedena ve stránce s jaderným zásobníkem pro proces.
Aktuální EIP (instruction pointer).
Bitmapa nezpracovaných signálů, zobrazená jako desítkové číslo. Zastaralé, protože neposkytuje informaci o real-time signálech; použijte raději /proc/[pid]/status.
Bitmapa blokovaných signálů, zobrazená jako desítkové číslo. Zastaralé, protože neposkytuje informaci o real-time signálech; použijte raději /proc/[pid]/status.
Bitmapa ignorovaných signálů, zobrazená jako desítkové číslo. Zastaralé, protože neposkytuje informaci o real-time signálech; použijte raději /proc/[pid]/status.
Bitmapa zachycených signálů, zobrazená jako desítkové číslo. Zastaralé, protože neposkytuje informaci o real-time signálech; použijte raději /proc/[pid]/status.
Toto je "kanál" ("channel"), ve kterém proces čeká. Je to adresa systémového volání a může být nalezena v seznamu názvů, pokud je její textový název potřeba. (Pokud máte aktuální /etc/psdatabase, tak zkuste ps -l a uvidíte položku WCHAN v akci.)
Počet odswapovaných stránek (not maintained).
Kumulativní nswap pro procesy potomků (not maintained).
Signál, který se pošle rodiči, když proces zemře.
Číslo procesoru na kterém byl naposledy spuštěn.
Real-time plánovací priorita, číslo v rozsahu 1 až 99 pro procesy plánované real-time politikou, nebo 0, pro ne-real-time procesy (viz sched_setscheduler(2)).
Plánovací politika (viz sched_setscheduler(2)). Dekódujte pomocí konstant SCHED_* v linux/sched.h.
Agregovaná zpoždění blokových I/O (měřená v clock ticks (setiny vteřiny)).
Guest time procesu (množství času, strávené během virtuálního CPU pro hostovaný operační systém), měřené v clock ticks (nutno vydělit hodnotou sysconf(_SC_CLK_TCK).
Guest time potomků procesu, měřené v clock ticks (nutno vydělit hodnotou sysconf(_SC_CLK_TCK).
/proc/[pid]/statm
Poskytuje informaci o využití paměti, měřeno ve stránkách. Sloupce jsou:
size       celková velikost programu (stejné jako VmSize v /proc/[pid]/status)
resident   resident set size (stejné jako VmSize v /proc/[pid]/status)
share      sdílené stránky (from shared mapping)
text       text (kód)
lib        knihovna (v jádře 2.6 se nepoužívá)
data       data +stack
dt         dirty pages (v jádře 2.6 se nepoužívá)
    

/proc/[pid]/status
Poskytuje většinu informací z /proc/[pid]/stat a /proc/[pid]/statm v lidštějším formátu. Příklad:
$ cat /proc/$$/status
Name:   bash
State:  S (sleeping)
Tgid:   3515
Pid:    3515
PPid:   3452
TracerPid:      0
Uid:    1000    1000    1000    1000
Gid:    100     100     100     100
FDSize: 256
Groups: 16 33 100
VmPeak:     9136 kB
VmSize:     7896 kB
VmLck:         0 kB
VmHWM:      7572 kB
VmRSS:      6316 kB
VmData:     5224 kB
VmStk:        88 kB
VmExe:       572 kB
VmLib:      1708 kB
VmPTE:        20 kB
Threads:        1
SigQ:   0/3067
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000010000
SigIgn: 0000000000384004
SigCgt: 000000004b813efb
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: ffffffffffffffff
Cpus_allowed:   00000001
Cpus_allowed_list:      0
Mems_allowed:   1
Mems_allowed_list:      0
voluntary_ctxt_switches:        150
nonvoluntary_ctxt_switches:     545

Položky jsou:
  • Name: Příkazy spuštěné tímto procesem.
  • State: Aktuální stav procesu. Jeden ze znaků "RSDTZX", kde R znamená běžící (running), S je přerušitelně spící (sleeping), D znamená čekající v nepřerušitelném diskovém spánku, T znamená trasovaný (traced) nebo zastavený (signálem), Z je zombie a X znamená mrtvý.
  • Tgid: ID skupiny vláken (tj. ID procesu).
  • Pid: ID vlákna (viz gettid(2)).
  • TracerPid: PID procesu kterým je tento proces trasuován (0 pokud není trasován).
  • Uid, Gid: Real, effective, saved set, and file system UIDs (GIDs).
  • FDSize: Počet aktuálně alokovaných slotů popisovače souboru.
  • Groups: Doplňkový seznam skupin.
  • VmPeak: Maximální velikost virtuální paměti.
  • VmSize: Velikost virtuální paměti.
  • VmLck: Velikost Locked memory.
  • VmHWM: Maximální resident set size ("high water mark").
  • VmRSS: Resident set size.
  • VmData, VmStk, VmExe: Size of data, stack, and text segments.
  • VmLib: Shared library code size.
  • VmPTE: Page table entries size (od jádra 2.6.10).
  • Threads: Počet vláken v procesu obsahujícím toto vlákno.
  • SigPnd, ShdPnd: Počet nezpracovaných signálů pro vlákno a pro celý proces (viz pthreads(7) a signal(7)).
  • SigBlk, SigIgn, SigCgt: Masky udávající blokované, ignorované a zachytávané signály (viz signal(7)).
  • CapInh, CapPrm, CapEff: Masks of capabilities enabled in inheritable, permitted, and effective sets (see capabilities(7)).
  • CapBnd: Capability Bounding set (since kernel 2.6.26, see capabilities(7)).
  • Cpus_allowed: Mask of CPUs on which this process may run (since Linux 2.6.24, see cpuset(7)).
  • Cpus_allowed_list: Same as previous, but in "list format" (since Linux 2.6.26, see cpuset(7)).
  • Mems_allowed: Mask of memory nodes allowed to this process (since Linux 2.6.24, see cpuset(7)).
  • Mems_allowed_list: Same as previous, but in "list format" (since Linux 2.6.26, see cpuset(7)).
  • voluntary_context_switches, nonvoluntary_context_switches: Number of voluntary and involuntary context switches (since Linux 2.6.23).
/proc/[pid]/task (od jádra 2.6.0-test6)
Adresář obsahující pro každé vlákno procesu jeden podadresář. Jména podadresářů jsou číselná ID vlákna([tid]) (viz gettid(2)). V každém z těchto podadresářů je sada souborů s názvy a obsahem jako u adresářů /proc/[pid]. Pro atributy společné všem vláknům jsou obsahy všech souborů v podadresářích task/[tid] stejné jako v odpovídajícím souboru rodičovského adresáře /proc/[pid] (např. u vícevláknového procesu obsahují všchny soubory task/[tid]/cwd stejnou hodnotu jako soubor /proc/[pid]/cwd v nadřazeném adresáři, jelikož všechna vlákna v procesu mají stejný pracovní adresář). U atributů, které se pro každé vlákno liší, mohou odpovídající soubory v task/[tid] obsahovat různé hodnoty (např. položky v souborech task/[tid]/status se mohou pro každé vlákno lišit).

V případě vícevláknového procesu, jehož hlavní vlákno již skončilo (obvykle voláním pthread_exit(3)), již nebude obsah adresáře /proc/[pid]/task dostupný.

/proc/apm
Pokud bylo při kompilaci jádra definováno CONFIG_APM, obsahuje číslo verze Advanced power managementu a informace o baterii.
/proc/bus
Obsahuje podadresáře pro instalované sběrnice.
/proc/bus/pccard
Podadresář pro pcmcia zařízení, pokud bylo při kompilaci jádra nastaveno CONFIG_PCMCIA.
/proc/bus/pccard/drivers
/proc/bus/pci
Obsahuje různé podadresáře sběrnic a pseudo-soubory obsahující informace o sběrnicích pci, instalovaných zařízeních a ovladačích zařízení. Některé z těchto souborů nejsou textové.
/proc/bus/pci/devices
Informace o pci zařízeních. Lze k nim přistupovat pomocí lspci(8) a setpci(8).
/proc/cmdline
Argumenty předané linuxovému jádru při jeho zavedení, často pomocí zaváděcího programu jako je třeba lilo(8) nebo grub(8).
/proc/config.gz (od jádra 2.6)
This file exposes the configuration options that were used to build the currently running kernel, in the same format as they would be shown in the .config file that resulted when configuring the kernel (using make xconfig, make config, or similar). The file contents are compressed; view or search them using zcat(1), zgrep(1), etc. As long as no changes have been made to the following file, the contents of /proc/config.gz are the same as those provided by :
cat /lib/modules/$(uname -r)/build/.config

/proc/config.gz is only provided if the kernel is configured with CONFIG_IKCONFIG_PROC.
/proc/cpuinfo
Toto je sbírka údajů závislých na CPU a systémové architektuře, každá podporovaná architektura obsahuje jiné položky. Obvyklými položkami jsou processor, který udává počet CPU a bogomips, což je systémová konstanta vypočtená při inicializaci jádra. Stroje s více jádry (SMP) mají údaje pro každé CPU.
/proc/devices
textový seznam hlavních čísel a skupin zařízení. Může být použit skripty MAKEDEV pro konzistenci s jádrem.
/proc/diskstats (od jádra 2.5.69)
tento soubor obsahuje vstupně-výstupní statistiky pro každé diskové zařízení. Další informace jsou uvedeny ve zdrojovém souboru jádra Documentation/iostats.txt.
/proc/dma
Seznam registrovaných ISA DMA (direct memory access) kanálů, které jsou používány.
/proc/driver
Prázdný podadresář.
/proc/execdomains
List of the execution domains (ABI personalities).
/proc/fb
Informace frame bufferu, pokud bylo při kompilaci jádra definováno CONFIG_FB.
/proc/filesystems
Textový seznam souborových systémů podporovaných jádrem, tj. zakompilovaných do jádra nebo jejichž jaderné moduly jsou právě načteny (Viz též filesystems(5).) Pokud je souborový systém označen "nodev", znamená to, že nevyžaduje, aby bylo připojeno blokové zařízení (např. virtuální souborový systém, síťový souborový systém).

Shodou okolností může být používán programem mount(8), pokud nebyl zadán žádný souborový systém a nepodařilo se mu určit druh souborového systému. V tom případě zkouší souborové systémy obsažené v tomto souboru (s výjimkou těch označených "nodev").

/proc/fs
Prázdný podadresář.
/proc/ide
Tento adresář je přítomen v systémech se sběrnicí ide. Pro každý ide kanál a připojené zařízení existuje adresář. Soubory jsou:


cache              velikost vyrovnávací paměti v KB
capacity           počet sektorů
driver             verze ovladače
geometry           fyzická a logická geometrie
identify           v šestnáctkové soustavě
media              druh média
model              číslo modelu výrobce
settings           nastavení jednotky
smart_thresholds   v šestnáctkové soustavě
smart_values       v šestnáctkové soustavě
    

Příkaz hdparm(8) poskytuje přístup k těmto informacím v přístupnějším formátu.

/proc/interrupts
This is used to record the number of interrupts per CPU per IO device. Since Linux 2.6.24, for the i386 and x86_64 architectures, at least, this also includes interrupts internal to the system (that is, not associated with a device as such), such as NMI (nonmaskable interrupt), LOC (local timer interrupt), and for SMP systems, TLB (TLB flush interrupt), RES (rescheduling interrupt), CAL (remote function call interrupt), and possibly others. Very easy to read formatting, done in ASCII.
/proc/iomem
I/O mapa paměti v Linuxu 2.4.
/proc/ioports
Seznam aktuálně registrovaných oblastí I/O portů, které jsou používány.
/proc/kallsyms (od jádra 2.5.71)
Obsahuje exportované definice symbolů jádra používané nástroji modules(X) k dynamickému odkazování a vázání načítaných modulů. V jádře 2.5.47 a dřívějších se podobný soubor s lehce odlišnou syntaxí jmenoval ksyms.
/proc/kcore
Tento soubor reprezentuje fyzickou paměť systému a je uložen ve formátu ELF core. S tímto pseudo-souborem a nestripovaným jádrem (/usr/src/linux/vmlinux) může být GDB použit ke zkoumání aktuálního stavu jakékoliv datové struktury jádra.

Celková velikost souboru je rovna velikosti fyzické paměti (RAM) plus 4KB.

/proc/kmsg
Tento soubor může být použit místo systémového volání syslog(2) ke čtení zpráv jádra. Proces, který chce číst tento soubor, musí mít práva superuživatele a tento soubor by měl být čten pouze jedním procesem. Tento soubor by neměl být čten, pokud je spuštěn proces syslog, který používá systémové volání syslog(2) k zaznamenávání zpráv jádra.

Informace z tohoto souboru získává program dmesg(8).

/proc/ksyms (Linux 1.1.23-2.5.47)
Viz /proc/kallsyms.
/proc/loadavg
První tři položky v tomto souboru jsou hodnoty průměrné zátěže (load average) udávající počet úkolů (jobs) čekajících ve frontě na spuštění (stav R) nebo čekajících na čtení/zápis disku (stav D), zprůměrované po 1, 5 a 15 minutách. Jsou to stejné hodnoty, jako poskytuje uptime(1) a další programy. Čtvrté pole se skládá ze dvou čísel oddělených lomítkem (/). První představuje počet současně vykonávaných entit plánovače jádra (procesů, vláken); bude menší nebo rovno počtu CPU. Hodnota za lomítkem je počet entit plánovače jádra, aktuálně přítomných v systému. Páté pole je PID systémem naposledy vytvořeného procesu.
/proc/locks
Tento soubor ukazuje aktuální zámky souborů (file locks) (flock(2) a fcntl(2)) a leases (fcntl(2)).
/proc/malloc (pouze do jádra 2.2 včetně)
Tento soubor je přítomen pouze pokud bylo při kompilaci definováno CONFIG_DEBUG_MALLOC.
/proc/meminfo
Tento soubor udává statistiky o využití paměti v systému. Používá jej free(1) pro informaci o velikosti volné a používané paměti (fyzické i swapu) v systému, stejně jako sdílené paměti a vyrovnávacích pamětí jádra.
/proc/mounts
Před uvedením jádra 2.4.19 obsahoval tento soubor seznam všech souborových systémů aktuálně připojených v systému. Se zavedením jmenných prostorů připojení pro každý proces v jádře 2.4.19 se tento soubor stal odkazem na /proc/self/mounts, který obsahuje přípojné body jmenného prostoru připojení procesu. Formát tohoto souboru je dokumentován v fstab(5).
/proc/modules
Textový seznam modulů nahraných systémem. Viz též lsmod(8).
/proc/mtrr
Memory Type Range Registers. Podrobnosti jsou uvedeny v Documentation/mtrr.txt.
/proc/net
různé pseudo-soubory, které udávají stav některé části síťové vrstvy. Tyto soubory obsahují ASCII struktury, a proto je možné je číst příkazem cat(1). Nicméně standardní příkaz netstat(8) poskytuje k těmto souborům čistší přístup.
/proc/net/arp
Obsahuje textový výpis ARP tabulky jádra, používané pro překlad adres. Obsahuje dynamicky zjištěné i předprogramované ARP položky. Jeho formát je:


IP adresa Druh HW Příznaky HW adresa Maska Zařízení 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

"IP adresa" je IPv4 adresa počítače a "Druh HW" je druh hardwarové adresy podle RFC 826. Příznaky jsou interními příznaky ARP struktur (tak, jak jsou definovány v /usr/include/linux/if_arp.h) a "HW adresa" je namapování datové vrstvy pro danou IP adresu, pokud je známo.

/proc/net/dev
Pseudo-soubor dev obsahuje stavové informace síťových zařízení - počet přijatých a odeslaných paketů, počet chyb a kolizí a další základní statistiky. Používá je program ifconfig(8) pro uvádění stavu zařízení. Jeho formát je:


Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 2776770 11307 0 0 0 0 0 0 2776770 11307 0 0 0 0 0 0
eth0: 1215645 2751 0 0 0 0 0 0 1782404 4324 0 0 0 427 0 0
ppp0: 1622270 5552 1 0 0 0 0 0 354130 5669 0 0 0 0 0 0
tap0: 7714 81 0 0 0 0 0 0 7714 81 0 0 0 0 0 0
/proc/net/dev_mcast
Je definován v /usr/src/linux/net/core/dev_mcast.c:

indx interface_name dmi_u dmi_g dmi_address 2 eth0 1 0 01005e000001 3 eth1 1 0 01005e000001 4 eth2 1 0 01005e000001
/proc/net/igmp
Internet Group Management Protocol. Je definován v /usr/src/linux/net/core/igmp.c.
/proc/net/rarp
Tento soubor používá stejný formát jako soubor arp a obsahuje aktuální databázi zpětného mapování, užívanou programem rarp(8) k reverznímu vyhledávání adres. Pokud není RARP nakonfigurován v jádře, není tento soubor přítomen.
/proc/net/raw
Obsahuje výpis tabulky RAW socketů. Většina informací má význam pouze pro ladění. Hodnota "sl" je kernel hash slot pro socket, "local_address" je lokální adresa a číslo protokolu. "St" znamená interní stav socketu. "tx_queue" a "rx_queue" jsou příchozí a odchozí fronty dat vyjádřené jako využití paměti jádrem. Pole "tr", "tm->when" a "rexmits" nejsou v RAW používána. Pole "uid" obsahuje platný UID tvůrce socketu.
/proc/net/snmp
Tento soubor obsahuje ASCII data potřebná pro řízení informací o IP, ICMP, TCP a UDP pro SNMP agenta.
/proc/net/tcp
Obsahuje výpis z tabulky TCP socketů. Většina informací má význam pouze pro ladění. Hodnota "sl" je kernel hash slot pro socket, "local_address" je lokální adresa a číslo protokolu. "rem_address" je vzdálená adresa a číslo portu (pokud je připojen). "St" znamená interní stav socketu. "tx_queue" a "rx_queue" jsou příchozí a odchozí fronty dat vyjádřené jako využití paměti jádrem. Pole "tr", "tm->when" a "rexmits" obsahují interní informace o stavech socketů jádra a mají význam pouze pro ladění. Pole "uid" obsahuje platný UID tvůrce socketu.
/proc/net/udp
Obsahuje výpis z tabulky UDP socketů. Většina informací má význam pouze pro ladění. Hodnota 'sl' je kernel hash slot pro socket, 'local_address' je lokální adresa a číslo portu. "rem_address" je vzdálená adresa a číslo portu (pokud je připojen). "St" znamená interní stav socketu. "tx_queue" a "rx_queue" jsou příchozí a odchozí fronty dat vyjádřené jako využití paměti jádrem. Pole "tr", "tm->when" a "rexmits" nejsou RAW používána. Pole "uid" obsahuje platný UID tvůrce socketu. Jeho formát je:


sl local_address rem_address st tx_queue rx_queue tr rexmits tm->when uid
1: 01642C89:0201 0C642C89:03FF 01 00000000:00000001 01:000071BA 00000000 0
1: 00000000:0801 00000000:0000 0A 00000000:00000000 00:00000000 6F000100 0
1: 00000000:0201 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0
/proc/net/unix
Obsahuje seznam UNIX domain socketů přítomných v systému a jejich status. Jeho formát je:
Num RefCount Protocol Flags    Type St Path

0: 00000002 00000000 00000000 0001 03
1: 00000001 00000000 00010000 0001 01 /dev/printer

"Num" znamená číslo slotu v tabulce jádra, "RefCount" je počet uživatelů socketu, "Protocol" je v současnosti vždycky 0, "Flags" ukazuje interní vlajky jádra, které vyjadřují stav socketu. V současnosti je "Type" vždycky "1" (sockety pro Unixové doménové datagramy ještě jádro nepodporuje). "St" je interní stav socketu a "Path" je cesta přidělená socketu (pokud je) (bound path).

/proc/partitions
Obsahuje hlavní a vedlejší čísla každého oddílu, počet bloků a název oddílu.
/proc/pci
Výpis všech PCI zařízení nalezených během inicializace jádra, spolu s jejich konfigurací.

Tento soubor byl označen jako zastaralý ve prospěch nového /proc rozhraní pro PCI (/proc/bus/pci). Stal se voliteným v jádře 2.2 (dostupný s volbou CONFIG_PCI_OLD_PROC nastavenou při kompilaci jádra). Byl nevolitelně povolen v jádře 2.4. Poté byl v jádře 2.6 označen jako zastaralý (stále dostupný s volbou CONFIG_PCI_LEGACY_PROC) a konečně úplně odstraněn od jádra 2.6.17.

/proc/scsi
Adresář se středněúrovňovým pseudo-souborem scsi a různými adresáři nízkoúrovňových SCSI ovladačů, které obsahují jeden soubor pro každé SCSI zařízení přítomné v systému; všechny obsahují status nějaké části SCSI IO subsystému. Tyto soubory obsahují ACSII struktury a pro jejich čtení je tedy možné použít cat(1).

Do některých těchto souborů je také možné zapisovat a překonfigurovat tak daný subsystém či vypnout a zapnout některé vlastnosti.

/proc/scsi/scsi
Výpis všech SCSI zařízení, o kterých jádro ví. Je podobný výpisu při zavádění systému. scsi momentálně podporuje pouze příkaz add-single-device, který umožňuje uživateli root přidat zařízení připojené za chodu do seznamu známých zařízení.

Příkaz

echo 'scsi add-single-device 1 0 5 0' > /proc/scsi/scsi
    

způsobí, že hostitel scsi1 bude v SCSI kanálu 0 hledat zařízení s ID 5 LUN 0. Pokud je již na této adrese známé zařízení nebo adresa není platná, je vrácena chyba.
/proc/scsi/[název_ovladače]
[název_ovladače] může být momentálně NCR53c7xx, aha152x, aha1542, aha1740, aic7xxx, buslogic, eata_dma, eata_pio, fdomain, in2000, pas16, qlogic, scsi_debug, seagate, t128, u15-24f, ultrastore nebo wd7000. Tyto adresáře se objeví pro každý ovladač, který zaregistroval alespoň jeden SCSI HBA. Každý adresář obsahuje jeden soubor pro každého zaregistrovaného hostitele. Každý tento soubor je pojmenován po číslu, které bylo hostiteli přiděleno během inicializace.

Čtením těchto souborů se obvykle zjistí konfigurace ovladače a hostitele, statistiky atd.

Zápis do těchto souborů umožňuje u různých hostitelů různé věci. Například příkazy latency a nolatency může root zapnout a vypnout kód pro měření latence příkazů v ovladači eata_dma. Příkazy lockup a unlock může root ovládat zaseknutí (lockups) sběrnice simulované ovladačem scsi_debug.

/proc/self
Tento adresář odkazuje na proces, který přistupuje k souborovému systému /proc a je shodný s adresářem v /proc pojmenovaném po ID tohoto procesu.
/proc/slabinfo
Informace o vyrovnávacích pamětech jádra. Od jádra 2.6.16 je tento soubor přítomen pouze pokud je zapnuta volba CONFIG_SLAB. Sloupce v /proc/slabinfo jsou:
cache-name
num-active-objs
total-objs
object-size
num-active-slabs
total-slabs
num-pages-per-slab
    

Viz slabinfo(5) pro další informace.

/proc/stat
statistiky jádra/systému. Liší se podle architektury. Obvyklé záznamy zahrnují:
Doba, měřená v jednotkách USER_HZ (1/100 vteřiny na většině architektur, použijte sysconf(_SC_CLK_TCK) pro aktuální hodnotu), kterou systém strávil v uživatelském režimu, uživatelském režimu s nízkou prioritou (nice), systémovém režimu a nečinně. Poslední hodnota by se měla rovnat USER_HZ krát druhá hodnota v pseudo-souboru uptime.

V Linuxu 2.6 obsahuje tato řádka tři další sloupce: iowait - čas strávený čekáním na dokončení I/O (od 2.5.41); irq - čas strávený obsluhou přerušení (od 2.6.0-test4); softirq - čas strávený obsluhou softirqs (od 2.6.0-test4).

Od jádra 2.6.11 existuje osmý sloupec steal - ukradený čas, což je čas strávený v jiném operačním systému v případě běhu ve virtualizovaném prostředí.

Od jádra 2.6.24 existuje devátý sloupec, guest, což je čas strávený během virtuálního CPU pro operační systémy hostované linuxovým jádrem.

Počet stránek, které systém odstránkoval na disk a z disku.
Počet stránek swapu, které have been brought in and out.
Tato řádka obsahuje počty přerušení obsloužených od zavedení systému pro všechna možná systémová přerušení. První sloupec je celkový počet obsloužených přerušení; každý další sloupec znamená celkový počet pro určité přerušení.
(major,disk_idx):(noinfo, read_io_ops, blks_read, write_io_ops, blks_written)
(jen pro Linux 2.4)
Počet změn kontextu, které systém prodělal.
Čas, kdy byl zaveden systém; v sekundách od začátku Epochy (1.leden 1970).
Počet forků od zavedení systému.
Počet procesů v runnable state. (Od Linuxu 2.5.45)
Počet zablokovaných procesů, které čekají na dokončení I/O. (Od Linuxu 2.5.45)
/proc/swaps
Využívané oblasti swapu. Viz též swapon(8).
/proc/sys
Tento adresář (přítomen od 1.3.57) obsahuje množství souborů a podadresářů, které odpovídají proměnným jádra. Tyto proměnné lze číst a někdy i měnit prostřednictvím souborového systému proc, a deprecated systémového volání sysctl(2). V současnosti obsahuje podadresáře abi, debug, dev, fs, kernel, net, proc, rxrpc, sunrpc a vm které obsahují další soubory a podadresáře.
/proc/sys/abi (od jádra 2.4.10)
Tento adresář může obsahovat soubory s binárními informacemi aplikací. Podrobnosti jsou uvedeny v souboru Documentation/sysctl/abi.txt ve zdrojovém kódu jádra.
/proc/sys/debug
Tento adresář může být prázdný.
/proc/sys/dev
Tento adresář obsahuje informace specifické pro zařízení (např. dev/cdrom/info). V některých systémech může být prázdný.
/proc/sys/fs
Obsahuje podadresáře binfmt_misc, epoll, inotify a mqueue a soubory dentry-state, dir-notify-enable, dquot-nr, file-max, file-nr, inode-max, inode-nr, inode-state, lease-break-time, leases-enable, overflowgid, overflowuid, suid_dumpable, super-max a super-nr.
/proc/sys/fs/binfmt_misc
Dokumentace k souborům v tomto adresáři je ve zdrojových kódech jádra v Documentation/binfmt_misc.txt.
/proc/sys/fs/dentry-state (since Linux 2.2)
This file contains information about the status of the directory cache (dcache). The file contains six numbers, nr_dentry, nr_unused, age_limit (age in seconds), want_pages (pages requested by system) and two dummy values.
  • nr_dentry is the number of allocated dentries (dcache entries). This field is unused in Linux 2.2.
  • nr_unused is the number of unused dentries.
  • age_limit is the age in seconds after which dcache entries can be reclaimed when memory is short.
  • want_pages is non-zero when the kernel has called shrink_dcache_pages() and the dcache isn't pruned yet.
/proc/sys/fs/dir-notify-enable
Tento soubor může být použit pro zakázání nebo povolení rozhraní dnotify popsaného v fcntl(2), na celosystémové úrovni. Hodnota 0 v tomto souboru rozhraní zakáže, hodnota 1 jej povolí.
/proc/sys/fs/dquot-max
Tento soubor ukazuje maximální počet cached disk quota entries. V některých systémech (2.4) není přítomen. Pokud je počet volných cached disk quota entries velmi nízký a v systému je najednou přítomno ohromné množství uživatelů, může být vhodné tento limit zvýšit.
/proc/sys/fs/dquot-nr
Tento soubor ukazuje počet alokovaných disk quota entries a počet volných disk quota entries.
/proc/sys/fs/epoll (od Linuxu 2.6.28)
Tento adresář obsahuje soubory max_user_instances a max_user_watches, které je možno použít k omezení paměti jádra využité rozhraním epoll. Více informací viz inotify(7).
/proc/sys/fs/file-max
Tento soubor definuje celosystémový limit počtu otevřených souborů pro všechny procesy. (Viz též setrlimit(2), který může být použit procesem k nastavení limitu na proces, RLIMIT_NOFILE, na počet souborů, které může otevřít.) Pokud se objeví spousta chybových hlášení, že dochází file handles, zkuste tuto hodnotu zvýšit:

echo 100000 > /proc/sys/fs/file-max
    

Konstanta jádra NR_OPEN stanovuje horní limit pro hodnotu, kterou je možné vložit do file-max.

Pokud zvýšíte /proc/sys/fs/file-max, zvyšte také /proc/sys/fs/inode-max na 3-4 násobek nové hodnoty /proc/sys/fs/file-max, nebo dojdou inody.

/proc/sys/fs/file-nr
Tento soubor (jen ke čtení) udává počet souborů, které jsou momentálně otevřeny. Obssahuje tři čísla: počet alokovaných file handles, počet volných file handles a maximální počet file handles. Jádro alokuje file handles dynamicky, ale potom je již neuvolňuje. Pokud je počet alokovaných souborů blízký maximu, mělo by být maximum zvýšeno. Pokud je počet volných file handles velký, jednalo se o špičku ve využití file handles a pravděpodobně není potřeba maximum zvyšovat.
/proc/sys/fs/inode-max
Tento soubor obsahuje maximální počet in-memory inodes. V některých (2.4) systémech nemusí být přítomen. Tato hodnota by měla být 3-4 krát větší než hodnota ve file-max, protože stdin, stdout a síťové sockety také vyžadují inody pro své ovládání. Pokud často docházejí inody, je potřeba tuto hodnotu zvýšit.
/proc/sys/fs/inode-nr
Tento soubor obsahuje první dvě hodnoty z inode-state.
/proc/sys/fs/inode-state
Tento soubor obsahuje sedm čísel: nr_inodes, nr_free_inodes, preshrink a čtyři dummy hodnoty. nr_inodes je počet inodů, které jsou alokovány systémem. Může být lehce vyšší než inode-max, protože Linux je alokuje po celých stránkách. nr_free_inodes reprezentuje počet volných inodů. preshrink je nenulová hodnota, když nr_inodes > inode-max a systém potřebuje vyčistit seznam inodů namísto alokování dalších.
/proc/sys/fs/inotify (od Linuxu 2.6.13)
Tento adresář obsahuje soubory max_queued_events, max_user_instances a max_user_watches, které je možno použít k omezení paměti jádra využité rozhraním inotify. Více informací viz inotify(7).
/proc/sys/fs/lease-break-time
Tento soubor určuje oddechový čas, který dává jádro procesu, který holding a file lease (fcntl(2)), poté co mu poslalo signál, kterým jej upozorňuje, že další proces čeká na otevření souboru. Pokud lease holder does not remove or downgrade the lease během tohoto oddechového času, jádro forcibly breaks the lease.
/proc/sys/fs/leases-enable
Tento soubor je možné použít k povolení nebo zakázání file leases (fcntl(2)) na celosystémové úrovni. Pokud tento soubor obsahuje hodnotu 0, jsou leases zakázány. Nenulová hodnota leases povolí.
/proc/sys/fs/mqueue (od Linuxu 2.6.6)
Tento adresář obsahuje soubory msg_max, msgsize_max a queues_max, které kontrolují zdroje používané POSIXovými frontami zpráv. Více informací viz mq_overview(7).
/proc/sys/fs/overflowgid a /proc/sys/fs/overflowuid
Tyto soubory umožňují změnit hodnotu pevně daných UID a GID. Výchozí hodnota 65534. Některé souborové systémy podporují poze 16 bitové UID a GID, ačkoliv UID a GID v Linuxu jsou 32 bitové. Když je jeden z těchto souborových systémů připojen jako zapisovatelný, je každé UID nebo GID, které by překročilo 65535, před zápisem na disk přeloženo na stanovenou hodnotu přetečení.
/proc/sys/fs/suid_dumpable (od Linuxu 2.6.13)
Hodnota v tomto souboru určuje, zda jsou soubory core dump vytvářeny i pro set-user-ID nebo jinak chráněné/poskvrněné binárky. Je možné použít tři různé integer hodnoty:

0 (výchozí) Tradiční (před verzí 2.6.13) chování. Core dump se nevytváří pro soubor s pozměněnými vlastnosti (voláním seteuid(2), setgid(2), apod., nebo spuštěním programu s set-user-ID nebo set-group-ID) nebo jehož binárka nemá povolena práva ke čtení.

1 ("debug") Core dump je vytvářen u všech souborů, kdykoliv je to možné. Vlastníkem souboru core dump je ID uživatele vypisovaného procesu a neaplikují se žádná bezpečnostní opatření. Mělo by se používat jen pro ladění systému. Ptrace není kontrolován.

2 ("suidsafe") Jakákoliv binárka, která by za normálních okolností nebyla vypsána (viz 0 výše), je vypsána s čitelností pouze pro uživatele root. To umožňuje uživateli soubor core dump odstranit, ale nikoliv číst. Z důvodu bezpečnosti se v tomto režimu soubory core dump vzájemně nepřepisují ani nepřepisují jiné soubory. tento režim je vhodný pro administrátory pokoušející se ladit problémy v normálním prostředí.

/proc/sys/fs/super-max
Tento soubor ovládá maximální počet superbloků a tím i maximální počet souborových systémů, které může jádro připojit. super-max je nutné zvýšit pouze v případě, že je potřeba připojit více souborových systémů, než aktuální hodnota v super-max umožňuje.
/proc/sys/fs/super-nr
Tento soubor obsahuje počet právě připojených souborových systémů.
/proc/sys/kernel
Tento adresář obsahuje soubory řídící mnoho parametrů jádra. Jejich popis následuje.
/proc/sys/kernel/acct
Tento soubor obsahuje tři čísla: highwater, lowwater a frequency. Pokud je zapnuto BSD-style process accounting, je jeho chování těmito hodnotami ovládáno. Pokud se volné místo na souborovém systému, kde sídlí log, sníží pod procento určené hodnotou lowwater, accounting se pozastaví. Pokud se volné místo dostane nad procento určené hodnotou highwater, accounting se obnoví. Frequency určuje, jak často má jádro kontrolovat volné místo (v sekundách). Výchozí hodnoty jsou 4, 2 a 30. To znamená pozastavit accounting, pokud volné místo představuje <= 2%; obnovit jej, pokud volné místo dosáhne >= 4%; informaci o volném místě považovat za platnou po 30 sekund.
/proc/sys/kernel/cap-bound (od jádra 2.2 do 2.6.24)
Tento soubor obsahuje hodnotu jádra capability bounding set (vyjádřeno jako číslo v desítkové soustavě se znaménkem). Tato sada je ANDována s capabilities povolenými procesu při execve(2). Od jádra 2.6.25 celosystémový capability bounding set zmizel a byl nahrazen per-thread bounding setem; viz capabilities(7).
/proc/sys/kernel/core_pattern
Viz core(5).
/proc/sys/kernel/core_uses_pid
Viz core(5).
/proc/sys/kernel/ctrl-alt-del
Tento soubor řídí zpracování Ctrl-Alt-Del z klávesnice. Pokud je hodnota v tomto souboru 0, Ctrl-Alt-Del je odchyceno a posláno programu init(8) program k provedení elegantního restartu. Pokud je tato hodnota větší než 0, reakce Linuxu bude okamžitý reboot, nebude ani provedena synchronizace bufferů. Poznámka: když má program (jako třeba dosemu) klávesnici v "raw" režimu, je ctrl-alt-del odchyceno programem ještě dříve než dosáhne tty úrovně jádra a je na programu, jak s ním naloží.
/proc/sys/kernel/hotplug
Tento soubor obsahuje cestu pro hotplug policy agent. Výchozí hodnota v tomto souboru je /sbin/hotplug.
/proc/sys/kernel/domainname a /proc/sys/kernel/hostname
mohou být použity pro nastavení NIS/YP domainname a hostname počítače naprosto stejným způsobem jako příkazy domainname(1) an hostname(1), tj.:


# echo 'darkstar' > /proc/sys/kernel/hostname
# echo 'mydomain' > /proc/sys/kernel/domainname

má stejný efekt jako


# hostname 'darkstar'
# domainname 'mydomain'

Všimněte si ale, že darkstar.frop.org má hostname "darkstar" a DNS (Internet Domain Name Server) domainname "frop.org", které nesmí být zaměňováno s NIS (Network Information Service) nebo YP (Yellow Pages) domainname. Tato doménová jména jsou zcela odlišná. Podrobná diskuze je uvedena v manuálové stránce hostname(1).

/proc/sys/kernel/htab-reclaim
(jen pro PowerPC) Pokud tento soubor obsahuje nenulovou hodnotu, je PowerPC htab (viz soubor jádra Documentation/powerpc/ppc_htab.txt) vyčištěno pokaždé, když systém narazí na nečinnou smyčku.
/proc/sys/kernel/l2cr
(jen pro PowerPC) Tento soubor obsahuje vlajku, která řídí L2 vyrovnávací paměť desek pro procesor G3. Pokud je 0, je vyrovnávací paměť vypnuta. Pokud je nenulová, je zapnuta.
/proc/sys/kernel/modprobe
Tento soubor obsahuje cestu k zavaděči modulů jádra Výchozí hodnotou je /sbin/modprobe. Tento soubor je přítomen pouze pokud je jádro sestaveno s volbou CONFIG_KMOD. It is described by the kernel source file Documentation/kmod.txt (only present in kernel 2.4 and earlier).
/proc/sys/kernel/msgmax
Tento soubor definuje celosystémový limit na maximální počet bajtů v jediné zprávě zapsané do System V fronty zpráv.
/proc/sys/kernel/msgmni
Tento soubor definuje celosystémový limit počtu identifikátorů fronty zpráv. (Tento soubor je přítomen od Linuxu 2.4)
/proc/sys/kernel/msgmnb
Tento soubor definuje celosystémový parametr používaný pro inicializaci hodnoty msg_qbytes pro následně vytvořené fronty zpráv. Hodnota msg_qbytes určuje maximální počet bajtů, které mohou být zapsány do fronty zpráv.
/proc/sys/kernel/ostype a /proc/sys/kernel/osrelease
Tyto soubory obsahují části řetězců z /proc/version.
/proc/sys/kernel/overflowgid a /proc/sys/kernel/overflowuid
Tyto soubory duplikují soubory /proc/sys/fs/overflowgid a /proc/sys/fs/overflowuid.
/proc/sys/kernel/panic
Tento soubor umožňuje čtení/zápis proměnné jádra panic_timeout. Pokud je nulová, bude jádro při panice ve smyčce; pokud je nenulová, znamená počet sekund po kterých by jádro mělo samo rebootovat. Pokud je použit software watchdog device driver, doporučuje se hodnota 60.
/proc/sys/kernel/panic_on_oops (od jádra 2.5.68)
Tento soubor řídí chování jádra, pokud dojde k oops nebo chybě. Pokud tento soubor obsahuje 0, pokusí se systém pokračovat. Pokud obsahuje 1, počká systém několik sekund (aby měl klogd čas zaznamenat výstup oops) a pak zpanikaří. Pokud soubor /proc/sys/kernel/panic také obsahuje nenulovou hodnotu, bude počítač rebootován.
/proc/sys/kernel/pid_max (od jádra 2.5.34)
Tento soubor určuje hodnotu, při které se PID přetočí (tj. hodnota v tomto souboru je o jedna větší než nejvyšší PID). Výchozí hodnota pro tento soubor, 32768, má za následek stejný rozsah PID jako v předchozích jádrech. Na 32 bitových systémech je 32768 maximální hodnotou pid_max. Na 64 bitových systémech může být pid_max nastaven na jakoukoliv hodnotu až do 2^22 (PID_MAX_LIMIT, zhruba 4 milióny).
/proc/sys/kernel/powersave-nap (pouze pro PowerPC)
Tento soubor obsahuje vlajku. Pokud je nastavena, Linux-PPC použije režim šetření energií "nap", jinak bude použit režim "doze".
/proc/sys/kernel/printk
Čtyři hodnoty v tomto souboru jsou console_loglevel, default_message_loglevel, minimum_console_level a default_console_loglevel. Tyto hodnoty ovlivňují chování printk() při tisku nebo záznamu zpráv o chybách. Více informací o různých úrovních logování uvádí syslog(2). Zprávy s prioritou vyšší než console_loglevel budou vytisknuty do konsoly. Zprávy bez zadané priority budou vytisknuty s prioritou default_message_level. minimum_console_loglevel je minimální (nejvyšší) hodnota, na kterou může být console_loglevel nastavena. default_console_loglevel je výchozí hodnota pro console_loglevel.
/proc/sys/kernel/pty (od Linuxu 2.6.4)
Tento adresář obsahuje dva soubory, která se vztahují k počtu pseudoterminálů typu Unix 98 (viz pts(4)) v systému.
/proc/sys/kernel/pty/max
Tento soubor definuje maximální počet pseudoterminálů.
/proc/sys/kernel/pty/nr
Tento read-only soubor ukazuje, kolik pseudoterminálů je právě užíváno.
/proc/sys/kernel/random
Tento adresář obsahuje různé parametry pro řízení činnosti souboru /dev/random. Více informací uvádí random(4).
/proc/sys/kernel/real-root-dev
Tento soubor je dokumentován ve zdrojovém souboru jádra Documentation/initrd.txt.
/proc/sys/kernel/reboot-cmd (jen Sparc)
Tento soubor je zřejmě určen pro předání parametru zavaděči SPARC ROM/Flash. Možná mu říká, co dělat po rebootování?
/proc/sys/kernel/rtsig-max
(Pouze v jádrech do 2.6.7 včetně; viz setrlimit(2)) Tento soubor může být použit k nastavení maximálního počtu POSIXových realtime signálů (ve frontě), které mohou v systému zbývat.
/proc/sys/kernel/rtsig-nr
(Pouze v jádrech do 2.6.7 včetně) Tento soubor ukazuje počet POSIXových realtime signálů, které jsou právě ve frontě.
/proc/sys/kernel/sem (od Linuxu 2.4)
Tento soubor obsahuje 4 čísla, která definují limity pro System V IPC semafory. Tyto položky jsou, popořadě:
Maximální počet semaforů v sadě semaforů.
Celosystémový limit na počet semaforů ve všech sadách semaforů.
Maximální počet operací, které mohou být určeny voláním semop(2).
Celosystémový limit na maximální počet identifikátorů semaforů.
/proc/sys/kernel/sg-big-buff
Tento soubor ukazuje velikost bufferu obecného SCSI zařízení (sg). Zatím není možné jej měnit za chodu, ale je možné jej měnit při kompilaci úpravou include/scsi/sg.h a změnou hodnoty SG_BIG_BUFF. Nicméně nemělo by být nutné tuto hodnotu měnit.
/proc/sys/kernel/shmall
Tento soubor obsahuje celosystémový limit na celkový počet stránek sdílené paměti System V.
/proc/sys/kernel/shmmax
Tento soubor je možné použít pro zjištění a nastavení limitu na maximální (System V IPC) velikost segmentu sdílené paměti, který může být vytvořen. Jádro nyní podporuje segmenty sdílené paměťi až do 1GB. Výchozí hodnota je SHMMAX.
/proc/sys/kernel/shmmni
(od Linuxu 2.4 dál) Tento soubor určuje celosystémový maximální počet segmentů sdílené paměti System V, které mohou být vytvořeny.
/proc/sys/kernel/version
Tento soubor obsahuje řetězec ve tvaru:


#5 Wed Feb 25 21:49:24 MET 1998

"#5" znamená, že se jedná o páté jádro sestavené z těchto zdrojových souborů a datum za ním je čas, kdy bylo sestaveno.

/proc/sys/kernel/threads-max (od jádra 2.3.11)
Tento soubor určuje globální limit pro počet vláken (úloh), která mohou být v systému vytvořena.
/proc/sys/kernel/zero-paged (pouze pro PowerPC)
Tento soubor obsahuje vlajku. Pokud je nastavena (nenulová), Linux-PPC will pre-zero pages in the idle loop, possibly speeding up get_free_pages.
/proc/sys/net
Tento adresář obsahuje síťové položky. Vysvětlení k některým souborům v tomto adresáři je uvedeno v tcp(7) a ip(7).
/proc/sys/net/core/somaxconn
Tento soubor definuje maximální hodnotu pro parametr backlog volání listen(2); viz manuálová stránka listen(2).
/proc/sys/proc
Tento adresář může být prázdný.
/proc/sys/sunrpc
Tento adresář podporuje remote procedure call Sunu pro network file system (NFS). V některých systémech není přítomen.
/proc/sys/vm
Tento adresář obsahuje soubory pro ladění memory managementu, buffer a cache managementu.
/proc/sys/vm/drop_caches (od Linuxu 2.6.16)
Zápis do tohoto souboru způsobí, že jádro vyhodí prázdné vyrovnávací paměti, dentries a inody z paměti, čímž se paměť uvolní.

K uvolnění pagecache se použije echo 1 > /proc/sys/vm/drop_caches; k uvolnění dentries a inodů se použije echo 2 > /proc/sys/vm/drop_caches; k uvolnění pagecache, dentries a inodů se použije echo 3 > /proc/sys/vm/drop_caches.

Protože toto je nedestruktivní operace a dirty objekty není možné uvolnit, měl by uživatel nejprve spustit sync(8).

/proc/sys/vm/legacy_va_layout (od Linuxu 2.6.9)
Pokud je nenulový, vypne nový 32 bitový memory-mapping layout; jádro použije pro všechny procesy původní (2.4) layout.
/proc/sys/vm/oom_dump_tasks (od jádra 2.6.25)
Enables a system-wide task dump (excluding kernel threads) to be produced when the kernel performs an OOM-killing. The dump includes the following information for each task (thread, process): thread ID, real user ID, thread group ID (process ID), virtual memory size, resident set size, the CPU that the task is scheduled on, oom_adj score (see the description of /proc/[pid]/oom_adj), and command name. This is helpful to determine why the OOM-killer was invoked and to identify the rogue task that caused it.

If this contains the value zero, this information is suppressed. On very large systems with thousands of tasks, it may not be feasible to dump the memory state information for each one. Such systems should not be forced to incur a performance penalty in OOM situations when the information may not be desired.

If this is set to non-zero, this information is shown whenever the OOM-killer actually kills a memory-hogging task.

Výchozí hodnota je 0.

/proc/sys/vm/oom_kill_allocating_task (od jádra 2.6.24)
This enables or disables killing the OOM-triggering task in out-of-memory situations.

If this is set to zero, the OOM-killer will scan through the entire tasklist and select a task based on heuristics to kill. This normally selects a rogue memory-hogging task that frees up a large amount of memory when killed.

If this is set to non-zero, the OOM-killer simply kills the task that triggered the out-of-memory condition. This avoids a possibly expensive tasklist scan.

If /proc/sys/vm/panic_on_oom is non-zero, it takes precedence over whatever value is used in /proc/sys/vm/oom_kill_allocating_task.

Výchozí hodnota je 0.

/proc/sys/vm/overcommit_memory
Tento soubor obsahuje režim kernel virtual memory accounting. Hodnoty jsou:
0: heuristic overcommit (výchozí)
1: always overcommit, never check
2: always check, never overcommit
V režimu 0 nejsou volání mmap(2) s MAP_NORESERVE kontrolována nikdy a výchozí kontrola je velmi slabá, což způsobuje riziko, že bude proces "OOM-zabit". V Linuxu 2.4 jakákoliv nenulová hodnota implikuje režim 1. V režimu 2 (dostupný od Linuxu 2.6) je celkový virtuální adresní prostor systému omezen na (SS + RAM*(r/100)), kde SS je velikost odkládacího prostoru, RAM je velikost fyzické paměti a r je obsah souboru /proc/sys/vm/overcommit_ratio.
/proc/sys/vm/overcommit_ratio
Viz popis /proc/sys/vm/overcommit_memory.
/proc/sys/vm/panic_on_oom (od jádra 2.6.18)
This enables or disables a kernel panic in an out-of-memory situation.

If this file is set to the value 0, the kernel's OOM-killer will kill some rogue process. Usually, the OOM-killer is able to kill a rogue process and the system will survive.

If this file is set to the value 1, then the kernel normally panics when out-of-memory happens. However, if a process limits allocations to certain nodes using memory policies (mbind(2) MPOL_BIND) or cpusets (cpuset(7)) and those nodes reach memory exhaustion status, one process may be killed by the OOM-killer. No panic occurs in this case: because other nodes' memory may be free, this means the system as a whole may not have reached an out-of-memory situation yet.

If this file is set to the value 2, the kernel always panics when an out-of-memory condition occurs.

The default value is 0. 1 and 2 are for failover of clustering. Select either according to your policy of failover.

/proc/sysvipc
Podadresář obsahující pseudosoubory msg, sem a shm. Tyto soubory obsahují seznam objektů System V Interprocess Communication (IPC) (fronty zpráv, semafory a sdílená paměť), které jsou aktuálně v systému přítomny, poskytují podobnou informaci jako ipcs(1). Tyto soubory mají záhlaví a jsou formátovány (jeden IPC objekt na řádek) pro lepší přehled. svipc(7) poskytuje další detaily pro informace obsažené v těchto souborech.
/proc/tty
Podadresář obsahující pseudosoubory a podadresáře pro ovladače tty a line disciplines.
/proc/uptime
Tento soubor obsahuje dvě čísla: uptime systému (sekundy) a čas strávený nečinností (sekundy).
/proc/version
Řetězec identifikující verzi jádra, které právě běží. Zahrnuje obsah /proc/sys/kernel/ostype, /proc/sys/kernel/osrelease a /proc/sys/kernel/version. Například:

Linux version 1.0.9 (quinlan@phaze) #1 Sat May 14 01:51:54 EDT 1994
/proc/vmstat (od Linuxu 2.6)
Tento soubor zobrazuje různé statistiky virtuální paměti.
/proc/zoneinfo (od Linuxu 2.6.13)
Tento soubor obsahuje informace o paměťových zónách. Hodí se při analyzování chování virtuální paměti.

POZNÁMKY

Mnoho řetězců (např. proměnné prostředí a příkazový řádek) je ve vnitřním formátu s podpoložkami oddělenými NULL bajty ('\0'), takže mohou být lépe čitelné s užitím od -c nebo tr "\000" "\n". Jako další možnost poslouží dobře i echo `cat <file>`.

Tato manuálová stránka není úplná, může být nepřesná a potřebuje být často doplňována.

DALŠÍ INFORMACE

cat(1), find(1), free(1), ps(1), tr(1), uptime(1), chroot(2), mmap(2), readlink(2), syslog(2), slabinfo(5), hier(7), time(7), arp(8), dmesg(8), hdparm(8), ifconfig(8), init(8), lsmod(8), lspci(8), mount(8), netstat(8), procinfo(8), route(8)
Soubory zdrojového kódu jádra: Documentation/filesystems/proc.txt, Documentation/sysctl/vm.txt

TIRÁŽ

Tato stránka je součástí projektu Linux man-pages. Popis projektu a informace o hlášení chyb najdete na http://www.kernel.org/doc/man-pages/.

2009-01-17 Linux