Provided by: manpages-pl_0.6-2_all bug

NAZWA

       proc - pseudosystem plików z informacjami o procesach

OPIS

       proc  jest  pseudosystemem  plików,  który  udostępnia interfejs do struktur danych jądra.
       Zazwyczaj jest montowany w katalogu /proc. Jest on  w  większości  przeznaczony  tylko  do
       odczytu, lecz niektóre pliki umożliwiają modyfikacje zmiennych jądra.

       Poniższa lista opisuje wiele plików i katalogów w hierarchii /proc.

       /proc/[pid]
              Każdemu  działającemu  procesowi  odpowiada  katalog o numerycznej nazwie; nazwą tą
              jest identyfikator procesu. Każdy z tych katalogów zawiera następujące  pseudopliki
              i podkatalogi:

       /proc/[pid]/auxv (od wersji jądra 2.6.0-test7)
              Zawartość informacji ELF przekazanej do procesu podczas uruchomienia. Formatem jest
              jeden identyfikator w postaci unsigned long plus jedna wartość  unsigned  long  dla
              każdego wpisu. Ostatni wpis zawiera dwa zera. Zob. też getauxval(3).

       /proc/[pid]/cgroup (od Linuksa 2.6.24)
              Plik  opisuje  grupy kontrolne do których należy proces/zadanie. W każdej hierarchi
              cgroup istnieje jeden wpis zawierający pola oddzielone dwukropkiem w postaci:

                  5:cpuacct,cpu,cpuset:/daemons

              Pola oddzielone dwukropkiem, od lewej do prawej:

                  1. numer identyfikacyjny hierarchii

                  2. zestaw podsystemów ograniczony do hierarchi

                  3. grupa kontrolna w hierarchii do której należy proces

              Ten  plik  istnieje  tylko  jeśli   podczas   kompilacji   jądra   włączono   opcję
              CONFIG_CGROUPS.

       /proc/[pid]/clear_refs (od Linuksa 2.6.22)

              Plik jest tylko do odczytu, zapisywalny wyłącznie dla właściciela procesu.

              Do pliku można zapisać następujące wartości:

              1 (od Linuksa 2.6.22)
                     Resetuje bity PG_Referenced i ACCESSED/YOUNG dla wszystkich stron związanych
                     z procesem (przed jądrem 2.6.32 taki  efekt  powodowało  zapisanie  dowolnej
                     wartości niezerowej).

              2 (od Linuksa 2.6.32)
                     Resetuje   bity   PG_Referenced   i   ACCESSED/YOUNG  dla  wszystkich  stron
                     anonimowych związanych z procesem.

              3 (od Linuksa 2.6.32)
                     Resetuje  bity  PG_Referenced  i   ACCESSED/YOUNG   dla   wszystkich   stron
                     przypisanych do plików, związanych z procesem.

              Czyszczenie   bitów  PG_Referenced  i  ACCESSED/YOUNG  zapewnia  metodę  zmierzenia
              przybliżonej wartości pamięci używanej  przez  proces.  Najpierw  należy  sprawdzić
              wartość  w  polu  "Referenced"  dla wartości VMA pokazanych w /proc/[pid]/smaps aby
              sprawdzić użycie pamięci przez proces. Następnie czyści się  bity  PG_Referenced  i
              ACCESSED/YOUNG  i  po  jakimś  zmierzonym czasie ponownie sprawdza się wartości pól
              "Referenced" aby dowiedzieć się jak zmieniło się  użycie  pamięci  procesu  podczas
              zmierzonego  interwału.  Jeśli  jest  się  zainteresowanym wyłącznie pewnymi typami
              przypisania, można skorzystać z wartości 2 lub 3, zamiast 1.

              Aby zmienić inny bit można zapisać również inną wartość:

              4 (od Linuksa 3.11)
                     Czyści bit soft-dirty dla wszystkich stron związanych z procesem. Używa  się
                     tego  (razem z /proc/[pid]/pagemap) przez system przywracania check-point do
                     wykrycia które strony procesu zostały "zabrudzone" od czasu zapisu do  pliku
                     /proc/[pid]/clear_refs.

              Zapis  innej  wartości  niż  wypisane  powyżej  do  /proc/[pid]/clear_refs nie daje
              żadnego efektu.

              Plik /proc/[pid]/clear_refs istnieje tylko jeśli podczas kompilacji jądra  włączono
              opcję CONFIG_PROC_PAGE_MONITOR.

       /proc/[pid]/cmdline
              Ten  plik tylko do odczytu zawiera pełną linię polecenia wydanego przy uruchamianiu
              procesu, chyba że jest to proces-duch (zombie). Wówczas  plik  będzie  pusty,  tzn.
              odczyt  tego  pliku zwróci zawsze 0 znaków. Argumenty linii poleceń występują w tym
              pliku rozdzielone  znakami  NUL  ('\0'),  z  dodatkowym  znakiem  NUL  po  ostatnim
              łańcuchu.

       /proc/[pid]/comm (od Linuksa 2.6.33)
              Plik  pokazuje  wartość comm procesu—tj. nazwę polecenia związaną z procesem. Różne
              wątki tego samego procesu  mogą  mieć  różne  wartości  comm,  dostępne  za  pomocą
              /proc/[pid]/task/[tid]/comm.  Wątek  może  zmodyfikować  jego  wartość  comm lub tą
              innego wątku z tej samej grupy wątków (zob. opis CLONE_THREAD w  clone(2)),  pisząc
              do pliku /proc/self/task/[tid]/comm. Łańcuchy dłuższe niż TASK_COMM_LEN (16) znaków
              są po cichu obcinane.

              Plik zapewnia zestaw operacji PR_SET_NAME i PR_GET_NAME  prctl(2)  i  jest  używany
              przez pthread_setname_np(3), przy zmianie nazw wątków innych niż wywołujący.

       /proc/[pid]/coredump_filter (od wersji jądra 2.6.23)
              Patrz core(5).

       /proc/[pid]/cpuset (od wersji jądra 2.6.12)
              Patrz cpuset(7).

       /proc/[pid]/cwd
              Jest  dowiązaniem do bieżącego katalogu roboczego procesu. Aby dowiedzieć się, jaki
              jest katalog roboczy  procesu,  na  przykład  o  identyfikatorze  20,  można  wydać
              następujące polecenie:

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

              Należy  zauważyć, że polecenie pwd jest często wbudowanym poleceniem powłoki i może
              nie działać w tym kontekście w  sposób  właściwy.  W  powłoce  bash(1)  można  użyć
              pwd -P.

              W  procesie  wielowątkowym  zawartość  tego  linku symbolicznego nie jest dostępna,
              jeżeli wątek główny już się zakończył (zazwyczaj przez wywołanie pthread_exit(3)).

       /proc/[pid]/environ
              Plik ten zawiera środowisko procesu. Wpisy są oddzielone znakami NULL ("\0"),  mogą
              także  wystąpić  znaki  NULL  na  końcu.  Dlatego, aby wypisać zmienne środowiskowe
              procesu 1, należy wykonać:

                  $ strings /proc/1/environ

       /proc/[pid]/exe
              W Linuksie 2.2 i wersjach  późniejszych  plik  ten  jest  dowiązaniem  symbolicznym
              zawierającym   rzeczywistą   nazwę   ścieżki  działającego  polecenia.  Dowiązaniem
              symbolicznym można się normalnie posługiwać -  próba  jego  otwarcia  otworzy  plik
              programu.  Można nawet wydać polecenie /proc/[pid]/exe, aby uruchomić kolejną kopię
              tego  samego  procesu  co  [pid].W  procesie  wielowątkowym  zawartość  tego  linku
              symbolicznego  nie  jest dostępna, jeżeli główny wątek już się zakończył (wywołując
              zapewne pthread_exit(3)).

              W Linuksie 2.0 i  wcześniejszych  wersjach,  /proc/[pid]/exe  jest  wskaźnikiem  do
              uruchomionego  pliku  binarnego  i  ma  postać  dowiązania symbolicznego. Wywołanie
              readlink(2) na tym pliku zwróci w Linuksie 2.0 łańcuch znakowy postaci:

                  [urządzenie]:i-węzeł

              Na przykład, [0301]:1502 będzie 1502 i-węzłem na urządzeniu o  numerze  głównym  03
              (IDE, MFM itp.) i pobocznym 01 (pierwsza partycja pierwszego dysku).

              Do zlokalizowania pliku, można posłużyć się poleceniem find(1) z opcją -inum.

       /proc/[pid]/fd/
              Jest  to podkatalog zawierający po jednym wpisie dla każdego otwartego przez proces
              pliku; nazwą tego wpisu jest deskryptor pliku i jest on dowiązaniem symbolicznym do
              rzeczywistego  pliku.  Dlatego  0  jest  standardowym wejściem, 1 jest standardowym
              wyjściem, 2 jest standardową diagnostyką, itd.

              W  przypadku  deskryptorów  plików   potoków   gniazd   wpisy   będą   dowiązaniami
              symbolicznymi, których zawartością jest typ pliku z i-węzłem. Wywołanie readlink(2)
              na takim pliku zwróci ciąg w postaci:

                  typ:[i-węzeł]

              Przykładowo socket:[2248868] będzie  gniazdem  z  i-węzłem   2248868.  W  przypadku
              gniazd,  i-węzeł  można  wykorzystać  do  pozyskania  większej  liczby informacji z
              jednego z plików z katalogu /proc/net/.

              W przypadku deskryptorów  plików,  które  nie  mają  odpowiadającego  i-węzła  (np.
              deskryptorów  plików tworzonych za pomocą epoll_create(2), eventfd(2), inotify_init
              (2), signalfd(2) i timerfd(2)), wpis będzie dowiązaniem symbolicznym z  zawartością
              w postaci

                  anon_inode:<typ-pliku>

              W niektórych przypadkach typ-pliku jest otoczony nawiasami kwadratowymi.

              Przykładowo  dowiązanie  symboliczne  deskryptora  pliku  epoll  będzie dowiązaniem
              symbolicznym, którego zawartością jest łańcuch anon_inode:[eventpoll].

              W procesie wielowątkowym zawartość tego katalogu nie jest  dostępna,  jeżeli  wątek
              główny już się zakończył (zazwyczaj przez wywołanie pthread_exit(3)).

              Programy,  które  przyjmują  nazwę  pliku jako argument wiersza polecenia, lecz nie
              czytają standardowego wejścia, jeśli nie podano argumentu albo  które  zapisują  do
              pliku  nazwanego argumentem wiersza polecenia, lecz nie wysyłają danych wyjściowych
              na standardowe wyjście, można zmusić do używania standardowego wejścia lub  wyjścia
              wykorzystując  /proc/[pid]/fd.  Na  przykład,  zakładając, że opcja -i określa plik
              wejściowy, a opcja -o określa plik wyjściowy:

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

              co daje działający filtr.

              /proc/self/fd/N jest w przybliżeniu tym samym co /dev/fd/N na niektórych  systemach
              uniksowych   i  uniksopodobnych.  Większość  linuksowych  skryptów  MAKEDEV  tworzy
              dowiązania symboliczne /dev/fd do /proc/self/fd.

              Większość systemów udostępnia  dowiązania  symboliczne  /dev/stdin,  /dev/stdout  i
              dev/stderr, które linkują odpowiednio do plików 0, 1 i 2 w /proc/self/fd. Powyższe,
              przykładowe polecenie może być więc zapisane również tak:

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

       /proc/[pid]/fdinfo/ (od wersji jądra 2.6.22)
              Jest to podkatalog zawierający po jednym wpisie dla każdego pliku  otwartego  przez
              proces; nazwą tego wpisu jest deskryptor pliku. Zawartość pliku można odczytać, aby
              uzyskać informacje o odpowiadającym mu deskryptorze pliku, na przykład:

                  $ cat /proc/12015/fdinfo/4
                  pos:    1000
                  flags:  01002002

              Pole pos jest liczbą dziesiętną oznaczającą  bieżące  przesunięcie  w  pliku.  Pole
              flags  jest  liczbą  ósemkową  zawierającą prawa dostępu do pliku i znaczniki stanu
              (patrz open(2)).

              Tylko właściciel procesu może odczytywać pliki z tego katalogu.

       /proc/[pid]/io (od wersji jądra 2.6.20)
              Plik zawiera statystyki wejścia/wyjścia dla procesu np.:

                  # cat /proc/3828/io
                  rchar: 323934931
                  wchar: 323929600
                  syscr: 632687
                  syscw: 632675
                  read_bytes: 0
                  write_bytes: 323932160
                  cancelled_write_bytes: 0

              Występują następujące pola:

              rchar: odczytane znaki
                     Liczba bajtów, które zostały odczytane ze względu na dane zadanie.  Jest  to
                     suma  bajtów  z  read(2)  i  podobnych  wywołań  systemowych. Obejmuje takie
                     działania jak wejście/wyjście terminala. To,  czy  konieczny  był  faktyczny
                     dostęp  do wejścia/wyjściu fizycznego dysku nie ma wpływu na wartość (odczyt
                     mógł nastąpić wyłącznie z bufora stronicowania).

              wchar: zapisane znaki
                     Liczba bajtów, które zostały zapisane lub powinny być  zapisane  przez  dane
                     zadania. Tego pola tyczą się podobne zastrzeżenia jak rchar.

              syscr: odczytane wywołania systemowe
                     Próba  policzenia  operacji  odczytu wejścia/wyjścia tj. wywołań systemowych
                     takich jak read(2) i pread(2).

              syscw: zapisane wywołania systemowe
                     Próba policzenia operacji zapisu  wejścia/wyjścia  tj.  wywołań  systemowych
                     takich jak write(2) i pwrite(2).

              read_bytes: odczytane bajty
                     Próba  policzenia  bajtów,  które  faktycznie  musiały być pobrane z poziomu
                     nośnika. Jest dokładna dla systemów plików korzystających z bloków.

              write_bytes: zapisane bajty
                     Próba policzenia bajtów, które faktycznie  musiały  być  wysłane  na  poziom
                     nośnika.

              cancelled_write_bytes:
                     Dużą  niedokładność powoduje przycinanie. Jeśli proces zapisze do pliku 1 MB
                     i później skasuje go, de facto nie nastąpi żaden zapis. Zostanie  to  jednak
                     odnotowane  jako  powodujące  zapis 1 MB. Innymi słowy: pole to reprezentuje
                     liczbę bajtów, które dzięki temu procesowi nie  wystąpiły  przez  przycięcie
                     bufora strony. Część zadań może spowodować również "ujemne" wejście/wyjście.
                     Jeśli to zadanie przytnie  "brudny"  bufor  strony,  część  wejścia/wyjście,
                     które inne zadanie już policzyło (jest w jego write_bytes) nie nastąpi.

              Uwaga:  W  obecnej implementacji ma miejsce wyścig bitowy na 32-bitowych systemach:
              jeśli proces A odczyta /proc/[pid]/io procesu B, gdy proces B aktualizuje jeden  ze
              swoich 64-bitowych liczników, proces A zobaczy wynik pośredni.

       /proc/[pid]/limits (od wersji jądra 2.6.24)
              Plik zawiera informacje o miękkim limicie, twardym limicie i jednostkach, w których
              mierzone są  limity  zasobów  procesów  (patrz  getrlimit(2)).  Do  Linuksa  2.6.35
              (włącznie)  plik  jest  zabezpieczony,  aby pozwolić na odczyt jedynie przez realny
              identyfikator UID procesu. Od wersji 2.6.36 plik jest odczytywalny  dla  wszystkich
              użytkowników systemu.

       /proc/[pid]/map_files/ (od jądra 3.3)
              Podkatalog  zawiera  wpisy  odnoszące  się  do plików zmapowanych do pamięci (patrz
              mmap(2)). Wpisy są nazwane jako pary adresów:  początku  i  końca  obszaru  pamięci
              (jako  liczby  szesnastkowe)  i są dowiązaniami symbolicznymi do samych zmapowanych
              plików. Oto przykład, zmodyfikowany aby zmieścić się w 80 kolumnowym terminalu:

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

              Choć te wpisy są dostępne dla obszarów pamięci przydzielonych  flagą  MAP_FILE,  to
              sposób  w jaki zaimplementowane jest anonimowe dzielenie pamięci (obszary utworzone
              flagami MAP_ANON | MAP_SHARED) oznaczają że tego typu obszary również pojawią się w
              tym katalogu. Oto przykład, gdzie plikiem docelowym jest usunięty /dev/zero:

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

              Ten   katalog   istnieje   tylko   jeśli   włączono   opcję   konfiguracyjną  jądra
              CONFIG_CHECKPOINT_RESTORE.

       /proc/[pid]/maps
              Plik zawierający aktualnie zmapowane obszary pamięci  wraz  z  prawami  dostępu  do
              nich. Więcej informacji o mapowaniu pamięci zawiera podręcznik systemowy mmap(2).

              Format pliku jest następujący:

       adres            uprawn przesun urządz i-węzeł    ścieżka
       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]

              Pole  adres  jest  przestrzenią  adresową  procesu, który ją zajmuje, a uprawn jest
              zbiorem uprawnień:

                   r = odczyt
                   w = zapis
                   x = wykonywanie
                   s = wspólne
                   p = prywatne (kopiowane przy zapisie)

              Przesun jest przesunięciem w  pliku  lub  w  czymś  innym,  urządz  zawiera  numery
              (główny:poboczny)  urządzenia,  a  i-węzeł  jest  i-węzłem  na  tym  urządzeniu.  0
              wskazuje, że nie istnieje i-węzeł związany  z  tym  obszarem  pamięci,  jak  to  na
              przykład ma miejsce w przypadku segmentu BSS (niezainicjowanych danych).

              Ścieżka  to  zwykle  plik  zabezpieczający  mapowanie.  Koordynacja  jest  łatwa  w
              przypadku plików ELF za pomocą pola przesun,  poprzez  sprawdzenie  pola  Offset  w
              nagłówkach programu ELF (readelf -l).

              Istnieją dodatkowe, pomocne pseudościeżki:

                   [stack]
                          Stos pierwotnego procesu (zwanego też głównym wątkiem)

                   [stack:<tid>] (od Linuksa 3.4)
                          Stos  wątku (gdzie <tid> jest identyfikatorem wątku). Odpowiada ścieżce
                          /proc/[pid]/task/[tid]/.

                   [vdso] Wirtualny, dynamicznie linkowany obiekt współdzielony.

                   [heap] Stos wątku.

              Jeśli pole ścieżka  jest  puste,  to  jest  to  anonimowe  przypisanie,  takie  jak
              pozyskiwane  za  pomocą funkcji mmap(2). Nie ma prostej metody na powiązanie jej ze
              źródłem procesu oprócz metod takich jak gdb(1), strace(1) itp.

              W Linuksie 2.0 nie ma pola podającego nazwę ścieżki.

       /proc/[pid]/mem
              Za pośrednictwem tego pliku można,  korzystając  z  open(2),  read(2)  i  lseek(2),
              uzyskać dostęp do stron pamięci procesu.

       /proc/[pid]/mountinfo (od wersji jądra 2.6.26)
              Plik zawiera informacje o punktach montowania. Składa się z linii w postaci:

              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)

              Liczby w nawiasach są etykietami poniższych opisów:

              (1)  ID  montowania: unikatowy identyfikator montowania (może zostać użyty ponownie
                   po wykonaniu umount(2)).

              (2)  ID  rodzica:  identyfikator  rodzica  (lub  siebie  samego,  jeśli  montowanie
                   znajduje się na szczycie drzewa montowań).

              (3)  główny:poboczny:  wartość  pola  st_dev  (patrz stat(2)) dla plików w systemie
                   plików.

              (4)  korzeń: korzeń (root) montowania w systemie plików.

              (5)  punkt montowania: punkt montowania w odniesieniu do korzenia procesów.

              (6)  opcje montowania: opcje montowania dla każdego montowania.

              (7)  pola opcjonalne: zero lub więcej pól w postaci "znacznik[:wartość]"

              (8)  separator: oznacza koniec pól opcjonalnych.

              (9)  typ systemu plików: nazwa systemu plików w postaci "typ[.podtyp]".

              (10) źródło montowania: informacja zależna od systemu plików lub "none".

              (11) super opcje: opcje dla superbloku.

              Parsery powinny ignorować wszystkie nierozpoznane pola opcjonalne. Obecnie są to:

                   shared:X          montowanie jest współdzielone w grupie węzłów X

                   master:X          montowanie jest podrzędne w stosunku do grupy węzłów X

                   propagate_from:X  montowanie jest  podrzędne  i  podlega  propagacji  z  grupy
                                     węzłów X (*)

                   unbindable        montowanie jest niepodpinalne

              (*)  X jest najbliższą dominującą grupą węzłów pod korzeniem procesów. Jeśli X jest
              bezpośrednio nadrzędne w stosunku do montowania, lub jeśli nie istnieje  dominująca
              grupa węzłów pod tym samym korzeniem, to obecne jest wyłącznie pole "master:X", bez
              pola "propagate_from:X".

              Aby  dowiedzieć  się  więcej  o  propagacji  montowań,  proszę   zapoznać   się   z
              Documentation/filesystems/sharedsubtree.txt w drzewie źródeł jądra Linux.

       /proc/[pid]/mounts (od wersji Linuksa 2.4.19)
              Jest  to  lista  wszystkich  systemów  plików  obecnie  zamontowanych w przestrzeni
              montowań procesów. Format tego pliku jest  udokumentowany  w  fstab(5).  Od  wersji
              2.6.15  jądra  Linuksa,  ten  plik  może  być  użyty w wywołaniu funkcji poll(): po
              otwarciu tego pliku do odczytu, zmiana  w  nim  (np.  montowanie  lub  odmontowanie
              systemu  plików) powoduje, że select(2) oznaczy deskryptor jako możliwy do odczytu,
              a poll(2) i epoll_wait(2) zaznaczą, że w pliku wystąpił błąd.

       /proc/[pid]/mountstats (Od wersji Linuksa 2.6.17)
              Plik eksportuje  informacje  (statystyki,  informacje  konfiguracyjne)  o  punktach
              montowań w przestrzeni nazwy procesów. Wiersze pliku mają następującą postać:

              device /dev/sda7 mounted on /home with fstype ext3 [statistics]
              (       1      )            ( 2 )             (3 ) (4)

              Pola w każdym wierszu są następujące:

              (1)  Nazwa  zamontowanego  urządzenia (lub "nodevice", jeśli nie ma odpowiadającego
                   urządzenia).

              (2)  Punkt montowania w drzewie systemu plików.

              (3)  Typ systemu plików.

              (4)  Opcjonalne statystyki i  informacje  konfiguracyjne.  Obecnie  (Linux  2.6.26)
                   tylko system plików NFS eksportuje opcje za pomocą tego pola.

              Plik jest odczytywalny wyłącznie dla właściciela procesu.

       /proc/[pid]/ns/ (od Linuksa 3.0)
              Jest  to podkatalog zawierający po jednym wpisie dla każdej przestrzeni nazw, która
              obsługuje  manipulację  za  pomocą  setns(2).   Aby   dowiedzieć   się   więcej   o
              przestrzeniach nazw, proszę zapoznać się z clone(2).

       /proc/[pid]/ns/ipc (od Linuksa 3.0)
              Montowanie  używając  podpięcia  wykonane na tym pliku (patrz mount(2)) do jakiegoś
              innego miejsca w systemie plików utrzymuje przestrzeń nazwy IPC  procesu  określoną
              przez  pid  nawet,  gdy  zakończą  się  wszystkie  procesy znajdujące się obecnie w
              przestrzeni nazwy.

              Otwarcie tego  pliku  przywróci  obsługę  pliku  dotyczącą  przestrzeni  nazwy  IPC
              procesu,  określonego  przez  pid.  Tak  długo jak jego deskryptor pliku pozostanie
              otwarty, przestrzeń nazwy IPC pozostanie aktywna, nawet jeśli wszystkie  procesy  w
              przestrzeni nazwy zakończą się. Deskryptor pliku może być podany do setns(2).

       /proc/[pid]/ns/net (od Linuksa 3.0)
              Montowanie  używając  podpięcia  wykonane na tym pliku (patrz mount(2)) do jakiegoś
              innego miejsca w  systemie  plików  utrzymuje  sieciową  przestrzeń  nazwy  procesu
              określoną  przez  pid  nawet,  gdy  zakończą się wszystkie procesy znajdujące się w
              przestrzeni nazwy.

              Otwarcie tego pliku przywróci obsługę pliku dotyczącą sieciowej  przestrzeni  nazwy
              procesu,  określonego  przez  pid.  Tak  długo jak jego deskryptor pliku pozostanie
              otwarty, sieciowa  przestrzeń  nazwy  pozostanie  aktywna,  nawet  jeśli  wszystkie
              procesy  w  przestrzeni  nazwy  zakończą  się.  Deskryptor pliku może być podany do
              setns(2).

       /proc/[pid]/ns/uts (od Linuksa 3.0)
              Montowanie używając podpięcia wykonane na tym pliku (patrz  mount(2))  do  jakiegoś
              innego  miejsca  w systemie plików utrzymuje przestrzeń nazwy UTS procesu określoną
              przez pid nawet, gdy zakończą  się  wszystkie  procesy  znajdujące  się  obecnie  w
              przestrzeni nazwy.

              Otwarcie  tego  pliku  przywróci  obsługę  pliku  dotyczącą  przestrzeni  nazwy UTS
              procesu, określonego przez pid. Tak długo  jak  jego  deskryptor  pliku  pozostanie
              otwarty,  przestrzeń  nazwy UTS pozostanie aktywna, nawet jeśli wszystkie procesy w
              przestrzeni nazwy zakończą się. Deskryptor pliku może być podany do setns(2).

       /proc/[pid]/numa_maps (od Linuksa 2.6.14)
              Patrz numa(7).

       /proc/[pid]/oom_adj (od Linuksa 2.6.11)
              Plik może być użyty do dostosowania  wyniku,  używanego  do  wybrania  procesów  do
              zabicia,  w przypadku sytuacji braku pamięci (out-of-memory - OOM). Jądro używa tej
              wartości do operacji przesunięcia bitowego  wartości  oom_score  procesu:  poprawne
              wartości  mieszczą  się  w zakresie od -16 do +15, wraz ze specjalną wartością -17,
              która całkowicie wyłącza zabijanie przy OOM danego procesu. Dodatni wynik  zwiększa
              prawdopodobieństwo,  że  proces  zostanie zabity przez OOM-killer, ujemny zmniejsza
              je.

              Domyślną wartością tego pliku jest 0, nowy  proces  dziedziczy  ustawienie  oom_adj
              swojego  rodzica.  Proces  musi  być  uprzywilejowany  (CAP_SYS_RESOURCE)  aby  móc
              zaktualizować ten plik.

              Od Linuksa 2.6.36 używanie tego pliku jest przestarzałe, powinno  się  korzystać  z
              /proc/[pid]/oom_score_adj.

       /proc/[pid]/oom_score (od Linuksa 2.6.11)
              Plik  wyświetla bieżący wynik, jaki jądro przydziela temu procesowi w celu wybrania
              procesu do zabicia przez OOM-killer. Wyższy wynik oznacza,  że  proces  ma  większe
              prawdopodobieństwo  zostania wybranym przez OOM-killer. Podstawą wyniku jest liczba
              pamięci użytej przez proces, a jest on zwiększany (+)  lub  zmniejszany  (-)  przez
              następujące czynniki:

              * czy proces tworzy wiele potomków przy użyciu fork(2) (+),

              * czy proces jest używany przez długi czas lub używa dużo czasu procesora (-),

              * czy proces ma niską wartość nice (np. > 0) (+),

              * czy proces jest uprzywilejowany (-) oraz

              * czy proces wykonuje bezpośredni dostęp do sprzętu (-).

              Wartość  oom_score  uwzględnia  również  przesunięcie  określone  przez  ustawienie
              procesu oom_score_adj lub oom_adj.

       /proc/[pid]/oom_score_adj (od Linuksa 2.6.36)
              Plik może być użyty  do  dostosowania  heurystyki  zwanej  "badness",  używanej  do
              wybrania procesu który zostanie zabity w sytuacji braku pamięci.

              Przypisuje  ona do każdego potencjalnego zadania wartość od 0 (nigdy nie zabija) do
              1000 (zawsze zabija) aby określić  docelowy  proces  do  zabicia.  Jednostki  są  z
              grubsza  proporcjonalne  do  pamięci,  którą  proces  może przydzielić, obliczaną w
              oparciu do  bieżącego  użycia  pamięci  i  pamięci  wymiany.  Na  przykład  zadanie
              używające całą dozwoloną pamięć otrzyma wynik 1000, a jeśli użyje połowę dozwolonej
              pamięci, otrzyma wynik 500.

              Dodatkowym czynnikiem w wyniku "badness" jest fakt, że procesy roota mają dodatkowe
              3% pamięci w stosunku do pozostałych procesów.

              Wielkość  "dozwolonej"  pamięci  zależy  od kontekstu w jakim wywołano OOM-killera.
              Jeśli wynika to z faktu, że pamięć  przeznaczona  dla  zadania  alokującego  cpuset
              została wyczerpany, to dozwolona pamięć odpowiada zestawowi pamięci przypisanego do
              tego cpuset (zobacz cpuset(7)). Jeśli jest to skutek zasad dot. pamięci węzła  (lub
              węzłów),  to  dozwolona  pamięć  odpowiada  zestawowi tych zasad. Jeśli wynika to z
              faktu, że osiągnięto limit pamięci (lub pamięci wymiany) to dozwolona  pamięć  jest
              tak ustawionym limitem. Gdy wynika to z sytuacji braku pamięci, to dozwolona pamięć
              odpowiada wszystkich zaalokowanych zasobom.

              Wartość oom_score_adj jest dodawana  do  wyniku  "badness"  przed  użyciem  jej  do
              wybrania  procesu  przeznaczonego  do  zabicia. Dozwolone wartości wynoszą od -1000
              (OOM_SCORE_ADJ_MIN)  do   +1000   (OOM_SCORE_ADJ_MAX).   Pozwala   to   przestrzeni
              użytkownika  na  kontrolę  preferencji  OOM-killing.  Można  w  ten  sposób  zawsze
              preferować dane zadanie lub całkowicie wyłączyć je z procesu OOM-killing. Najniższa
              dostępna wartość (-1000) jest równoznaczna z całkowitym wyłączeniem OOM-killing dla
              danego zadania, ponieważ zawsze zwróci ono wynik "badness" równy 0.

              Z tego względu łatwo jest zdefiniować wielkość pamięci dla  każdego  zadania  przez
              przestrzeń  użytkownika.  Ustawienie  wartości  oom_score_adj  np.  na  +500 jest w
              przybliżeniu odpowiednikiem pozwolenia pozostałym zadaniom w  tym  samym  systemie,
              cpuset, zasadom dot. pamięci i zasobom kontrolera pamięci na użycie co najmniej 50%
              pamięci więcej. Z kolei wartość -500 odpowiada  mniej  więcej  zmniejszeniu  o  50%
              dozwolonej pamięci.

              Z  powodu  zgodności wstecznej ze starszymi jądrami do modyfikacji wyniku "badness"
              wciąż  można  używać  /proc/[pid]/oom_adj.  Jego  wartość  skaluje  się  liniowo  z
              oom_score_adj.

              Zapis  do  /proc/[pid]/oom_score_adj  lub /proc/[pid]/oom_adj zmieni zapis w drugim
              pseudopliku na przeskalowaną odpowiednio wartość.

       /proc/[pid]/pagemap (od Linuksa 2.6.25)
              Plik pokazuje przypisanie każdej z wirtualnych stron  procesu  do  ramki  fizycznej
              strony  lub  przestrzeni  wymiany.  Zawiera jedną wartość 64-bitową na każdą stronę
              wirtualną, bity oznaczają:

                   63     Jeśli jest ustawione, strona jest obecna w pamięci RAM.

                   62     Jeśli jest ustawione, strona jest obecne w pamięci wymiany (swap)

                   61 (od Linuksa 3.5)
                          Strona jest stroną przypisaną do pliku lub dzieloną stroną anonimową.

                   60-56 (od Linuksa 3.11)
                          Zero

                   55 (od Linuksa 3.11)
                          PTE jest soft-dirty  (więcej  informacji  w  pliku  w  źródłach  jądra:
                          Documentation/vm/soft-dirty.txt).

                   54-0   Jeśli   strona  jest  obecna  w  pamięci  RAM  (bit  63),  to  te  bity
                          udostępniają  numer  ramki  strony,  który  można   użyć   z   indeksem
                          /proc/kpageflags i /proc/kpagecount. Jeśli strona jest obecna w pamięci
                          wymiany (bit 62), to bity 4-0 informują o typie pamięci wymiany, a bity
                          54-5 kodują przesunięcie pamięci wymiany.

              Przed  Linuksem  3.11 bity 60-55 kodowały logarytm dwójkowy informujący o rozmiarze
              strony.

              Aby efektywnie wykorzystać  /proc/[pid]/pagemap  należy  użyć  /proc/[pid]/maps  do
              określenia  które  obszary  pamięci  zostały  rzeczywiście przypisane i móc przejść
              między nieprzypisanymi obszarami.

              Plik /proc/[pid]pagemap istnieje tylko  jeśli  podczas  kompilacji  jądra  włączono
              opcję CONFIG_PROC_PAGE_MONITOR.

       /proc/[pid]/personality (od Linuksa 2.6.28)
              Plik  tylko  do  odczytu  pokazuje  domenę  uruchamiania  procesu  ustawioną  przez
              personality(2). Wartość wyświetlana jest w zapisie szesnastkowym.

       /proc/[pid]/root
              UNIX i Linux wspierają pomysł  określonego  dla  każdego  procesu  osobno  katalogu
              głównego  systemu plików, ustawianego przez wywołanie systemowe chroot(2). Plik ten
              wskazuje na katalog główny systemu plików i zachowuje się w ten sam sposób jak exe,
              fd/*, itp.

              W  procesie  wielowątkowym  zawartość  tego  linku symbolicznego nie jest dostępna,
              jeżeli wątek główny już się zakończył (zazwyczaj przez wywołanie pthread_exit(3)).

       /proc/[pid]/smaps (od Linuksa 2.6.14)
              Plik ten pokazuje zużycie  pamięci  dla  każdego  mapowania  procesu.  Dla  każdego
              takiego mapowania pokazana jest lista następujących linii:

                  00400000-0048a000 r-xp 00000000 fd:03 960637       /bin/bash
                  Size:                552 kB
                  Rss:                 460 kB
                  Pss:                 100 kB
                  Shared_Clean:        452 kB
                  Shared_Dirty:          0 kB
                  Private_Clean:         8 kB
                  Private_Dirty:         0 kB
                  Referenced:          460 kB
                  Anonymous:             0 kB
                  AnonHugePages:         0 kB
                  Swap:                  0 kB
                  KernelPageSize:        4 kB
                  MMUPageSize:           4 kB
                  Locked:                0 kB

              Pierwsza   z   tych   linii  pokazuje  te  same  informacje  o  mapowaniach,  co  w
              /proc/[pid]/maps.  Pozostałe  linie  zawierają  rozmiar  mapowania,  ilość  mapowań
              obecnych  w  RAM  ("Rss"),  proporcjonalny  udział  w tym mapowaniu ("Pss"), liczbę
              czystych i brudnych stron  współdzielonych  w  mapowaniu  oraz  liczbę  czystych  i
              brudnych  prywatnych  stron  w  mapowaniu.  "Referenced"  oznacza pamięć która jest
              oznaczona jako pamięć do której ktoś odnosi się lub  uzyskuje  dostęp.  "Anonymous"
              pokazuje  pamięć  nienależącą do  żadnego  pliku.  "Swap" pokazuje jak dużo pamięci
              która byłaby anonimowa jest również używana, lecz w pamięci wymiany.

              Wpis "KernelPageSize" jest rozmiarem strony używanym przez jądro do VMA. Jest on  w
              większości  przypadków  takim sam, jak rozmiar używany przez MMU. Wyjątek występuje
              na jądrach PPC64, gdy jądro korzystając z podstawowego rozmiaru strony w  wielkości
              64K  może wciąż używać 4K stron dla MMU na starszych procesorach. Aby to rozróżnić,
              ta łatka raportuje "MMUPageSize" jako rozmiar strony używany przez MMU.

              "Locked" wskazuje, czy mapowanie jest zablokowane w pamięci czy nie.

              Pole  "VmFlags"  reprezentuje  flagi  jądra  związane  z  danych  obszarem  pamięci
              wirtualnej (VMA) zakodowanym w dwuliterowym symbolu. Oto kody:

                  rd  - odczytywalna (readable)
                  wr  - zapisywalna (writable)
                  ex  - wykonywalna (executable)
                  sh  - dzielona (shared)
                  mr  - może odczytać (may read)
                  mw  - może zapisać (may write)
                  me  - może wykonać (may execute)
                  ms  - może dzielić (may share)
                  gd  - segment stosu rośnie w dół (grows down)
                  pf  - czysty przedział PFG (pure PFN)
                  dw  - wyłączony zapis do zmapowanego pliku (disabled write)
                  lo  - strony zablokowane w pamięci (locked)
                  io  - pamięć zmapowana przestrzeni we/wy (I/O)
                  sr  - udostępniono wskazówkę sekwencyjnego odczytu
                                                    (sequential read)
                  rr  - udostępniono wskazówkę losowego odczytu (random read)
                  dc  - nie kopiuj przestrzeni przy forkowaniu (do not copy)
                  de  - nie rozszerzaj przestrzeni przy przemapowaniu
                                                      (do not expand)
                  ac  - przestrzeń jest policzalna (area is accountable)
                  nr  - przestrzeń wymiany niezarezerwowana dla tej
                                                    przestrzeni (not reserved)
                  ht  - przestrzeń używa dużych stron tlb (huge tlb)
                  nl  - mapowanie nieliniowe (non-linear)
                  ar  - flaga charakterystyczna dla architektury
                  dd  - nie włączaj przestrzeni do zrzutu jądra (do not dump)
                  sd  - flaga soft-dirty
                  mm  - przestrzeń mieszanego mapowania
                  hg  - flaga wskazówki dużych stron (huge)
                  nh  - flaga wskazówki stron niebędących dużymi (no-huge)
                  mg  - flaga wskazówki łączenia (mergeable)

              Plik /proc/[pid]/smaps istnieje tylko jeśli podczas kompilacji jądra włączono opcję
              CONFIG_PROC_PAGE_MONITOR.

       /proc/[pid]/stack (od Linuksa 2.6.29)
              Plik zapewnia symboliczny ślad wywołania funkcji w tym stosie  jądra  dla  procesu.
              Plik  istnieje,  jeśli  jądro  zostało  zbudowane  z  włączoną  opcją  konfiguracji
              CONFIG_STACKTRACE.

       /proc/[pid]/stat
              Informacje o stanie procesu. Korzysta z tego ps(1). Są  one  zdefiniowane  w  pliku
              źródeł jądra fs/proc/array.c.

              Kolejne pola i ich właściwe specyfikatory formatu scanf(3) to:

              (1) pid  %d
                        Identyfikator procesu (PID).

              (2) comm  %s
                        Nazwa pliku wykonywalnego w nawiasach. Widać, czy plik uległ wymianie.

              (3) state  %c
                        Jeden z poniższych znaków, wskazujących na status procesu:

                        R  Działający (Running)

                        S  Śpiący (Sleeping) w przerywalnym oczekiwaniu

                        D  Śpiący w nieprzerywalnym oczekiwaniu dyskowym

                        Z  Zombie

                        T  Zatrzymany sygnałem lub (przed Linuksem 2.6.33) zatrzymany ślad (trace
                           stopped)

                        t  Zatrzymany śledzeniem (tracing stop) - Linux 2.6.33 i nowszy

                        W  Stronicowanie (tylko przed Linuksem 2.6.0)

                        X  Martwy (od Linuksa 2.6.0)

                        x  Martwy (między Linuksem 2.6.33 a 3.13)

                        K  Wakekill - oczekiwanie; wybudzenie przy śmiertelnym  sygnale   (między
                           Linuksem 2.6.33 a 3.13)

                        W  Budzący się (między Linuksem 2.6.33 a 3.13)

                        P  Zaparkowany (między Linuksem 3.9 a 3.13)

              (4) ppid  %d
                        PID procesu macierzystego tego procesu.

              (5) pgrp  %d
                        Identyfikator grupy procesów danego procesu.

              (6) session  %d
                        Identyfikator sesji procesu.

              (7) tty_nr  %d
                        Kontroluje terminal procesu (poboczny numer urządzenia jest przechowywany
                        w kombinacji bitów 31 do 20 i 7 do 0, natomiast główny  numer  urządzenia
                        jest w bitach 15 do 8).

              (8) tpgid  %d
                        Identyfikator  grupy  procesów pierwszoplanowych kontrolującego terminala
                        procesu.

              (9) flags  %u
                        Słowo flag jądra  dla  danego  procesu.  Znaczenie  poszczególnych  bitów
                        określają     definicje    PF_*    w    pliku    źródeł    jądra    Linux
                        include/linux/sched.h. Szczegóły zależą od wersji jądra.

                        Format tego pola przed Linuksem 2.6 miał postać %lu.

              (1) minflt  %lu
                        Liczba drobnych błędów, które  popełnił  proces,  a  które  nie  wymagały
                        załadowania strony pamięci z dysku.

              (11) cminflt  %lu
                        Liczba drobnych błędów procesów potomnych.

              (12) majflt  %lu
                        Liczba   głównych   błędów,  które  popełnił  proces,  a  które  wymagały
                        załadowania strony pamięci z dysku.

              (13) cmajflt  %lu
                        Liczba głównych błędów procesów potomnych.

              (14) utime  %lu
                        Czas jaki został przydzielony procesowi w trybie użytkownika, mierzony  w
                        taktach  zegara  (podzielonych  przez  sysconf(_SC_CLK_TCK)). Obejmuje to
                        czas gościa, guest_time (czas spędzony  w  czasie  działania  wirtualnego
                        CPU,  patrz  niżej),  tak  więc  aplikacje, które nie wiedzą o polu czasu
                        gościa nie tracą tego czasu ze swych obliczeń.

              (15) stime  %lu
                        Czas, jaki został przydzielony  procesowi  w  trybie  jądra,  mierzony  w
                        taktach zegara (podzielonych przez sysconf(_SC_CLK_TCK)).

              (16) cutime  %ld
                        Czas,  jaki  został  przydzielony procesom potomnym tego procesu w stanie
                        waited-for w trybie użytkownika, mierzony w taktach zegara  (podzielonych
                        przez  sysconf(_SC_CLK_TCK)),  patrz  także  times(2)).  Obejmuje to czas
                        gościa, cguest_time (czas spędzony działając  na  procesorze  wirtualnym,
                        patrz niżej).

              (17) cstime  %ld
                        Czas,  jaki  został  przydzielony procesom potomnym tego procesu w stanie
                        waited-for w trybie jądra, mierzony w taktach zegara (podzielonych  przez
                        sysconf(_SC_CLK_TCK).

              (18) priority  %ld
                        (Wyjaśnienie  dla  Linuksa  2.6)  W  przypadku  procesów  działających  z
                        zasadami   planisty   czasu   rzeczywistego   (policy   poniżej;    patrz
                        sched_setscheduler(2)), jest to liczba przeciwna w stosunku do priorytetu
                        planisty minus jeden, tzn.  jest  to  zakres  -2  do  -100  odpowiadający
                        priorytetom  czasu  rzeczywistego  od  1  do 99. W przypadku procesów nie
                        działających  według  tych   zasad,   jest   to   surowa   wartość   nice
                        (setpriority(2)  zgodna  z podaną przez jądro. Jądro przechowuje wartości
                        nice jako liczby w zakresie od 0 (wysoki) do  39  (niski),  co  odpowiada
                        widocznemu dla użytkownika zakresowi nice od -20 do 19.

                        Przed  Linuksem  2.6  była  to  wartość  skalowana  w oparciu o wagę jaką
                        planista przypisał do danego procesu.

              (19) nice  %ld
                        Wartość "nice" (patrz setpriority(2)) zawierająca się w  zakresie  od  19
                        (niski priorytet) do -20 (wysoki priorytet).

              (20) num_threads  %ld
                        Liczba  wątków  procesu  (od Linuksa 2.6). Przed jądrem 2.6 to pole miało
                        przydzieloną  na  sztywno  wartość  0,  jako  wypełniacz  do   usuniętego
                        wcześniej pola.

              (21) itrealvalue  %ld
                        Czas  w  jiffies  poprzedzający  wysłanie  przez  czasomierz  do  procesu
                        następnego sygnału SIGALRM. Od jądra 2.6.17,  to  pole  nie  jest  dłużej
                        utrzymywane i ma ustawioną na sztywno wartość 0.

              (22) starttime  %llu
                        Czas  w jakim proces uruchomił się po rozruchu systemu. Jądra Linux przed
                        wersją 2.6 wyrażają tę wartość w tzw. "jiffies". Od Linuksa  2.6  wartość
                        jest wyrażana w taktach zegara (podzielonych przez sysconf(_SC_CLK_TCK)).

                        Format tego pola przed Linuksem 2.6 miał postać %lu.

              (23) vsize  %lu
                        Rozmiar pamięci wirtualnej w bajtach.

              (24) rss  %ld
                        Resident  Set Size: liczba stron, które proces ma w rzeczywistej pamięci.
                        Są to po prostu strony, które  obejmują  segment  text,  segment  data  i
                        przestrzeń  stosu.  Nie  obejmuje  to  stron,  które nie były ładowane na
                        żądanie lub które uległy wymianie.

              (25) rsslim  %lu
                        Aktualne  miękkie  ograniczenie  rss  procesu  w  bajtach;   patrz   opis
                        RLIMIT_RSS w getrlimit(2).

              (26) startcode  %lu
                        Adres, pod którym zaczyna się kod programu.

              (27) endcode  %lu
                        Adres, pod którym kończy się kod programu.

              (28) startstack  %lu
                        Adres początku (tzn. spód) stosu.

              (29) kstkesp  %lu
                        Bieżąca  wartość  ESP  (wskaźnika  stosu),  określona na podstawie strony
                        stosu jądra dla danego procesu.

              (30) kstkeip  %lu
                        Aktualny EIP (wskaźnik instrukcji).

              (31) signal  %lu
                        Maska bitowa oczekujących sygnałów, wyświetlana jako  liczba  dziesiętna.
                        Przestarzałe,   ponieważ  nie  dostarcza  informacji  o  sygnałach  czasu
                        rzeczywistego; prosimy używać /proc/[pid]/status zamiast tego pliku.

              (32) blocked  %lu
                        Maska bitowa zablokowanych sygnałów, wyświetlana jako liczba  dziesiętna.
                        Przestarzałe,   ponieważ  nie  dostarcza  informacji  o  sygnałach  czasu
                        rzeczywistego; prosimy używać /proc/[pid]/status zamiast tego pliku.

              (33) sigignore  %lu
                        Maska bitowa ignorowanych sygnałów, wyświetlana jako  liczba  dziesiętna.
                        Przestarzałe,   ponieważ  nie  dostarcza  informacji  o  sygnałach  czasu
                        rzeczywistego; prosimy używać /proc/[pid]/status zamiast tego pliku.

              (34) sigcatch  %lu
                        Maska bitowa schwytanych sygnałów, wyświetlana  jako  liczba  dziesiętna.
                        Przestarzałe,   ponieważ  nie  dostarcza  informacji  o  sygnałach  czasu
                        rzeczywistego; prosimy używać /proc/[pid]/status zamiast tego pliku.

              (35) wchan  %lu
                        Jest to "kanał" na którym oczekuje proces.  Jest  to  adres  położenia  w
                        jądrze,  gdzie  proces jest w uśpieniu. Powiązaną nazwę symboliczną można
                        znaleźć w /proc/[pid]/wchan.

              (36) nswap  %lu
                        Liczba stron, które uległy wymianie (nieutrzymywane).

              (37) cnswap  %lu
                        Łączna wartość nswap dla procesów potomnych (nieutrzymywane).

              (38) exit_signal  %d  (od Linuksa 2.1.22)
                        Sygnał wysyłany przez ginący proces do jego procesu macierzystego.

              (39) processor  %d  (od Linuksa 2.2.8)
                        Numer CPU, na którym proces ostatnio działał.

              (40) rt_priority  %u  (od Linuksa 2.5.19)
                        Priorytet planisty czasu rzeczywistego, liczba w zakresie od 1 do  99  do
                        procesów  przydzielanych  według  zasad  czasu  rzeczywistego  lub  0  do
                        procesów nie czasu rzeczywistego (patrz sched_setscheduler(2)).

              (41) policy  %u  (od Linuksa 2.5.19)
                        Polityka    przydzielania     zadaniom     czasu     procesora     (patrz
                        sched_setscheduler(2)).    Dekodowana    używając   stałych   SCHED_*   w
                        linux/sched.h.

                        Format tego pola przed Linuksem 2.6.22 miał postać %lu.

              (42) delayacct_blkio_ticks  %llu  (od Linuksa 2.6.18)
                        Sumaryczna zwłoka  bloków  wejścia/wyjścia,  mierzona  w  taktach  zegara
                        (centysekundy).

              (43) guest_time  %lu  (od Linuksa 2.6.24)
                        Czas  gościa  procesu (czas, jaki upłynął podczas działania na wirtualnym
                        procesorze  systemu  operacyjnego  gościa),  mierzony  w  taktach  zegara
                        (podzielony przez sysconf(_SC_CLK_TCK)

              (44) cguest_time  %ld  (od Linuksa 2.6.24)
                        Czas gościa potomków procesu, mierzony w taktach zegara (podzielony przez
                        sysconf(_SC_CLK_TCK)).

              (45) start_data  %lu  (od Linuksa 3.3)
                        Adres powyższej którego umieszczane  są  zainicjowane  i  niezainicjowane
                        (BSS) dane programu.

              (46) end_data  %lu  (od Linuksa 3.3)
                        Adres poniżej którego umieszczane są zainicjowane i niezainicjowane (BSS)
                        dane programu.

              (47) start_brk  %lu  (od Linuksa 3.3)
                        Adres,  powyżej  którego  można  rozciągnąć   kopiec   (ang.   heap)   za
                        pomocą brk(2).

              (48) arg_start  %lu  (od Linuksa 3.5)
                        Adres powyżej którego umieszczane są argumenty wiersza polecenia programu
                        (argv).

              (49) arg_end  %lu  (od Linuksa 3.5)
                        Adres poniżej którego umieszczane są argumenty wiersza polecenia programu
                        (argv).

              (50) env_start  %lu  (od Linuksa 3.5)
                        Adres powyżej którego umieszczane jest środowisko programu.

              (51) env_end  %lu  (od Linuksa 3.5)
                        Adres poniżej którego umieszczane jest środowisko programu.

              (52) exit_code  %d  (od Linuksa 3.5)
                        Kod zakończenia wątku w postaci przekazywanej przez waitpid(2).

       /proc/[pid]/statm
              Udostępnia  informacje o użyciu pamięci, mierzone w stronach. Występują następujące
              kolumny:

                  size       (1) łączny rozmiar programu
                             (taki sam jak VmSize w /proc/[pid]/status)
                  resident   (2) rozmiar części rezydentnej
                             (taki sam jak VmRSS w /proc/[pid]/status)
                  share      (3) strony wspólne (tzn. obecne w pliku)
                  text       (4) tekst (kod)
                  lib        (5) biblioteki (nieużywane w Linuksie 2.6)
                  data       (6) dane i stos
                  dt         (7) strony nieaktualne (dirty; nieużywane w Linuksie 2.6)

       /proc/[pid]/status
              Udostępnia sporo informacji  ze  /proc/[pid]/stat  i  /proc/[pid]/statm  w  postaci
              łatwiejszej do przeanalizowania przez człowieka. Oto przykład:

                  $ 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

              Występują następujące pola:

              * Name: Polecenie uruchomione przez ten proces.

              * State:  Bieżący  stan  procesu.  Jeden z: "R (running)", "S (sleeping)", "D (disk
                sleep)", "T (stopped)", "T (tracing stop)", "Z (zombie)", or "X (dead)".

              * Tgid: identyfikator grupy wątku (np. identyfikator procesu).

              * Pid: identyfikator wątku (patrz gettid(2)).

              * PPid: PID procesu macierzystego.

              * TracerPid: PID procesu śledzącego ten proces (0 gdy nie jest śledzony).

              * Uid, Gid: UID (GID): realny, efektywny, zapisany oraz systemu plików.

              * FDSize: Liczba slotów aktualnie przydzielonych deskryptorów plików.

              * Groups: Uzupełniająca lista grup.

              * VmPeak: Szczytowy rozmiar pamięci wirtualnej.

              * VmSize: Rozmiar pamięci wirtualnej.

              * VmLck: Rozmiar pamięci zablokowanej (patrz mlock(3)).

              * VmHWM: Szczytowy ustawiony rozmiar rezydentny ("high water mark").

              * VmRSS: Ustawiony rozmiar rezydentny.

              * VmData, VmStk, VmExe: Rozmiar segmentów danych, stosu i tekstu.

              * VmLib: Rozmiar kodu biblioteki współdzielonej.

              * VmPTE: Rozmiar wpisów tablicy strony (od Linuksa 2.6.10).

              * Threads: Liczba wątków w procesie zawierających ten wątek.

              * SigQ: Pole zawiera dwie  liczby  oddzielone  ukośnikiem,  które  odnoszą  się  do
                skolejkowanych  sygnałów  do  realnego  identyfikatora  użytkownika tego procesu.
                Pierwsza  jest  liczbą  aktualnie  skolejkowanych  sygnałów  do   tego   realnego
                identyfikatora  użytkownika,  a  druga jest limitem zasobów liczby skolejkowanych
                sygnałów do tego procesu (patrz opis RLIMIT_SIGPENDING w getrlimit(2)).

              * SigPnd, ShdPnd: Liczba sygnałów oczekujących na wątek i  na  proces  jako  całość
                (patrz pthreads(7) i signal(7)).

              * SigBlk, SigIgn, SigCgt: Maski oznaczające zablokowane, zignorowane i przechwycone
                sygnały (patrz signal(7)).

              * CapInh, CapPrm, CapEff: Maski możliwości, włączonych w  zestawach  dziedziczonych
                (inheritable),   dozwolonych   (permitted)   i   efektywnych  (effective)  (patrz
                capabilities(7)).

              * CapBnd: Zestaw możliwości ograniczających (capability  bounding  set)  (od  jądra
                2.6.26, patrz capabilities(7)).

              * Cpus_allowed:  Maska  procesorów,  na  których  proces  może  być uruchomiony (od
                Linuksa 2.6.24, patrz cpuset(7)).

              * Cpus_allowed_list: Jak wyżej, ale w "formacie listy" (od  Linuksa  2.6.26,  patrz
                cpuset(7)).

              * Mems_allowed:  Maska  węzłów  pamięci,  dozwolonych  dla tego procesu (od Linuksa
                2.6.24, patrz cpuset(7)).

              * Mems_allowed_list: Jak wyżej, ale w "formacie listy" (od  Linuksa  2.6.26,  patrz
                cpuset(7)).

              * voluntary_ctxt_switches,   nonvoluntary_ctxt_switches:   Liczba   dobrowolnych  i
                przymusowych przełączeń kontekstu (od Linuksa 2.6.23).

       /proc/[pid]/syscall (od Linuksa 2.6.27)
              Plik udostępnia numer wywołania  systemowego  i  rejestr  argumentu  dla  aktualnie
              wykonywanego  przez  proces  wywołania  systemowego,  po  którym następują wartości
              wskaźnika stosu i rejestry liczników programu. Udostępnianych jest wszystkie  sześć
              rejestrów  argumentu,  choć  większość  wywołań  systemowych używa mniejszej liczby
              rejestrów.

              Jeśli proces jest zablokowany, lecz nie w wywołaniu  systemowym,  to  plik  zawiera
              wartość  -1  w  miejscu  numeru wywołania systemowego, po którym następują wartości
              wskaźnika stosu i licznika programu. Jeśli proces nie  jest  zablokowany,  to  plik
              zawiera łańcuch "running".

              Obecne tylko, jeśli jądro zostało skonfigurowane z CONFIG_HAVE_ARCH_TRACEHOOK.

       /proc/[pid]/task (od Linuksa 2.6.0-test6)
              Jest  to katalog zawierający po jednym podkatalogu dla każdego wątku procesu. Nazwą
              każdego podkatalogu jest numeryczne ID ([tid]) wątku  (patrz  gettid(2)).  Każdy  z
              podkatalogów  zawiera  zbiór  plików  o  tej samej nazwie i zawartości, co katalogi
              /proc/[pid]. Dla atrybutów, które są współdzielone przez wszystkie wątki  zawartość
              każdego  z  plików  w  podkatalogach  task/[tid]  będzie  taka  sama  jak zawartość
              odpowiednich plików w nadrzędnym katalogu /proc/[pid] (np. w procesie wielowątkowym
              wszystkie   pliki   task/[tid]/cwd   będą  miały  taką  samą  zawartość,  jak  plik
              /proc/[pid]/cwd w katalogu nadrzędnym,  ponieważ  wszystkie  wątki  procesu  dzielą
              katalog  bieżący).  Dla  atrybutów,  które  dla każdego wątku są różne, odpowiednie
              pliki wtask/[tid] mogą mieć różne wartości  (np.  różne  pola  w  każdym  z  plików
              task/[tid]/status mogą być inne dla każdego wątku).

              W  procesie  wielowątkowym  zawartość katalogu /proc/[pid]/task  nie jest dostępna,
              jeżeli   wątek   główny   już   się   zakończył    (najprawdopodobniej    wywołując
              pthread_exit(3)).

       /proc/[pid]/wchan (od Linuksa 2.6.0)
              Nazwa symboliczna odnosząca się do położenia, gdzie proces jest w uśpieniu.

       /proc/apm
              Wersja  APM (Zaawansowane zarządzanie energią) oraz informacja o akumulatorach, gdy
              CONFIG_APM było zdefiniowane podczas kompilacji jądra.

       /proc/bus
              Zawiera podkatalogi odpowiadające zainstalowanym magistralom.

       /proc/bus/pccard
              Podkatalog  dla  urządzeń  PCMCIA,  gdy  CONFIG_PCMCIA  było  zdefiniowane  podczas
              kompilacji jądra.

       /proc/[pid]/timers (od Linuksa 3.10)
              Lista  liczników  czasu  POSIX  dla procesu. Każdy licznik jest wypisany w wierszu,
              który rozpoczyna się łańcuchem "ID:". Na przykład:

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

              Wiersze dla każdego licznika mają następujące znaczenie:

              ID     Identyfikator danego licznika czasu. Nie jest to ten sam  identyfikator,  co
                     ten   zwracany   przez   timer_create(2),   lecz   jest  to  wewnątrzjądrowy
                     identyfikator dostępny również za pomocą pola si_timerid struktury siginfo_t
                     (zob. sigaction(2)).

              signal Numer  sygnału  używany  przez  dany licznik do dostarczania powiadomień, po
                     którym  następuje  ukośnik   a   następnie   wartość   sigev_value.sival_ptr
                     dostarczana   do   obsługiwacza  sygnału.  Poprawne  jedynie  dla  liczników
                     powiadamiających za pomocą sygnału.

              notify Część przed ukośnikiem określa mechanizm używany przez dany licznik czasu do
                     dostarczania  powiadomień,  który  jest  jedną  z wartości "thread" (wątek),
                     "signal" (sygnał) lub "none" (brak). Zaraz po ukośniku znajduje się  łańcuch
                     "tid"   dla  liczników  z  powiadomieniami  SIGEV_THREAD_ID  lub  "pid"  dla
                     liczników z innymi mechanizmami  powiadamiania.  Po  "."  znajduje  się  PID
                     procesu któremu będzie dostarczany sygnał, jeśli licznik czasu powiadamia za
                     pomocą sygnału.

              ClockID
                     Pole identyfikuje zegar, którego dany licznik czasu używa do pomiaru  czasu.
                     W  większości  zegarów  jest  to  liczba  która  pasuje do jednej ze stałych
                     CLOCK_*  w  przestrzeni  użytkownika  udostępnianych  za  pomocą   <time.h>.
                     Liczniki  CLOCK_PROCESS_CPUTIME_ID  wyświetlają  tu  wartość  -6,  natomiast
                     CLOCK_THREAD_CPUTIME_ID wyświetlają wartość -2.

       /proc/bus/pccard/drivers

       /proc/bus/pci
              Zawiera różne podkatalogi  magistral  oraz  pseudopliki  zawierające  informacje  o
              magistralach PCI, zainstalowanych urządzeniach oraz sterownikach urządzeń. Niektóre
              z tych plików nie są w postaci ASCII.

       /proc/bus/pci/devices
              Informacje o urządzeniach PCI. Dostęp do nich może się odbywać poprzez  lspci(8)  i
              setpci(8).

       /proc/cmdline
              Argumenty  przekazane  jądru  Linux podczas startu systemu. Zazwyczaj odbywa się to
              poprzez zarządcę startu systemu, takiego jak lilo(8) lub grub(8).

       /proc/config.gz (od Linuksa 2.6)
              Plik pokazuje opcje  konfiguracyjne,  które  były  użyte  do  zbudowania  aktualnie
              działającego  jądra,  w  tym  samym formacie, jaki jest używany przez plik .config,
              który jest wynikiem konfiguracji  jądra  (używając  make  xconfig,  make  config  i
              podobnych  poleceń).  Zawartość  pliku  jest  skompresowana;  można ją odczytać lub
              wyszukać za pomocą zcat(1) i zgrep(1). Tak długo jak nie zostały dokonane zmiany  w
              poniższym  pliku,  zawartość  /proc/config.gz  jest  taka  sama jak ta udostępniona
              przez:

                  cat /lib/modules/$(uname -r)/build/.config

              /proc/config.gz jest udostępniany wyłącznie wtedy, gdy jądro jest skonfigurowane  z
              CONFIG_IKCONFIG_PROC.

       /proc/cpuinfo
              Jest  to  zbiór  elementów  zależnych  od  CPU  i  architektury systemu; dla każdej
              wspieranej architektury jest inna lista. Dwa popularne wpisy to:  processor,  który
              udostępnia  numer  CPU  oraz  bogomips;  jest to stała systemowa, wyliczona podczas
              inicjalizacji jądra. Maszyny  SMP  zawierają  informacje  o  każdym  z  procesorów.
              Polecenie lscpu(1) zbiera ich informacje z tego pliku.

       /proc/devices
              Listing  tekstowy  numerów  głównych  oraz  grup  urządzeń. Może to służyć skryptom
              MAKEDEV do zachowania spójności z jądrem.

       /proc/diskstats (od wersji Linuksa 2.5.69)
              Plik zawiera statystyki operacji wejścia/wyjścia dla każdego urządzenia  dyskowego.
              Dalsze  informacje można znaleźć w pliku Documentation/iostats.txt w źródłach jądra
              Linux.

       /proc/dma
              Jest listą zarejestrowanych i używanych kanałów DMA (direct  memory  access)  szyny
              ISA.

       /proc/driver
              Pusty podkatalog.

       /proc/execdomains
              Lista  domen  uruchamiania  (wcieleń  ABI  [Application  Binary  Interface - przyp.
              tłum.]).

       /proc/fb
              Informacje o buforze ramki, o ile podczas kompilacji jądra zdefiniowano CONFIG_FB.

       /proc/filesystems
              Tekstowa lista systemów plików obsługiwanych przez  jądro,  a  konkretnie  systemów
              plików,  które  zostały  wkompilowane  w  jądro lub których moduły jądra są obecnie
              załadowane (patrz również filesystems(5)). Jeśli system plików jest oznaczony  jako
              "nodev" oznacza to, że nie wymaga on zamontowania urządzenia blokowego (np. jest to
              wirtualny lub sieciowy system plików).

              Plik ten może być niekiedy użyty przez mount(8), gdy nie podano systemów  plików  i
              nie  potrafi  on  określić typu systemu plików. Próbowane są wówczas systemy plików
              wypisane w tym pliku (poza systemami z oznaczeniem "nodev").

       /proc/fs
              Zawiera podkatalogi, które w kolejności zawierają pliki z informacjami o  (pewnych)
              zamontowanych systemach plików.

       /proc/ide
              Katalog  ten  istnieje  w systemach zawierających magistralę IDE. Zawiera po jednym
              katalogu dla każdego kanału IDE oraz dla przyłączonych urządzeń. Wśród plików są:

                  cache              rozmiar bufora w KB
                  capacity           liczba sektorów
                  driver             wersja sterownika
                  geometry           geometria fizyczna i logiczna
                  identify           szesnastkowo
                  media              rodzaj nośnika
                  model              numer modelu producenta
                  settings           ustawienia napędu
                  smart_thresholds   szesnastkowo
                  smart_values       szesnastkowo

              Dostęp do tych informacji  w  przyjaznym  formacie  umożliwia  program  narzędziowy
              hdparm(8).

       /proc/interrupts
              Plik   jest  używany  do  zapisania  liczby  przerwań  na  procesor  na  urządzenie
              wejścia/wyjścia. Od Linuksa 2.6.24,  przynajmniej  do  architektur  i386  i  x86_64
              zawiera  on  również  przerwania  wewnętrznosystemowe  (to  znaczy  nie  związane z
              urządzeniem jako takim), takie jak NMI (nonmaskable interrupt),  LOC  (local  timer
              interrupt)  i  do  systemów  SMP:  TLB  (TLB  flush  interrupt),  RES (rescheduling
              interrupt), CAL (remote function call interrupt),  mogą  również  występować  inne.
              Formatowanie jest bardzo czytelne do odczytu, wykonane w ASCII.

       /proc/iomem
              Odwzorowanie portów we/wy w pamięci w Linuksie 2.4.

       /proc/ioports
              Jest to lista obecnie zarejestrowanych i używanych obszarów portów we/wy.

       /proc/kallsyms (od wersji Linuksa 2.5.71)
              Zawiera  wyeksportowane  przez  jądro  definicje  symboli,  które  są używane przez
              narzędzia modules(X) do dynamicznego podłączania ładowanych modułów. W wersji jądra
              Linux  2.5.47  i  wcześniejszych  podobny  plik  z troszkę odmienną zawartością był
              nazwany ksyms.

       /proc/kcore
              Plik ten reprezentuje pamięć fizyczną systemu i jest  zachowany  w  formacie  pliku
              core  dla  ELF.  Korzystając  z tego pseudopliku oraz z niezestripowanego binarnego
              pliku jądra (/usr/src/linux/vmlinux), można za pomocą GDB  testować  aktualny  stan
              dowolnej struktury danych jądra.

              Całkowity rozmiar tego pliku to rozmiar fizycznej pamięci (RAM) plus 4 KB.

       /proc/kmsg
              Plik  ten  może  służyć  do  odczytu  komunikatów jądra, zamiast funkcji systemowej
              syslog(2). Aby odczytać ten plik, proces musi mieć uprawnienia  superużytkownika  i
              tylko  jeden  proces powinien dokonywać jego odczytu. Pliku tego nie należy czytać,
              gdy  działa  proces  syslog,  korzystający  z  funkcji  systemowej   syslog(2)   do
              rejestrowania komunikatów jądra.

              Z tego pliku pobiera komunikaty program dmesg(1).

       /proc/kpagecount (od Linuksa 2.6.25)
              Plik  zawiera  64-bitowy licznik wskazujący ile razy zmapowano każdą z ramek strony
              fizycznej, indeksowaną numerem ramki strony (zob. opis w /proc/[pid]/pagemap).

              Plik /proc/kpagecount istnieje tylko jeśli podczas kompilacji jądra włączono  opcję
              CONFIG_PROC_PAGE_MONITOR.

       /proc/kpageflags (od Linuksa 2.6.25)
              Plik  zawiera  64-bitowe  maski  odpowiadające  każdej  z  ramek  strony fizycznej;
              indeksowanej  numerem  ramki  strony  (zob.  opis   w   /proc/[pid]/pagemap).   Oto
              zestawienie poszczególnych bitów:

                   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           (od Linuksa 2.6.31)
                  12 - KPF_ANON           (od Linuksa 2.6.31)
                  13 - KPF_SWAPCACHE      (od Linuksa 2.6.31)
                  14 - KPF_SWAPBACKED     (od Linuksa 2.6.31)
                  15 - KPF_COMPOUND_HEAD  (od Linuksa 2.6.31)
                  16 - KPF_COMPOUND_TAIL  (od Linuksa 2.6.31)
                  16 - KPF_HUGE           (od Linuksa 2.6.31)
                  18 - KPF_UNEVICTABLE    (od Linuksa 2.6.31)
                  19 - KPF_HWPOISON       (od Linuksa 2.6.31)
                  20 - KPF_NOPAGE         (od Linuksa 2.6.31)
                  21 - KPF_KSM            (od Linuksa 2.6.32)
                  22 - KPF_THP            (od Linuksa 3.4)

              Więcej  informacji  o  znaczeniu  tych  bitów  znajduje  się  w  pliku źródeł jądra
              Documentation/vm/pagemap.txt.     Przed    wersją 2.6.29    jądra    KPF_WRITEBACK,
              KPF_RECLAIM, KPF_BUDDY i KPF_LOCKED nie były poprawnie zgłaszane.

              Plik  /proc/kpageflags istnieje tylko jeśli podczas kompilacji jądra włączono opcję
              CONFIG_PROC_PAGE_MONITOR.

       /proc/ksyms (Linux 1.1.23-2.5.47)
              Patrz /proc/kallsyms.

       /proc/loadavg
              Pierwsze trzy pola w tym  pliku  zawierają  średnie  obciążenie  (loadavg)  podając
              informację  o  średniej  liczbie  zadań  uruchomionych (stan R) oraz czekających na
              dyskowe operacje wejścia/wyjścia (stan D)  w ciągu ostatnich 1, 5  i 15  minut.  Są
              to  te  same wartości średniego obciążenia, które podaje uptime(1) i inne programy.
              Czwarte pole zawiera  dwie  liczby  oddzielone  od  siebie  znakiem  ukośnika  (/).
              Pierwsza  z nich jest liczbą obecnie wykonywanych zadań (procesów, wątków). Wartość
              za ukośnikiem jest liczbą zadań,  obecnych  w  systemie.  Piąte  pole  zawiera  PID
              najnowszego ostatnio utworzonego procesu w systemie.

       /proc/locks
              Plik  ten  pokazuje  aktualne  blokady  plików (flock(2) i fcntl(2)) oraz dzierżawy
              (fcntl(2)).

       /proc/malloc (tylko do wersji 2.2 Linuksa włącznie)
              Ten plik istnieje tylko jeśli podczas kompilacji zdefiniowano CONFIG_DEBUG_MALLOC.

       /proc/meminfo
              Plik zawiera statystyki  nt.  użycia  pamięci  w  systemie.  Używa  go  free(1)  do
              wskazania  wielkości  wolnej  i  użytej pamięci (zarówno fizycznej jak i wymiany) w
              systemie jak również pamięci dzielonej  i  buforów  używanych  przez  jądro.  Każdy
              wiersz  składa  się  z nazwy parametru, dwukropka, wartości parametru i opcjonalnej
              jednostki pomiaru (np. "kB"). Poniższa lista  opisuje  nazwy  parametrów  i  format
              wymagany do odczytu wartości pól. Z wyjątkiem wyraźnie wskazanych pól, wszystkie są
              obecne od co najmniej Linuksa 2.6.0. Część pól jest wyświetlanych tylko jeśli jądro
              zostało  skonfigurowane  z  pewnymi  opcjami,  te  zależności  zaznaczono wówczas w
              opisie.

              MemTotal %lu
                     Całkowity użyteczny RAM (tzn. pamięć fizyczna RAM  -  kilka  zarezerwowanych
                     bitów i kod binarny jądra).

              MemFree %lu
                     Suma LowFree+HighFree.

              Buffers %lu
                     Relatywnie tymczasowe miejsce przechowywania surowych bloków dyskowych które
                     nie powinno być zbyt duże (rzędu 20 MB).

              Cached %lu
                     Bufor w pamięci przeznaczony na plik odczytane z dysku (bufora strony).  Nie
                     obejmuje SwapCached.

              SwapCached %lu
                     Pamięć, która została przeniesiona do pamięci wymiany jest później pobierana
                     do pamięci i pozostawiana jednocześnie w  pliku  wymiany  (jeśli  jest  duże
                     zapotrzebowanie  na  pamięć, te strony nie muszą być ponownie przenoszone do
                     pamięci wymiany, ponieważ już znajdują się w pliku wymiany. Unika się w  ten
                     sposób zbędnych operacji wejścia/wyjścia).

              Active %lu
                     Pamięć  która  była  ostatnio  używana.  Z  reguły nie jest odzyskiwana poza
                     absolutnie koniecznymi przypadkami.

              Inactive %lu
                     Pamięć która była ostatnio słabiej używana. Nadaje się w większym stopniu do
                     odzyskania do innych celów.

              Active(anon) %lu (od Linuksa 2.6.28)
                     [do udokumentowania]

              Inactive(anon) %lu (od Linuksa 2.6.28)
                     [do udokumentowania]

              Active(file) %lu (od Linuksa 2.6.28)
                     [do udokumentowania]

              Inactive(file) %lu (od Linuksa 2.6.28)
                     [do udokumentowania]

              Unevictable %lu (od Linuksa 2.6.28)
                     (Od  Linuksa  2.6.28  do  2.6.30  wymagane było CONFIG_UNEVICTABLE_LRU)  [do
                     udokumentowania]

              Mlocked %lu (od Linuksa 2.6.28)
                     (Od Linuksa 2.6.28 do  2.6.30  wymagane  było  CONFIG_UNEVICTABLE_LRU)   [do
                     udokumentowania]

              HighTotal %lu
                     (od  Linuksa 2.6.19 wymagane jest CONFIG_HIGHMEM) Całkowita wielkość pamięci
                     highmem. Jest to pamięć powyżej ~860MB pamięci fizycznej. Obszary highmem są
                     przeznaczone  do  użycia  przez programy w przestrzeni użytkownika lub przez
                     bufor strony. Jądro musi używać pewnych sztuczek aby uzyskać dostęp  do  tej
                     pamięci, co czyni dostęp wolniejszym niż do pamięci lowmem.

              HighFree %lu
                     (od  Linuksa  2.6.19  wymagane  jest CONFIG_HIGHMEM) Wielkość wolnej pamięci
                     highmem.

              LowTotal %lu
                     (od Linuksa 2.6.19 wymagane jest CONFIG_HIGHMEM) Wielkość całkowita  pamięci
                     lowmem.  Lowmem  to pamięć którą można użyć do tych samych celów co highmem,
                     lecz jest również dostępna dla wewnętrznych struktur danych jądra.  Jest  to
                     między  innymi  miejsce,  gdzie  przydzielane  jest  wszystko  ze  Slab. Gdy
                     zabraknie pamięci lowmem należy się spodziewać złych wiadomości.

              LowFree %lu
                     (od Linuksa 2.6.19 wymagane jest  CONFIG_HIGHMEM)  Wielkość  wolnej  pamięci
                     lowmem.

              MmapCopy %lu (od Linuksa 2.6.29)
                     (wymagane jest CONFIG_MMU)  [do udokumentowania]

              SwapTotal %lu
                     Całkowita wielkość dostępnej pamięci wymiany.

              SwapFree %lu
                     Wielkość aktualnie nieużywanej pamięci wymiany.

              Dirty %lu
                     Pamięć czekająca na ponowny zapis na dysk.

              Writeback %lu
                     Pamięć zapisywana obecnie na dysk.

              AnonPages %lu (od Linuksa 2.6.18)
                     Strony  nie  mające  zapasu  w  postaci  pliku  zmapowane  do  tabel stron w
                     przestrzeni użytkownika.

              Mapped %lu
                     Pliki które zostały zmapowane do pamięci (za pomocą mmap(2)) np. biblioteki.

              Shmem %lu (od Linuksa 2.6.32)
                     [do udokumentowania]

              Slab %lu
                     Wewnętrzny bufor jądra przeznaczony na jego struktury danych.

              SReclaimable %lu (od Linuksa 2.6.19)
                     Część Slab, która może być przypisana ponownie, taka jak pamięć podręczna.

              SUnreclaim %lu (od Linuksa 2.6.19)
                     Część Slab niemogąca być przypisana ponownie przy małej ilości pamięci.

              KernelStack %lu (od Linuksa 2.6.32)
                     Wielkość pamięci przypisana do stosów jądra.

              PageTables %lu (od Linuksa 2.6.18)
                     Wielkość pamięci przypisana do najniższego poziomu tabel stron.

              Quicklists %lu (od Linuksa 2.6.27)
                     (wymagane jest CONFIG_QUICKLIST)  [do udokumentowania]

              NFS_Unstable %lu (od Linuksa 2.6.18)
                     Strony NFS wysłane do serwera, lecz  jeszcze  nie  wprowadzone  na  stabilny
                     nośnik.

              Bounce %lu (od Linuksa 2.6.18)
                     Pamięć używana do urządzenia blokowego "bounce buffer".

              WritebackTmp %lu (od Linuksa 2.6.26)
                     Pamięć  używana  przez  FUSE  do tymczasowych buforów pamięci z buforowaniem
                     zapisu.

              CommitLimit %lu (od Linuksa 2.6.10)
                     Jest to całkowita wielkość pamięci  dostępnej  obecnie  do  przydzielenia  w
                     systemie  wyrażona  w  kilobajtach.  Limit  jest  przestrzegany  jedynie gdy
                     włączono     ścisłe     rozliczanie     overcommitu      (tryb      2      w
                     /proc/sys/vm/overcommit_memory).  Limit  jest  obliczany  na podstawie wzoru
                     opisanego przy /proc/sys/vm/overcommit_memory.  Więcej  informacji  znajduje
                     się w pliku źródeł jądra Documentation/vm/overcommit-accounting.

              Committed_AS %lu
                     Wielkość  pamięci  obecnie  przypisanej  w  systemie.  Jest  to suma pamięci
                     zaalokowanej przez procesy, nawet jeśli  jej  jeszcze  nie  "użyły".  Proces
                     alokujący  1  GB  pamięci  (za  pomocą  malloc(3) lub podobnej konstrukcji),
                     używający jedynie 300 MB  pamięci,  będzie  pokazywał  użycie  tych  300  MB
                     pamięci, nawet jeśli przydzielił przestrzeń adresową dla całego 1 GB.

                     Ten  1  GB  to pamięć "zatwierdzona" przez VM, która może być użyta przez tę
                     aplikację w dowolnym czasie. Gdy włączone jest ścisły overcommit (tryb  2  w
                     /proc/sys/vm/overcommit_memory)  alokacja  która  przekroczyłaby CommitLimit
                     jest niedozwolona. Jest to  przydatne  do  zagwarantowania,  że  proces  nie
                     zawiedzie z powodu braku pamięci po jej poprawnym przydzieleniu.

              VmallocTotal %lu
                     Całkowity rozmiar obszaru pamięci vmalloc.

              VmallocUsed %lu
                     Wielkość używanego obszaru vmalloc.

              VmallocChunk %lu
                     Największy wolny ciągły blok obszaru vmalloc.

              HardwareCorrupted %lu (od Linuksa 2.6.32)
                     (wymagane jest CONFIG_MEMORY_FAILURE)  [do udokumentowania]

              AnonHugePages %lu (od Linuksa 2.6.38)
                     (wymagane  jest CONFIG_TRANSPARENT_HUGEPAGE) Duże strony nie mające zapasu w
                     postaci pliku zmapowane do tabel stron w przestrzeni użytkownika.

              HugePages_Total %lu
                     (wymagane jest CONFIG_HUGETLB_PAGE) Rozmiar puli dużych stron.

              HugePages_Free %lu
                     (wymagane jest CONFIG_HUGETLB_PAGE) Liczba dużych stron w puli, które nie są
                     jeszcze przydzielone.

              HugePages_Rsvd %lu (od Linuksa 2.6.17)
                     (wymagane  jest  CONFIG_HUGETLB_PAGE)  Jest  to  liczba  dużych  stron które
                     przeznaczono do przydzielenia z puli, lecz jeszcze jej  nie  przeprowadzono.
                     Zarezerwowane duże strony gwarantują, że aplikacja będzie w stanie przypisać
                     taką stronę w razie błędu.

              HugePages_Surp %lu (od Linuksa 2.6.24)
                     (wymagane jest CONFIG_HUGETLB_PAGE) Jest  to  liczba  dużych  stron  z  puli
                     powyżej   wartości  /proc/sys/vm/nr_hugepages.  Maksymalna  liczba  nadwyżki
                     dużych stron jest kontrolowana przez /proc/sys/vm/nr_overcommit_hugepages.

              Hugepagesize %lu
                     (wymagane jest CONFIG_HUGETLB_PAGE) Rozmiar dużych stron.

       /proc/modules
              Tekstowa lista modułów, które załadowano w systemie. Zobacz także lsmod(8).

       /proc/mounts
              Przed jądrem 2.4.19 plik ten był listą  wszystkich  systemów  plików  zamontowanych
              aktualnie w systemie. Wraz z wprowadzeniem przestrzeni nazw montowań przydzielanych
              dla procesu w Linuksie 2.4.19, plik ten stał się dowiązaniem do  /proc/self/mounts,
              który  zawiera listę punktów montowań we własnej przestrzeni nazw montowań procesu.
              Format tego pliku jest opisany w fstab(5).

       /proc/mtrr
              Memory Type Range Registers. Szczegóły można znaleźć w  pliku  źródeł  jądra  Linux
              Documentation/mtrr.txt.

       /proc/net
              Różne  sieciowe  pseudopliki, z których wszystkie podają stan pewnej części warstwy
              sieciowej. Plik ten zawiera struktury ASCII i dlatego  nadaje  się  do  odczytu  za
              pomocą  cat(1).  Jednak  standardowy pakiet netstat(8) daje dużo czystszy dostęp do
              tych plików.

       /proc/net/arp
              Zawiera zrzut tabeli ARP jądra  używanej  do  rozwiązywania  adresów,  w  czytelnej
              postaci  ASCII.  Pokazane  zostaną  zarówno  wyuczone  dynamicznie,  jak i wstępnie
              zaprogramowane wpisy w tabeli ARP. Format jest następujący:

        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

              Gdzie "IP address" jest adresem IPv4 maszyny, a "HW type" jest rodzajem sprzętu  wg
              RFC 826.   "Flags"  są  to  wewnętrzne  znaczniki  struktury  ARP  (zdefiniowane  w
              /usr/include/linux/if_arp.h),  a  "HW  address"  jest  odwzorowaniem  adresu  IP  w
              warstwie fizycznej, jeśli jest ono określone.

       /proc/net/dev
              Pseudoplik  dev  zawiera  informacje  o stanie urządzenia sieciowego. Zawierają one
              liczbę otrzymanych  i  wysłanych  pakietów,  liczbę  błędów  i  kolizji  oraz  inne
              podstawowe statystyki. Informacje te są wykorzystywane przez program ifconfig(8) do
              informowania o stanie urządzenia. Format jest następujący:

 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
              Zdefiniowany w /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
              Internetowy      Protokół      Zarządzania      Grupami.       Zdefiniowany       w
              /usr/src/linux/net/core/igmp.c.

       /proc/net/rarp
              Plik  ten  ma  ten  sam  format,  co  plik  arp  i zawiera aktualną bazę odwrotnych
              odwzorowań, używaną do udostępniania usług odwrotnego poszukiwania adresów rarp(8).
              Jeśli RARP nie jest skonfigurowane w jądrze, to plik ten nie będzie istniał.

       /proc/net/raw
              Zawiera   zrzut  tabeli  gniazd  surowych  (RAW).  Większość  informacji  nie  jest
              przeznaczona do użytku innego niż odpluskwiania. Wartość "sl" jest slotem mieszania
              jądra  dla  gniazda,  "local_address" jest parą składającą się z lokalnego adresu i
              numeru protokołu. "st" jest stanem wewnętrznym gniazda. "tx_queue" i "rx_queue"  są
              kolejkami  danych  przychodzących  i  wychodzących, w sensie zużycia pamięci jądra.
              Pola "tr", "tm->when" i "rexmits" nie są używane przez gniazda surowe.  Pole  "uid"
              zawiera efektywny UID twórcy gniazda.

       /proc/net/snmp
              Ten  plik zawiera dane ASCII potrzebne bazom agenta SNMP zarządzającym informacjami
              o IP, ICMP, TCP i UDP.

       /proc/net/tcp
              Zawiera zrzut tabeli gniazd TCP. Wiele informacji nie przydaje się do  użytku  poza
              odpluskwianiem.   Wartość   "sl"   jest   slotem   mieszania   jądra  dla  gniazda,
              "local_address" jest parą  składającą  się  z  lokalnego  adresu  i  numeru  portu.
              "rem_address"  jest  parą  składającą  się ze zdalnego adresu i numeru portu (jeśli
              gniazdo jest podłączone).  "St"  jest  stanem  wewnętrznym  gniazda.  "tx_queue"  i
              "rx_queue"  są  kolejkami  danych  przychodzących  i  wychodzących w sensie zużycia
              pamięci jądra. Pola "tr", "tm-when" i "rexmits" zawierają wewnętrzne  informacje  o
              stanie  gniazda  w jądrze i są przydatne tylko do odpluskwiania. Pole "uid" zawiera
              efektywny UID twórcy gniazda.

       /proc/net/udp
              Zawiera zrzut tabeli gniazd UDP. Wiele informacji nie przydaje się do  użytku  poza
              odpluskwianiem.   Wartość   "sl"   jest   slotem   mieszania   jądra  dla  gniazda,
              "local_address" jest parą  składającą  się  z  lokalnego  adresu  i  numeru  portu.
              "rem_address"  jest  parą  składającą  się ze zdalnego adresu i numeru portu (jeśli
              gniazdo jest podłączone).  "st"  jest  stanem  wewnętrznym  gniazda.  "tx_queue"  i
              "rx_queue"  są  kolejkami  danych  przychodzących  i  wychodzących w sensie zużycia
              pamięci jądra. Pola "tr", "tm-when" i "rexmits" nie są  używane  w  gniazdach  UDP.
              Pole "uid" zawiera efektywny UID twórcy gniazda. Format jest następujący:

 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
              Wymienia  gniazda  domeny  UNIX,  obecne  w  systemie  oraz  ich  stan. Format jest
              następujący:
              Num RefCount Protocol Flags    Type St Path
               0: 00000002 00000000 00000000 0001 03
               1: 00000001 00000000 00010000 0001 01 /dev/printer

              Gdzie "Num" jest numerem wpisu w tablicy jądra, "RefCount" jest liczbą użytkowników
              gniazda,  "Protocol"  obecnie  jest  zawsze  zerem, "Flags" reprezentuje wewnętrzne
              znaczniki jądra, określające stan gniazda. "Type" jest zawsze równe "1" (Nie ma  na
              razie   w  jądrze  wsparcia  dla  gniazd  datagramowych  domeny  UNIX).  "St"  jest
              wewnętrznym stanem gniazda, a ścieżka jest  ścieżką  (jeśli  istnieje)  związaną  z
              gniazdem.

       /proc/partitions
              Zawiera  liczby  główne  i  poboczne  każdej  z partycji oraz liczby 1024-bajtowych
              bloków i nazwy partycji.

       /proc/pci
              Listing wszystkich urządzeń PCI znalezionych  podczas  inicjalizacji  jądra  i  ich
              konfiguracja.

              Plik  został  zastąpiony  nowym  interfejsem /proc do PCI (/proc/bus/pci). Stał się
              opcjonalny w Linuksie 2.2 (dostępny przy ustawieniu opcji CONFIG_PCI_OLD_PROC  przy
              kompilacji  jądra).  Ponownie  stał  się  nieopcjonalny  w Linuksie 2.4. Następnie,
              został uznany za przestarzały w Linuksie 2.6 (był wciąż  dostępny  przy  ustawieniu
              CONFIG_PCI_LEGACY_PROC), aż w końcu usunięto go w Linuksie 2.6.17.

       /proc/profile (od Linuksa 2.4)
              Plik  obecny  jest  wyłącznie  jeśli  jądro  zostało  uruchomione z opcją profile=1
              wiersza poleceń. Jądro  udostępni  informacje  dotyczące  profilowania  w  formacie
              binarnym  gotowym  do  użycia przez readprofile(1). Zapis (np. pustego łańcucha) do
              tego pliku wyzeruje liczniki profilowania, a  na  niektórych  architekturach  zapis
              binarnej  liczby  całkowitej  "mnożnika  profilowania"  rozmiaru sizeof(int) ustawi
              częstotliwość przerwań profilowania.

       /proc/scsi
              Katalog  z  pseudoplikiem  scsi  na  pośrednim  poziomie  i  różnymi  podkatalogami
              niskopoziomowych  sterowników  SCSI,  zawierającymi  po  jednym  pliku  dla każdego
              kontrolera SCSI  w  danym  systemie;  każdy  z  nich  podaje  stan  jakiejś  części
              podsystemu  we/wy  SCSI. Pliki te zawierają struktury ASCII i dlatego nadają się do
              odczytu za pomocą cat(1).

              Możliwy jest  też  zapis  do  niektórych  z  tych  plików,  w  celu  rekonfiguracji
              podsystemu, lub przełączania różnych parametrów.

       /proc/scsi/scsi
              Jest  wypisaniem  wszystkich  znanych  jądru urządzeń SCSI. Listing jest podobny do
              widzianego  podczas  ładowania  systemu.  scsi  wspiera  obecnie  tylko   polecenie
              add-single-device   umożliwiające   rootowi   dodanie  do  listy  znanych  urządzeń
              urządzenia włączonego na gorąco.

              Polecenie

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

              spowoduje, że kontroler scsi1 przeprowadzi skanowanie kanału SCSI 0 w  poszukiwaniu
              urządzenia o ID 5 i LUN 0. Jeśli już istnieje urządzenie o takim adresie, lub adres
              jest nieprawidłowy, zostanie zwrócony błąd.

       /proc/scsi/[nazwa-sterownika]
              [nazwa-sterownika] może obecnie być jedną z: NCR53c7xx, aha152x, aha1542,  aha1740,
              aic7xxx,  buslogic, eata_dma, eata_pio, fdomain, in2000, pas16, qlogic, scsi_debug,
              seagate, t128, u15-24f, ultrastore, or wd7000. Ukazują  się  te  z  katalogów,  dla
              których  odpowiednie  sterowniki  zarejestrowały przynajmniej jeden kontroler SCSI.
              Każdy katalog zawiera jeden plik dla każdego zarejestrowanego kontrolera.  Każdy  z
              plików  kontrolera  ma nazwę odpowiadającą numerowi kontrolera, przyznanemu podczas
              jego inicjacji.

              Czytanie tych plików zwykle pokaże konfigurację sterownika i kontrolera, statystyki
              itp.

              Pisanie  do  tych  plików  umożliwia  różne  operacje  na  różnych kontrolerach. Na
              przykład za pomocą poleceń latency i nolatency root może uaktywniać lub deaktywować
              kod  pomiaru czasu oczekiwania dla poleceń (command latency) w sterowniku eata_dma.
              Za pomocą poleceń lockup i unlock root może sterować  symulowanym  przez  sterownik
              scsi_debug blokowaniem magistrali.

       /proc/self
              Ten  katalog  odnosi  się  do  procesu korzystającego z systemu plików /proc i jest
              identyczny z katalogiem w /proc o nazwie będącej jego PID-em.

       /proc/slabinfo
              Informacje o buforach jądra. Od  Linuksa  2.6.16  plik  ten  istnieje  tylko  jeśli
              podczas  kompilacji jądra włączono opcję CONFIG_SLAB. Występują następujące kolumny
              w pliku /proc/slabinfo:

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

              Szczegóły można znaleźć w slabinfo(5).

       /proc/stat
              statystyki jądra/systemu.  Różnią  się  pomiędzy  architekturami.  Wśród  wspólnych
              wpisów są:

              cpu  3357 0 4313 1362393
                     Czas,  wyrażony  w  USER_HZ  (jedna setna sekundy na większości architektur,
                     proszę użyć sysconf(_SC_CLK_TCK)  aby  uzyskać  prawidłową  wartość),  które
                     system spędził w trybie użytkownika w różnych stanach:

                     user   (1) Czas spędzony w trybie użytkownika.

                     nice   (2) Czas spędzony w trybie użytkownika z niskim priorytetem (nice).

                     system (3) Czas spędzony w trybie systemowym.

                     idle   (4)  Czas  wykorzystany  na  zadanie  bezczynności.  Wartość  powinna
                            wynosić USER_HZ razy drugi wpis w pseudopliku /proc/uptime.

                     iowait (od Linuksa 2.5.41)
                            (5) Czas oczekiwania na zakończenie wejścia/wyjścia.

                     irq (od Linuksa 2.6.0-test4)
                            (6) Czas obsługi przerwań.

                     softirq (od Linuksa 2.6.0-test4)
                            (7) Czas obsługi przerwań programowych.

                     steal (od Linuksa 2.6.11)
                            (8) Czas "skradziony", który jest czasem spędzonym w  innym  systemie
                            operacyjnym podczas pracy w środowisku zwirtualizowanym.

                     guest (od Linuksa 2.6.24)
                            (9)  Czas spędzony podczas działania na wirtualnym procesorze systemu
                            operacyjnego gościa, pod kontrolą jądra Linux.

                     guest_nice (od Linuksa 2.6.33)
                            (10) Czas spędzony podczas działania na wirtualnym procesorze systemu
                            operacyjnego gościa, pod kontrolą jądra Linux.

              page 5741 1808
                     Liczba  stron,  które system wstronicował i liczba tych, które wystronicował
                     (z dysku).

              swap 1 0
                     Liczba stron wymiany, które wniesiono i wyniesiono.

              intr 1462898
                     Linia ta pokazuje licznik przerwań obsłużonych  od  czasu  uruchomienia  dla
                     każdego możliwego przerwania systemowego. Pierwsza kolumna określa całkowitą
                     liczbę  wszystkich  obsłużonych  przerwań  w  tym  nienumerowanych  przerwań
                     swoistych  dla  architektury,  każda  następna określa całkowitą wartość dla
                     danego numerowanego przerwania. Nienumerowane przerwania nie są  pokazywane,
                     jedynie sumowane do całości.

              disk_io: (2,0):(31,30,5764,1,2) (3,0):...
                     (major,disk_idx):(noinfo,      read_io_ops,     blks_read,     write_io_ops,
                     blks_written)
                     (tylko Linux 2.4)

              ctxt 115315
                     Liczba przełączeń kontekstu, które przeszedł system.

              btime 769041601
                     Czas uruchomienia systemu, w sekundach od epoki: 1970-01-01  00:00:00  +0000
                     (UTC).

              processes 86031
                     Liczba rozwidleń procesów od uruchomienia systemu.

              procs_running 6
                     Liczba procesów w stanie runnable (Linux 2.5.45 i późniejsze).

              procs_blocked 2
                     Liczba  procesów oczekujących na zakończenie operacji wejścia/wyjścia (Linux
                     2.5.45 i późniejsze).

       /proc/swaps
              Używane obszary wymiany. Zobacz także swapon(8).

       /proc/sys
              Katalog ten (obecny od 1.3.57) zawiera wiele plików i podkatalogów  odpowiadających
              zmiennym   jądra.  Zmienne  te  mogą  być  odczytywane  i  czasem  modyfikowane  za
              pośrednictwem systemu plików  proc,  jak  też  przy  wykorzystaniu  (przestarzałej)
              funkcji systemowej sysctl(2)

       /proc/sys/abi (od Linuksa 2.4.10)
              Plik  może  zawierać  pliki  z  binarnymi informacjami aplikacji. Dalsze informacje
              można znaleźć w pliku Documentation/sysctl/abi.txt w źródłach jądra Linux.

       /proc/sys/debug
              Ten katalog może być pusty.

       /proc/sys/dev
              Ten katalog  zawiera  informacje  specyficzne  dla  poszczególnych  urządzeń.  (np.
              dev/cdrom/info). W niektórych systemach może być pusty.

       /proc/sys/fs
              Katalog  zawierający  pliki i podkatalogi do zmiennych jądra związanych z systemami
              plików.

       /proc/sys/fs/binfmt_misc
              Dokumentacja plików  z  tego  katalogu  znajduje  się  w  źródłach  jądra  Linux  w
              Documentation/binfmt_misc.txt.

       /proc/sys/fs/dentry-state (od Linuksa 2.2)
              Plik  zawiera  informacje o statusie bufora katalogu (dcache). Zawiera sześć liczb:
              nr_dentry, nr_unused, age_limit (wiek w sekundach), want_pages (strony żądane przez
              system) i dwie nieużywane wartości.

              * nr_dentry  jest  liczbą  przydzielonych  dentries  (wpisów  dcache). To pole jest
                nieużywane w Linuksie 2.2.

              * nr_unused jest liczbą nieużywanych dentries.

              * age_limit jest wiekiem w sekundach, po którym wpisy dcache mogą być  przydzielone
                ponownie, gdy jest zbyt mało pamięci.

              * want_pages  jest  niezerowa, gdy jądro wywołało shrink_dcache_pages(), ale dcache
                nie zostały jeszcze przycięte.

       /proc/sys/fs/dir-notify-enable
              Plik ten może służyć do wyłączania lub włączania  interfejsu  dnotify  opisanego  w
              fcntl(2)  dla  całego systemu. Wartość 0 w tym pliku wyłącza interfejs, a wartość 1
              go włącza.

       /proc/sys/fs/dquot-max
              Zawiera maksymalną liczbę buforowanych wpisów kwot dyskowych.  W  niektórych  (2.4)
              systemach  nie  występuje.  Gdy  liczba  wolnych  zbuforowanych kwot dyskowych jest
              bardzo mała, a jest przerażająca liczba jednoczesnych  użytkowników  systemu,  może
              istnieć potrzeba zwiększenia tego ograniczenia.

       /proc/sys/fs/dquot-nr
              Zawiera liczbę przydzielonych wpisów kwot dyskowych oraz liczbę wolnych wpisów kwot
              dyskowych.

       /proc/sys/fs/epoll (od Linuksa 2.6.28)
              Katalog zawiera plik max_user_watches, którego można  użyć,  aby  ograniczyć  ilość
              pamięci  jądra  używanej  przez  interfejs epoll. Więcej szczegółów można znaleźć w
              epoll(7).

       /proc/sys/fs/file-max
              Zawiera  ogólnosystemowe  ograniczenie  liczby  plików  otwartych  przez  wszystkie
              procesy.  (Zobacz  także  setrlimit(2),  które  może  służyć procesom do ustawiania
              ograniczenia dla procesu, RLIMIT_NOFILE, jako  liczby  plików,  które  proces  może
              otworzyć).  Gdy otrzymuje się mnóstwo komunikatów w dzienniku jądra o przekroczeniu
              liczby uchwytów plików (file handles - należy szukać komunikatów takich  jak  "VFS:
              file-max limit <liczba> reached") , to można spróbować zwiększyć tę wartość:

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

              Stała  jądra  NR_OPEN  narzuca  górne  ograniczenie  wartości,  która  może  zostać
              umieszczone w file-max.

              Procesy uprzywilejowane (CAP_SYS_ADMIN) mogą przesłonić limit file-max.

       /proc/sys/fs/file-nr
              Jest to plik (tylko do odczytu)  zawierający  trzy  liczby:  liczbę  przydzielonych
              uchwytów  plików  (tzn.  liczbę  obecnie otwartych plików), liczbę wolnych uchwytów
              plików  i  maksymalną  liczbę  uchwytów  plików  (tzn.  tę  samą   wartość   co   w
              /proc/sys/fs/file-max).  Jeśli  liczba przydzielonych uchwytów plików zbliża się do
              maksimów, należy rozważyć zwiększenie ich. Przed  Linuksem  2.6  jądro  dynamicznie
              przydzielało  uchwyty, lecz nie zwalniało ich. Wolnego uchwyty były przechowywany w
              liście do ponownego przydzielenia, wartość "wolne  uchwyty  plików"  wskazywała  na
              rozmiar tej listy. Duża liczba wolnych uchwytów plików wskazywała, że w przeszłości
              był moment dużego użycia otwartych uchwytów plików. Od Linuksa  2.6  jądro  zwalnia
              wolne uchwyty plików, a wartość "wolne uchwyty plików" zawsze wynosi zero.

       /proc/sys/fs/inode-max (obecny jedynie do Linuksa 2.2)
              Ten  plik  zawiera maksymalną liczbę i-węzłów w pamięci. Wartość ta powinna być 3-4
              razy większa niż wartość w file-max, gdyż stdin, stdout i gniazda sieciowe  również
              potrzebują  i-węzłów,  aby  można było na nich operować. Gdy systematycznie brakuje
              i-węzłów, istnieje potrzeba zwiększenia tej wartości.

              Od jądra Linux 2.4 nie występuje statyczny limit liczby i-węzłów, w związku z  czym
              usunięto ten plik.

       /proc/sys/fs/inode-nr
              Zawiera dwie pierwsze wartości z inode-state.

       /proc/sys/fs/inode-state
              Plik zawiera siedem liczb: nr_inodes, nr_free_inodes, preshrink i cztery nieużywane
              wartości (wynoszące zawsze zero).

              nr_inodes jest liczbą przydzielonych przez  system  i-węzłów.  nr_free_inodes  jest
              liczbą wolnych i-węzłów.

              preshrink  jest  niezerowe,  gdy  nr_inodes  > inode-max i gdy system musi przyciąć
              listę i-węzłów zamiast  przydzielić  ich  więcej;  od  Linuksa  2.4  to  pole  jest
              wartością - atrapą (wynosi zawsze zero).

       /proc/sys/fs/inotify (od wersji Linuksa 2.6.13)
              Ten katalog zawiera pliki max_queued_events, max_user_instances i max_user_watches,
              których można użyć, aby ograniczyć ilość pamięci  jądra  używanej  przez  interfejs
              inotify. Więcej szczegółów można znaleźć w inotify(7).

       /proc/sys/fs/lease-break-time
              Określa  okres ulgi, przez jaki jądro zapewnia procesowi utrzymanie dzierżawy pliku
              (fcntl(2)), a po którym wyśle do tego procesu sygnał  zawiadamiający  go,  że  inny
              proces  oczekuje  na otwarcie pliku. Jeśli utrzymujący dzierżawę nie usunie jej lub
              nie ograniczy swoich praw do niej w przeciągu tego  czasu,  jądro  wymusi  zerwanie
              dzierżawy.

       /proc/sys/fs/leases-enable
              Ten  plik może służyć do ogólnosystemowego włączania lub wyłączania dzierżaw plików
              (fcntl(2)). Gdy plik  ten  zawiera  wartość  0,  dzierżawy  są  wyłączone.  Wartość
              niezerowa włącza dzierżawy.

       /proc/sys/fs/mqueue (od wersji Linuksa 2.6.6)
              Ten  katalog  zawiera  pliki msg_max, msgsize_max i queues_max, kontrolujące zasoby
              używane przez kolejki komunikatów POSIX. Szczegółowe  informacje  można  znaleźć  w
              mq_overview(7).

       /proc/sys/fs/overflowgid and /proc/sys/fs/overflowuid
              Te  pliki  umożliwiają zmianę wartości ustalonego UID-u i GID-u. Wartością domyślną
              jest 65534. Niektóre systemy plików wspierają  jedynie  16-bitowe  UID-y  i  GID-y,
              podczas  gdy  linuksowe  UID-y  i  GID-y są 32-bitowe. Gdy któryś z takich systemów
              plików  jest  zamontowany  z  możliwością  zapisu,  to  wszystkie  UID-y  i   GID-y
              przekraczające 65535 są zastępowane podanymi tu wartościami przed zapisem na dysk.

       /proc/sys/fs/pipe-max-size (od Linuksa 2.6.35)
              Wartość  w  tym  pliku  definiuje górny limit do podnoszenia pojemności potoku przy
              użyciu operacji F_SETPIPE_SZ fcntl(2). Limit ten odnosi się wyłącznie  do  procesów
              nieuprzywilejowanych.  Domyślną  wartością  dla  tego pliku jest 1 048 576. Wartość
              przypisana do pliku może  być  zaokrąglona  w  górę,  odnosząc  się  do  faktycznej
              wartości  wykorzystanej  z  powodu  dogodnej  implementacji. Aby poznać zaokrągloną
              wartość, należy wyświetlić zawartość tego pliku po przypisaniu do  niego  wartości.
              Minimalną  wartością,  jaka  może  zostać  przypisana  do tego pliku jest systemowy
              rozmiar strony.

       /proc/sys/fs/protected_hardlinks (od Linuksa 3.6)
              Gdy w pliku zapisana jest  wartość  0,  to  w  odniesieniu  do  tworzenia  dowiązań
              zwykłych  (twardych)  nie  wprowadza  się  żadnych  ograniczeń (jest to historyczne
              zachowanie przed Linuksem 3.6). Gdy wartość wynosi 1, to dowiązania zwykłe mogą być
              tworzone do pliku docelowego jedynie wówczas, gdy spełniony jest jeden z poniższych
              warunków:

              *  Wywołujący ma przywilej CAP_FOWNER.

              *  UID systemu plików dotyczący procesu tworzącego dowiązanie pasują do właściciela
                 (UID)  pliku  docelowego  (zgodnie  z  opisem  w podręczniku credentials(7), UID
                 systemu plików procesu jest zwykle taki sam jak jego efektywny UID).

              *  Wszystkie poniższe warunki zostaną spełnione:

                  •  cel jest zwykłym plikiem,

                  •  plik docelowy nie ma ustawionego bitu set-user-ID,

                  •  plik  docelowy  nie  ma  ustawionych  obu  z  bitów  set-group-ID   i   bitu
                     wykonywalności dla grupy,

                  •  wywołujący  ma uprawnienie do odczytu i zapisu pliku docelowego (albo dzięki
                     uprawnieniom pliku albo ze względu na posiadane przywileje).

              Domyślną wartością w tym pliku jest 0. Ustawienie 1 rozwiąże występujące  od  dawna
              problemy  z  bezpieczeństwem  wykorzystujących  wyścig  między czasem sprawdzenia a
              czasem użycia dowiązania zwykłego, zwykle spotykanych w  katalogach  dostępnych  do
              zapisu  dla  wszystkich  (np. /tmp). Częstym sposobem wykorzystywania tej wady jest
              skrzyżowanie ograniczeń w uprawnieniach przy podążaniu za danym dowiązaniem zwykłym
              (np.  gdy  proces  root  podąża  za  dowiązaniem  stałym  utworzonym  przez  innego
              użytkownika). W systemach bez wydzielonych partycji, rozwiązuje się  w  ten  sposób
              również  problem  nieautoryzowanych  użytkowników "przypinających" dziurawe pliki z
              ustawionymi  bitami  set-user-ID  i  set-group-ID   wobec   aktualizowanych   przez
              administratora a także dowiązywaniu do plików specjalnych.

       /proc/sys/fs/protected_symlinks (od Linuksa 3.6)
              Gdy  w  pliku  zapisana  jest  wartość  0,  to  w odniesieniu do tworzenia dowiązań
              symbolicznych nie wprowadza się żadnych ograniczeń (jest to historyczne  zachowanie
              przed  Linuksem  3.6).  Gdy  wartość  wynosi  1, to dowiązania symboliczne mogą być
              tworzone jedynie gdy spełnione są następujące warunki:

              *  UID systemu plików dotyczący  procesu  podążającego  za  dowiązaniem  pasują  do
                 właściciela  (UID)  dowiązania  symbolicznego  (zgodnie  z  opisem w podręczniku
                 credentials(7), UID systemu  plików  procesu  jest  zwykle  taki  sam  jak  jego
                 efektywny UID),

              *  dowiązanie  nie  znajduje  się  w katalogu dostępnych dla wszystkich do zapisu z
                 bitem lepkości lub

              *  dowiązanie symboliczne i katalog w którym się  ono  znajduje  mają  tego  samego
                 właściciela (UID)

              Wywołanie  systemowe  które  nie  podąży  za dowiązaniem symbolicznym ze względu na
              powyższe ograniczenia zwróci w errno błąd EACCES.

              Domyślną wartością w tym pliku jest 0. Ustawienie 1 rozwiąże występujące  od  dawna
              problemy  z  bezpieczeństwem  wykorzystujących  wyścig  między czasem sprawdzenia a
              czasem użycia przy uzyskiwaniu dostępu do dowiązań symbolicznych.

       /proc/sys/fs/suid_dumpable (od wersji Linuksa 2.6.13)
              Wartość w tym pliku określa, czy pliki zrzutów pamięci są  tworzone  dla  programów
              mających  ustawiony  bit  set-user-ID  albo  chronionych w jakiś inny sposób. Można
              podać trzy różne wartości liczbowe:

              0 (default)
                     Jest to tradycyjne zachowanie (sprzed Linuksa  2.6.13).  Zrzut  pamięci  nie
                     będzie  tworzony  dla  procesu,  który  zmienił swoje uprawnienia (wywołując
                     seteuid(2), setgid(2) lub podobną funkcję albo gdy  program  miał  ustawiony
                     bit  set-user-ID  lub  set-group-ID)  albo  gdy  uprawnienia  nadane plikowi
                     binarnemu programu zabraniają jego odczytywania.

              1 ("debug")
                     Jeżeli jest  to  możliwe,  to  wszystkie  procesy  wykonują  zrzut  pamięci.
                     Właścicielem  pliku  zrzutu  jest użytkownik, którego uprawnienia do systemu
                     plików ma  proces  wykonujący  zrzut.  Nie  są  stosowane  żadne  mechanizmy
                     bezpieczeństwa.  Jest to przeznaczone tylko do celów debugowania. Ptrace nie
                     jest sprawdzane.

              2 ("suidsafe")
                     Zrzut pamięci programu, dla którego w  normalnej  sytuacji  taki  zrzut  nie
                     zostałby  wykonany  (patrz  wyżej  "0"),  może  być  odczytany  tylko  przez
                     administratora (root). Pozwala to użytkownikowi usunąć plik ze zrzutem,  ale
                     nie  pozwala na jego odczytanie. Z powodów bezpieczeństwa w tym trybie pliki
                     zrzutu nie nadpisują istniejących plików.  Ten  tryb  jest  odpowiedni,  gdy
                     administrator będzie chciał debugować problemy w naturalnym środowisku.

                     Dodatkowo,  od Linuksa 3.6, /proc/sys/kernel/core_pattern musi być absolutną
                     ścieżką lub poleceniem potokowym (zob. core(5)). Do dziennika jądra zapisane
                     zostaną  ostrzeżenia,  jeśli  core_pattern  nie będzie się stosowało do tych
                     reguł i nie utworzy się zrzut pamięci.

       /proc/sys/fs/super-max
              Plik steruje maksymalną liczbą superbloków, a więc  i  maksymalną  liczbą  systemów
              plików,  które  jądro  może  zamontować.  Potrzeba  zwiększenia  wartości super-max
              występuje tylko wtedy, gdy chce się zamontować więcej systemów plików,  niż  na  to
              pozwala aktualna wartość super-max.

       /proc/sys/fs/super-nr
              Plik zawiera liczbę obecnie zamontowanych systemów plików.

       /proc/sys/kernel
              Katalog zawiera pliki kontrolujące wiele parametrów jądra, jak opisano poniżej.

       /proc/sys/kernel/acct
              Plik  zawiera  trzy  liczby:  highwater,  lowwater  i  frequency. Gdy włączone jest
              rejestrowanie procesów w stylu BSD, wartości te sterują jego zachowaniem. Gdy ilość
              wolnego  miejsca  w  systemie  plików,  na  którym znajdują się logi, spada poniżej
              wyrażonej w procentach wartości  lowwater,  rejestrowanie  jest  wstrzymywane.  Gdy
              ilość  wolnego  miejsca  stanie  się  większa  niż  wyrażona  w  procentach wartość
              highwater, rejestrowanie jest wznawiane. frequency określa, jak często jądro będzie
              sprawdzać ilość wolnego miejsca (wartość w sekundach). Wartościami domyślnymi są 4,
              2 i 30. Oznacza to, że rejestrowanie procesów jest wstrzymywane, gdy ilość  wolnego
              miejsca  będzie  wynosiła 2% lub mniej; wznowione zostanie, gdy wolne będzie 4% lub
              więcej; zakłada się, że informacja o ilości wolnego miejsca  jest  ważna  przez  30
              sekund.

       /proc/sys/kernel/cap_last_cap (od Linuksa 3.2)
              Patrz capabilities(7).

       /proc/sys/kernel/cap-bound (od Linuksa 2.2 do 2.6.24)
              Plik  przechowuje  wartość  capability bounding set dla jądra (wyrażone jako liczba
              dziesiętna ze znakiem).  Wartość  ta  jest  mnożona  (AND)  bitowo  z  capabilities
              dozwolonymi   dla   procesu   podczas   execve(2).  Poczynając  od  Linuksa  2.6.25
              ogólnosystemowe capability bounding set zostało usunięte i zastąpione bounding  set
              na wątek, patrz capabilities(7).

       /proc/sys/kernel/core_pattern
              Patrz core(5).

       /proc/sys/kernel/core_uses_pid
              Patrz core(5).

       /proc/sys/kernel/ctrl-alt-del
              Ten plik steruje obsługą kombinacji klawiszy Ctrl-Alt-Del. Gdy w pliku tym znajduje
              się wartość 0, Ctrl-Alt-Del jest przechwytywane i przesyłane do programu init(8)  w
              celu wykonania wdzięcznego restartu. Gdy wartość jest większa od 0, reakcją Linuksa
              na Wulkanicznie Nerwowe Nękanie (Vulcan Nerve  Pinch  (tm))  będzie  natychmiastowy
              restart,  nawet  bez zrzucenia zmodyfikowanych buforów. Uwaga: gdy program (jak np.
              dosemu) korzysta z "surowego" trybu klawiatury,  Ctrl-Alt-Del  jest  przechwytywane
              przez  program,  zanim  dotrze  do  warstwy  terminalowej jądra i decyzja, co z tym
              zrobić, zależy od programu.

       /proc/sys/kernel/dmesg_restrict (od Linuksa 2.6.37)
              Wartość pliku  określa  użytkowników  z  dostępem  do  zawartości  dziennika  jądra
              (syslog).  Wartość  0  nie  nakłada  żadnych ograniczeń. Wartość 1 zawęża dostęp do
              użytkowników uprzywilejowanych (zob. syslog(2)). Od Linuksa 3.4 tylko użytkownicy z
              przywilejem CAP_SYS_ADMIN mogą zmienić wartość w tym pliku.

       /proc/sys/kernel/domainname i /proc/sys/kernel/hostname
              Te  pliki mogą służyć do ustawiania nazwy domeny i hosta NIS/YP maszyny dokładnie w
              ten sam sposób, jak za pomocą poleceń domainname(1) i hostname(1), np.:

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

              daje taki sam efekt, jak

                  # hostname 'darkstar'
                  # domainname 'mydomain'

              Należy tu zauważyć, że klasyczny darkstar.frop.org posiada nazwę hosta "darkstar" i
              domenę  "frop.org"  w  DNS  (Internetowej Usłudze Nazw Domen - Internet Domain Name
              Service), których nie należy mylić z domeną NIS (Sieciowej Usługi  Informacyjnej  -
              Network  Information Service) lub YP (Yellow Pages). Te dwa systemy nazw domenowych
              zasadniczo się różnią. Szczegółowe informacje można znaleźć na stronie  podręcznika
              hostname(1).

       /proc/sys/kernel/hotplug
              Plik  ten  zawiera ścieżkę do programu hotplug. Domyślną wartością w tym pliku jest
              /sbin/hotplug.

       /proc/sys/kernel/htab-reclaim
              (Tylko PowerPC) Jeśli do  tego  pliku  zostanie  wpisana  wartość  niezerowa,  htab
              PowerPC  (zobacz:  plik  Documentation/powerpc/ppc_htab.txt  w źródłach jądra) jest
              czyszczony za każdym razem, gdy system natrafi na pętlę oczekiwania ("idle").

       /proc/sys/kernel/kptr_restrict (od Linuksa 2.6.38)
              Wartość określa czy adresy jądra są pokazywane za pomocą interfejsu /proc i innych.
              Wartość  0  oznacza  brak  ograniczeń.  Gdy użyto 1, to wskaźniki jądra wypisane za
              pomocą formatu %pK zostaną zastąpione zerami,  chyba  że  użytkownik  ma  przywilej
              CAP_SYSLOG.  Przy  wartości 2 wskaźniki jądra wypisane za pomocą %pK zostaną zawsze
              zastąpione zerami, niezależnie od przywilejów jakie  posiada.  Początkowo  domyślna
              wartość  wynosiła  1,  lecz  zastąpiono  ją 0 w jądrze Linux 2.6.39. Od Linuksa 3.4
              tylko użytkownicy z przywilejem CAP_SYS_ADMIN mogą zmieniać wartość w tym pliku.

       /proc/sys/kernel/l2cr
              (Tylko PowerPC) Plik zawiera znacznik sterujący  cache'em  L2  płyt  procesora  G3.
              Jeśli  zawiera  0,  cache  jest  wyłączony.  Cache  jest włączony, gdy plik zawiera
              wartość różną od zera.

       /proc/sys/kernel/modprobe
              Plik zawiera ścieżkę do programu ładującego moduły jądra. Domyślną  wartością  jest
              /sbin/modprobe.  Plik  jest  obecny tylko, jeśli jądro zostało zbudowane z włączoną
              opcją CONFIG_MODULES (CONFIG_KMOD w Linuksie  2.6.26  i  wcześniejszych).  Jest  on
              opisany  w pliku źródeł jądra Linux Documentation/kmod.txt (obecnym tylko w jądrach
              2.4 i wcześniejszych).

       /proc/sys/kernel/modules_disabled (od Linuksa 2.6.31)
              Przełącznik wskazujący czy moduły mogą być ładowane do modularnego jądra.  Domyślna
              wartość  wynosi  off  (0),  lecz można ustawić także true (1), która spowoduje brak
              możliwości ładowania i wyładowania modułów. W takim przypadku nie  da  się  ustawić
              przełącznika  z  powrotem  na  fałsz  (false).  Plik  jest  obecny  tylko w jądrach
              zbudowanych z włączoną opcją CONFIG_MODULES.

       /proc/sys/kernel/msgmax (od Linuksa 2.2)
              Zawiera  ogólnosystemowe  ograniczenie  maksymalnej  liczby  bajtów  w  pojedynczym
              komunikacie zapisywanym do kolejki komunikatów Systemu V.

       /proc/sys/kernel/msgmni (od Linuksa 2.4)
              Określa ogólnosystemowe ograniczenie liczby identyfikatorów kolejek komunikatów.

       /proc/sys/kernel/msgmnb (od Linuksa 2.2)
              Zawiera   ogólnosystemowy  parametr  służący  do  inicjacji  ustawienia  msg_qbytes
              tworzonych później kolejek komunikatów. Ustawienie  msg_qbytes  określa  maksymalną
              liczbę bajtów, które mogą zostać zapisane do kolejki komunikatów.

       /proc/sys/kernel/ngroups_max (od Linuksa 2.6.4)
              Jest  to  plik  tylko do odczytu, który wyświetla górny limit liczby członków grupy
              procesu.

       /proc/sys/kernel/ostype i /proc/sys/kernel/osrelease
              Pliki te zawierają poszczególne części z /proc/version.

       /proc/sys/kernel/overflowgid i /proc/sys/kernel/overflowuid
              Pliki te są kopiami plików /proc/sys/fs/overflowgid i /proc/sys/fs/overflowuid.

       /proc/sys/kernel/panic
              Plik umożliwia dostęp (odczyt i zapis) do zmiennej jądra panic_timeout. Jeśli  jest
              to  zero,  jądro  będzie  się  zapętlać podczas paniki; jeśli wartość niezerowa, to
              określa liczbę sekund, po której jądro powinno się automatycznie przeładować. Jeśli
              używany jest software watchdog to zalecaną wartością jest 60.

       /proc/sys/kernel/panic_on_oops (od Linuksa 2.5.68)
              Plik  ten  kontroluje zachowanie jądra, kiedy wystąpi oops lub BŁĄD. Jeśli ten plik
              zawiera 0, to system próbuje kontynuować operację. Jeśli zawiera 1, to system czeka
              parę sekund (aby dać procesowi klogd czas na zapisanie wyjścia z oops), a następnie
              panikuje. Jeżeli wartość w pliku /proc/sys/kernel/panic również jest niezerowa,  to
              nastąpi restart komputera.

       /proc/sys/kernel/pid_max (od Linuksa 2.5.34)
              Ten plik określa wartość po której nastąpi przewinięcie licznika PID (tj. wartość w
              tym pliku jest o 1 większa niż maksymalny PID). PID-y większe niż  ta  wartość  nie
              są alokowane,  z  tego  powodu  wartość  z tego pliku działa również jako systemowy
              limit całkowitej liczby procesów i  wątków.  Domyślna  wartość  tego  pliku,  czyli
              32768,  określa  taki  sam  zakres wartości PID, jak wcześniejsze wersje jądra. Dla
              platform 32-bitowych 32768 jest maksymalną wartością, jaką może przyjmować pid_max.
              W  systemach  64-bitowych  pid_max  może zostać ustawiony na dowolną wartość, aż do
              2^22 (PID_MAX_LIMIT, około 4 milionów).

       /proc/sys/kernel/powersave-nap (tylko PowerPC)
              Plik zawiera znacznik. Gdy jest on ustawiony, Linux-PPC  używa  trybu  oszczędzania
              energii "nap", a w przeciwnym przypadku trybu "doze".

       /proc/sys/kernel/printk
              Patrz syslog(2).

       /proc/sys/kernel/pty (od wersji Linuksa 2.6.4)
              Ten  katalog  zawiera  dwa  pliki  związane z liczbą pseudoterminali UNIX 98 (patrz
              pts(4)) w systemie.

       /proc/sys/kernel/pty/max
              Plik określa maksymalną liczbę pseudoterminali.

       /proc/sys/kernel/pty/nr
              Ten  plik  tylko  do  odczytu  zawiera  informację  o  liczbie  obecnie   używanych
              pseudoterminali.

       /proc/sys/kernel/random
              Katalog  ten zawiera różne parametry sterujące działaniem pliku /dev/random. Dalsze
              informacje można znaleźć w random(4).

       /proc/sys/kernel/random/uuid (od Linuksa 2.4)
              Każdy  odczyt  z  tego  pliku  przeznaczonego  tylko  do  odczytu   zwraca   losowo
              wygenerowany 128-bitowy UUID, jako łańcuch w standardowym formacie UUID.

       /proc/sys/kernel/real-root-dev
              Plik  ten  jest  udokumentowany  w  pliku Documentation/initrd.txt w źródłach jądra
              Linux.

       /proc/sys/kernel/reboot-cmd (tylko Sparc)
              Ten plik wydaje się stanowić mechanizm podawania  argumentów  SPARC-owej  ładowarce
              systemu w ROM/Flash. Może przekazuje jej, co zrobić po restarcie?

       /proc/sys/kernel/rtsig-max
              (Tylko  w  wersjach jądra nie późniejszych niż 2.6.7; patrz setrlimit(2)). Plik ten
              może służyć do sterowania maksymalną liczbą  zgodnych  z  POSIX  nieobsłużonych  (w
              kolejkach) sygnałów czasu rzeczywistego w systemie.

       /proc/sys/kernel/rtsig-nr
              (Tylko  w  wersjach  jądra  nie  późniejszych  niż  2.6.7).  Plik ten podaje liczbę
              zgodnych z POSIX sygnałów czasu rzeczywistego oczekujących obecnie w kolejce.

       /proc/sys/kernel/sched_rr_timeslice_ms (od Linuksa 3.9)
              Patrz sched_rr_get_interval(2).

       /proc/sys/kernel/sched_rt_period_us (od Linuksa 2.6.25)
              Patrz sched(7).

       /proc/sys/kernel/sched_rt_runtime_us (od Linuksa 2.6.25)
              Patrz sched(7).

       /proc/sys/kernel/sem (od Linuksa 2.4)
              Plik ten zawiera 4 liczby definiujące ograniczenia semaforów Systemu  V.  Są  to  w
              kolejności:

              SEMMSL  Maksymalna liczba semaforów w zestawie semaforów.

              SEMMNS  Ogólnosystemowe  ograniczenie  liczby  semaforów  we  wszystkich zestawiach
                      semaforów.

              SEMOPM  Maksymalna liczba operacji, które mogą zostać podane w wywołaniu semop(2).

              SEMMNI  Ogólnosystemowe ograniczenie maksymalnej liczby identyfikatorów semaforów.

       /proc/sys/kernel/sg-big-buff
              Plik ten zawiera rozmiar bufora niskopoziomowego urządzenia SCSI  (sg).  Nie  można
              nim  na  razie  sterować,  ale  można  go zmienić podczas kompilacji poprzez edycję
              include/scsi/sg.h i zmianę wartości SG_BIG_BUFF. Jednakże nie  ma  żadnego  powodu,
              aby to robić.

       /proc/sys/kernel/shm_rmid_forced (od Linuksa 3.1)
              Jeśli  plik  jest ustawiony na 1, to wszystkie segmenty pamięci dzielonej Systemu V
              zostaną oznaczone jako przeznaczone do zniszczenia po tym, jak  liczba  dołączonych
              procesów  spadnie  do  zera.  Innymi  słowy  nie  da się wówczas utworzyć segmentów
              pamięci dzielonej, które istnieją niezależnie od dołączonych procesów.

              Efekt jest taki, że shmctl(2) IPC_RMID jest wykonywane na  wszystkich  istniejących
              segmentach,  jak  również  na  segmentach tworzonych w przyszłości (dopóki plik nie
              zostanie zresetowany do 0). Proszę zauważyć, że istniejące segmenty  nie  dołączone
              do  żadnego  procesu  zostaną  natychmiast  zniszczone,  jeśli  tylko plik ten jest
              ustawiony na 1. Ustawienie tej opcji  zniszczy  również  segmenty  utworzone,  lecz
              nigdy niedołączone - przy zakończeniu procesu który utworzył dany segment za pomocą
              shmget(2).

              Ustawienie tego pliku na 1 udostępnia sposób na sprawdzenie, że wszystkie  segmenty
              pamięci  współdzielonej  Systemu  V  są  liczone  w odniesieniu do użycia zasobów i
              limitów zasobów. (zob. opis  RLIMIT_AS  w  getrlimit(2))  do  co  najmniej  jednego
              procesu).

              Ustawienie  tego  pliku  na  1  daje  niestandardowe zachowanie, które może załamać
              istniejące aplikacje, dlatego domyślną wartością pliku jest 0. Wartość 1  może  być
              używana  tylko  w  przypadku  dużej wiedzy na temat semantyki aplikacji używających
              pamięci współdzielonej Systemu V w danym systemie.

       /proc/sys/kernel/shmall (od Linuksa 2.2)
              Ten plik zawiera  ogólnosystemowe  ograniczenie  całkowitej  liczby  stron  pamięci
              wspólnej Systemu V.

       /proc/sys/kernel/shmmax (od Linuksa 2.2)
              Ten  plik  może służyć do odpytywania o aktualne ograniczenie maksymalnego rozmiaru
              tworzonego  segmentu  pamięci  wspólnej  (System  V  IPC)  oraz  do   zmiany   tego
              ograniczenia.  Jądro  wspiera  obecnie segmenty pamięci wspólnej do 1 GB. Wartością
              domyślną jest SHMMAX.

       /proc/sys/kernel/shmmni (od Linuksa 2.4)
              Ten plik określa  ogólnosystemową  maksymalną  liczbę  segmentów  pamięci  wspólnej
              Systemu V, które można utworzyć.

       /proc/sys/kernel/sysrq
              Plik  kontroluje dozwolone funkcje, które są wywoływane przy użyciu klawisza SysRq.
              Domyślnie, plik zawiera 1, oznaczające że  dozwolona  jest  każde  możliwe  żądanie
              SysRq  (w starszych wersjach jądra, SysRq było domyślnie wyłączone i konieczne było
              włączenie go  w  czasie  uruchomienia,  jednak  ta  sytuacja  już  nie  występuje).
              Dozwolone wartości w pliku:

                 0 - całkowicie wyłącza sysrq
                 1 - włącza wszystkie funkcje sysrq
                >1 - maska bitowa dozwolonych funkcji sysrq, jak poniżej:
                        2 - włącza kontrolę poziomu logów konsoli
                        4 - włącza kontrolę klawiatury (SAK, unraw)
                        8 - włącza zrzuty procesów w celu debugowania itd.
                       16 - włącza polecenie sync
                       32 - włącza ponowne montowanie tylko do odczytu
                       64 - włącza sygnały procesów (term, kill, oom-kill)
                      128 - pozwala na restartowanie/wyłączanie
                      256 - pozwala ustawiać nice wszystkich zadań czasu rzeczywistego

              Ten   plik   istnieje   tylko   jeśli   podczas  kompilacji  jądra  włączono  opcję
              CONFIG_MAGIC_SYSRQ. Aby dowiedzieć  się  więcej,  proszę  zapoznać  się  z  plikiem
              Documentation/sysrq.txt w źródłach jądra Linux.

       /proc/sys/kernel/version
              Plik zawiera tekst jak np.:

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

              Gdzie'#5' oznacza, że jest to piąte z kolei jądro zbudowane z tych samych źródeł, a
              następująca dalej data określa, kiedy jądro zostało zbudowane.

       /proc/sys/kernel/threads-max (od Linuksa 2.3.11)
              Ten plik określa ogólnosystemowe ograniczenie  całkowitej  liczby  wątków  (zadań),
              jakie mogą zostać utworzone w systemie.

       /proc/sys/kernel/zero-paged (tylko PowerPC)
              Plik zawiera znacznik. Gdy jest on ustawiony (niezerowy), Linux-PPC wstępnie zeruje
              strony w pętli bezczynności. Prawdopodobnie przyspiesza to get_free_pages.

       /proc/sys/net
              Ten katalog zawiera rzeczy związane  z  siecią.  Wyjaśnienia  dotyczące  niektórych
              plików zawartych w tym katalogu można znaleźć w tcp(7) i ip(7).

       /proc/sys/net/core/somaxconn
              Plik  definiuje  wartość cechy górnej (sufitu) do argumentu backlog funkcji listen;
              patrz strona podręcznika listen(2), aby dowiedzieć się więcej.

       /proc/sys/proc
              Ten katalog może być pusty.

       /proc/sys/sunrpc
              Ten katalog obsługuje Sunowskie zdalne wywoływanie procedur dla sieciowego  systemu
              plikowego (NFS). W niektórych systemach może nie istnieć.

       /proc/sys/vm
              Ten  katalog zawiera pliki sterujące zarządzaniem pamięcią, buforami i zarządzaniem
              cachem.

       /proc/sys/vm/drop_caches (od wersji Linuksa 2.6.16)
              Zapis do tego pliku powoduje zwolnienie przez jądro czystych  buforów,  dentries  i
              i-węzłów  z  pamięci,  powodując  zwolnienie  pamięci.  Może  być  to  przydatne to
              testowania zarządzania pamięcią i wykonywania powtarzalnych testów systemu  plików.
              Zapis  do  tego  pliku  powoduje utratę zalet buforowania, przez co może spowodować
              pogorszenie ogólnej wydajności systemu.

              Aby zwolnić bufor strony, proszę użyć:

                  echo 1 > /proc/sys/vm/drop_caches

              Aby zwolnić dentries i i-węzły, proszę użyć:

                  echo 2 > /proc/sys/vm/drop_caches

              Aby zwolnić bufor strony, dentries i i-węzły, proszę użyć:

                  echo 3 > /proc/sys/vm/drop_caches

              Ponieważ zapis do tego  pliku  nie  jest  destrukcyjny  i  brudne  obiekty  nie  są
              zwalniane, użytkownik powinien wcześniej uruchomić sync(1).

       /proc/sys/vm/legacy_va_layout (od wersji Linuksa 2.6.9)
              Wartość  niezerowa  oznacza wyłączenie nowego, 32-bitowego rozmieszczenia mapowania
              pamięci; jądro będzie używać starego (2.4) rozmieszczenia dla wszystkich procesów.

       /proc/sys/vm/memory_failure_early_kill (od Linuksa 2.6.32)
              Kontroluje jak zabijać procesy z nienaprawialnym błędem pamięci (z reguły  2-bitowy
              błąd  w  module  pamięci),  które nie mogą być obsłużone przez jądro, wykryte w tle
              przez sprzęt. W niektórych przypadkach (np. jeśli strona ma wciąż poprawną kopię na
              dysku),  jądro  obsłuży  taki  błąd  w  sposób  przezroczysty,  bez wpływu na pracę
              aplikacji. Jednak jeśli nie  istnieje  inna,  zaktualizowana  kopia  danych,  jądro
              zabija procesy, aby zapobiec uszkodzeniu danych wynikłego z propagacji błędu.

              Plik posiada jedną z następujących wartości:

              1:  Wszystkie  procesy,  które  posiadają  zmapowaną  uszkodzoną  i nieprzeładowaną
                  stronę, są zabijane zaraz po wykryciu uszkodzenia. Proszę zauważyć, że nie jest
                  to  obsługiwane  dla nielicznych typów stron, takich jak wewnętrzne przypisanie
                  danych przez jądro lub pamięć podręczna na dysku (swap), ale działa w przypadku
                  większości stron użytkownika.

              0:  Usuwana  (unmap)  jest  jedynie  uszkodzona  strona,  a  zabijane  są wyłącznie
                  procesy, które chcą uzyskać do niej dostęp.

              Zabicie  jest  wykonywane  za  pomocą  sygnału  SIGBUS  z  si_code  ustawionym   na
              BUS_MCEERR_AO. Procesy mogą obsłużyć tę sytuację, jeśli chcą; proszę zapoznać się z
              sigaction(2), aby dowiedzieć się więcej.

              Funkcja  jest  aktywna  wyłącznie  na  architekturach/platformach  z  zaawansowaną,
              maszynową obsługą sprawdzania i zależy od możliwości sprzętowych.

              Aplikacje  mogą  indywidualnie  przesłonić  ustawienie memory_failure_early_kill za
              pomocą operacji PR_MCE_KILL prctl(2).

              Obecne tylko, jeśli jądro zostało skonfigurowane z CONFIG_MEMORY_FAILURE.

       /proc/sys/vm/memory_failure_recovery (od Linuksa 2.6.32)
              Włącza  odzyskiwanie  po  błędzie  pamięci  (jeśli  jest  obsługiwane  przez   daną
              platformę)

              1:  Próbuje odzyskiwać.

              0:  Zawsze panikuje przy błędzie pamięci.

              Obecne tylko, jeśli jądro zostało skonfigurowane z CONFIG_MEMORY_FAILURE.

       /proc/sys/vm/oom_dump_tasks (od Linuksa 2.6.25)
              Włącza  tworzenie  ogólnosystemowego  zrzutu  zadania (bez wątków jądra), gdy jądro
              wykonuje OOM-killing. Zrzut zawiera następujące informacje o każdym zadaniu (wątku,
              procesie):  identyfikator  wątku,  realny  identyfikator użytkownika, identyfikator
              grupy wątku (identyfikator procesu), rozmiar pamięci  wirtualnej,  rozmiar  zestawu
              rezydentnego,  procesor  któremu  przydzielono  zadanie,  wynik oom_adj (patrz opis
              /proc/[pid]/oom_adj) i nazwę polecenia. Jest to przydatne  do  określenia  dlaczego
              OOM-killer został przywołany i zidentyfikowania zadania, które to spowodowało.

              Jeśli zawiera wartość zero, ta informacja nie jest zrzucana. Zrobienie zrzutu stanu
              pamięci każdego zadania może  nie  być  wykonalne  w  bardzo  dużych  systemach,  z
              tysiącami  zadań.  Takie  systemy  nie  powinny  być  zmuszane  do narażania się na
              dodatkowy spadek wydajności w sytuacjach braku pamięci,  gdy  taka  informacja  nie
              może być przydatna.

              Jeśli  wartość jest niezerowa, ta informacja jest pokazywana kiedy tylko OOM-killer
              rzeczywiście zabija zadanie zajmujące dużo pamięci.

              Domyślną wartością jest 0.

       /proc/sys/vm/oom_kill_allocating_task (od Linuksa 2.6.24)
              Włącza lub wyłącza zabijanie zadania kolejkującego OOM w sytuacjach  braku  pamięci
              (Out-Of-Memory).

              Jeśli  jest  ustawione na zero OOM-killer przeskanuje całą listę zadań i do zabicia
              wybierze zadania na podstawie heurystyki. Z reguły wybierane są  zadania  zajmujące
              wiele pamięci, które zwalniają dużą ilość pamięci po zabiciu.

              Jeśli  jest  ustawione  na  wartość niezerową, OOM-killer po prostu zabija zadanie,
              które wyzwoliło stan braku pamięci. W ten sposób unika się potencjalnie kosztownego
              skanowania listy zadań.

              Jeśli   /proc/sys/vm/panic_on_oom   jest   niezerowe,   to  ma  ono  pierwszeństwo,
              niezależnie od wartości użytej w /proc/sys/vm/oom_kill_allocating_task.

              Domyślną wartością jest 0.

       /proc/sys/vm/overcommit_kbytes (od Linuksa 3.14)
              Ten zapisywalny  plik  zapewnia  alternatywę  do  /proc/sys/vm/overcommit_ratio  do
              kontrolowania  CommitLimit gdy /proc/sys/vm/overcommit_memory ma wartość 2. Pozwala
              na wykonanie overcommittu ilości pamięci w jednostkach absolutnych (w kB),  zamiast
              w  wartościach  procentowych, jak to ma miejsce przy overcommit_ratio. W ten sposób
              można osiągnąć lepszą kontrolę CommitLimit na systemach z ekstremalnie dużą ilością
              pamięci.

              Tylko   jeden   z   overcommit_kbytes  lub  overcommit_ratio  może  działać:  jeśli
              overcommit_kbytes ma wartość niezerową, to jest używane do obliczenia  CommitLimit,
              w   przeciwnym   razie   używane   jest  overcommit_ratio.  Zapisanie  wartości  do
              któregokolwiek z plików powoduje że wartość w drugim jest ustawiana na zero.

       /proc/sys/vm/overcommit_memory
              Plik zawiera tryb rozliczeń pamięci wirtualnej jądra. Dopuszczalne wartości:

                     0: heurystyczny overcommit (domyślnie)
                     1: zawsze robi overcommit, nigdy nie sprawdza
                     2: zawsze sprawdza, nigdy nie robi overcommitu

              W trybie 0  nie  są  sprawdzane  wywołania  mmap(2)  z  MAP_NORESERVE,  a  domyślne
              sprawdzenia   są   bardzo   słabe,   prowadząc  do  ryzyka  zabicia  procesu  przez
              "OOM-killera". Pod Linuksem 2.4 jakakolwiek wartość niezerowa oznacza tryb 1.

              W trybie 2 (dostępnym od Linuksa 2.6), całkowity  adres  przestrzeni  wirtualnej  w
              systemie którą można przypisać (CommitLimit w /proc/meminfo) jest obliczany jako

                  CommitLimit = (total_RAM - total_huge_TLB) *
                                overcommit_ratio / 100 + total_swap

              gdzie:

                   *  total_RAM jest sumą pamięci RAM w systemie;

                   *  total_huge_TLB jest sumą pamięci przeznaczoną dla dużych stron;

                   *  overcommit_ratio jest wartością w /proc/sys/vm/overcommit_ratio i

                   *  total_swap jest wielkością przestrzeni wymiany.

              Na  przykład  w  systemie  z  16  GB fizycznej pamięci RAM i 16 GB pamięci wymiany,
              brakiem przestrzeni przeznaczonej na duże strony i z overcommit_ratio równym 50, ta
              formuła daje CommitLimit na poziomie 24 GB.

              Od  Linuksa  3.14,  gdy wartość w /proc/sys/vm/overcommit_kbytes jest niezerowa, to
              CommitLimit jest obliczana w następujący sposób:

                  CommitLimit = overcommit_kbytes + total_swap

       /proc/sys/vm/overcommit_ratio (od Linuksa 2.6.0)
              Plik zapisywalny definiujący wartość procentową pamięci, na  której  można  wykonać
              overcommit. Domyślną wartością jest 50. Zob. opis /proc/sys/vm/overcommit_memory.

       /proc/sys/vm/panic_on_oom (od wersji Linuksa 2.6.18)
              Włącza lub wyłącza panikę jądra w sytuacjach braku pamięci.

              Jeśli  plik ma ustawioną wartość 0, OOM-killer jądra zabija któryś z nieposłusznych
              procesów. Z reguły OOM-killer jest w stanie  to  wykonać  i  system  może  pracować
              dalej.

              Jeśli  plik  ma  ustawioną  wartość 1, to jądro zwykle panikuje przy sytuacji braku
              pamięci. Jednak jeśli proces limituje przydzielanie do konkretnych węzłów  używając
              zasad  pamięci  (mbind(2)   MPOL_BIND)  lub  cpuset  (cpuset(7)) i te węzły dotknie
              problem braku pamięci, to  taki  proces  może  być  zabity  przez  OOM-killer.  Nie
              występuje  wówczas panika, ponieważ pamięć innych węzłów może być wolna, co oznacza
              że system jako całość mógł nie osiągnąć jeszcze sytuacji braku pamięci.

              Jeśli ustawiono wartość 2, to jądro zawsze panikuje w sytuacji braku pamięci.

              Domyślną wartość jest 0. 1 i 2 są przeznaczone do  poprawnej  pracy  klastrów  mimo
              wystąpienia  problemów. Proszę wybrać właściwą z nich, zgodnie z używanymi zasadami
              w takich sytuacjach.

       /proc/sys/vm/swappiness
              Wartość w tym pliku kontroluje jak agresywnie  jądro  przenosi  strony  pamięci  do
              pamięci   wymiany   (swapu).   Wyższe  wartości  zwiększają  agresywność,  mniejsze
              zmniejszają ją. Domyślną wartością jest 60.

       /proc/sysrq-trigger (od Linuksa 2.4.21)
              Zapisanie znaków do tego pliku  wyzwala  tę  samą  funkcję  SysRq,  jaka  zostałaby
              wykonana     przy     użyciu     kombinacji     ALT-SysRq-<znak>     (patrz    opis
              /proc/sys/kernel/sysrq). Plik jest  normalnie  zapisywalny  tylko  dla  roota.  Aby
              dowiedzieć  się  więcej,  proszę  zapoznać  się z plikiem Documentation/sysrq.txt w
              źródłach jądra Linux.

       /proc/sysvipc
              Podkatalog zawierający pseudopliki msg, sem  i  shm.  Pliki  te  zawierają  obiekty
              komunikacji   międzyprocesowej   (Interprocess   Communication  -  IPC)  Systemu  V
              (odpowiednio: kolejki komunikatów, semafory i pamięć wspólną) obecnie istniejące  w
              systemie,  udostępniając  informacje  podobne  do  tych,  które są dostępne poprzez
              ipcs(1). Pliki te zawierają nagłówki i są sformatowane (jeden obiekt IPC w wierszu)
              w  celu łatwiejszego zrozumienia. svipc(7) podaje dodatkowe informacje o zawartości
              tych plików.

       /proc/timer_list (od Linuksa 2.6.21)
              Plik tylko do odczytu udostępnia listę wszystkich bieżących  czasomierzy  (wysokiej
              rozdzielczości),  wszystkich  źródeł  zdarzeń  zegara  i  ich  parametrów  w formie
              czytelnej dla człowieka.

       /proc/timer_stats (od Linuksa 2.6.21)
              Jest to funkcja debugowania uwidaczniające (nad)użycia czasomierzy w systemie Linux
              deweloperom  jądra  i  przestrzeni  użytkownika. Może być używana przez deweloperów
              zajmujących się jądrem i przestrzenią użytkownika do weryfikacji, czy ich  kod  nie
              używa  w  nadmiarze czasomierzy. Celem jest zapobieganie niepotrzebnym wybudzeniom,
              aby zoptymalizować zużycie energii.

              Jeśli jest to włączone w jądrze (CONFIG_TIMER_STATS), lecz  nie  jest  używane,  ma
              narzut  bliski  zera  oraz  relatywnie niewielki narzut struktury danych. Nawet gdy
              zbieranie  danych  jest  włączone  przy  rozruchu,  narzut  jest  niski:  wszystkie
              blokowania następują według CPU, a wyszukiwanie jest haszowane.

              Plik  /proc/timer_stats jest używany do kontrolowania funkcji próbkowania i odczytu
              próbek informacji.

              Funkcja  timer_stats  jest  nieaktywna  przy  rozruchu.  Okres  próbkowania   można
              uruchomić poleceniem:

                  # echo 1 > /proc/timer_stats

              Następujące polecenie zatrzymuje okres próbkowania:

                  # echo 0 > /proc/timer_stats

              Statystyki można pozyskać przy pomocy:

                  $ cat /proc/timer_stats

              Gdy   próbkowanie  jest  włączone,  każdy  odczyt  z  /proc/timer_stats  daje  nowo
              zaktualizowane   statystyki.   Po   wyłączeniu   próbkowania,   próbki   informacji
              są zachowywane  do  momentu  włączenia  nowego  okresu  próbkowania.  Pozwala to na
              wielokrotny odczyt.

              Próbka wyniku z /proc/timer_stats:

   $ cat /proc/timer_stats
   Timer Stats Version: v0.3
   Sample period: 1.764 s
   Collection: active
     255,     0 swapper/3        hrtimer_start_range_ns (tick_sched_timer)
      71,     0 swapper/1        hrtimer_start_range_ns (tick_sched_timer)
      58,     0 swapper/0        hrtimer_start_range_ns (tick_sched_timer)
       4,  1694 gnome-shell      mod_delayed_work_on (delayed_work_timer_fn)
      17,     7 rcu_sched        rcu_gp_kthread (process_timeout)
   ...
       1,  4911 kworker/u16:0    mod_delayed_work_on (delayed_work_timer_fn)
      1D,  2522 kworker/0:0      queue_delayed_work_on (delayed_work_timer_fn)
   1029 total events, 583.333 events/sec

              Kolumny wyniku:

              *  licznik liczby zdarzeń, po którym  opcjonalnie  (od  Linuksa  2.6.23)  występuje
                 litera "D", jeśli jest to licznik odraczalny;

              *  PID procesu inicjującego czasomierz

              *  nazwa procesu inicjującego czasomierz;

              *  funkcja, w której czasomierz został zainicjowany i

              *  (w nawiasach) funkcja wywołania zwrotnego związanego z czasomierzem.

       /proc/tty
              Podkatalog  zawierający  psuedopliki i podkatalogi sterowników terminali (tty) oraz
              protokołów sterowania linią (line discipline).

       /proc/uptime
              Ten plik zawiera dwie liczby: czas  pracy  systemu  (w  sekundach)  i  ilość  czasu
              spędzonego na wykonywaniu procesu idle (w sekundach).

       /proc/version
              Ten  napis  określa wersję obecnie działającego jądra. Zawiera on w sobie zawartość
              /proc/sys/ostype, /proc/sys/osrelease i /proc/sys/version. Na przykład:
            Linux version 1.0.9 (quinlan@phaze) #1 Sat May 14 01:51:54 EDT 1994

       /proc/vmstat (od wersji Linuksa 2.6)
              Plik ten wyświetla różne statystyki pamięci wirtualnej.

       /proc/zoneinfo (od wersji Linuksa 2.6.13)
              Plik zawiera informacje o strefach pamięci. Może być przydatny podczas analizowania
              zachowania pamięci wirtualnej.

UWAGI

       Wiele  łańcuchów  znakowych  (np.  środowisko  czy  linia  poleceń)  występuje  w  postaci
       wewnętrznej, z polami zakończonymi bajtami NUL ('\0'), więc jeśli do  ich  czytania  użyje
       się  od  -c  lub  tr  "\000" "\n", to mogą być bardziej czytelne. Alternatywnie, echo `cat
       <plik>` działa równie dobrze.

       Ta strona podręcznika jest niekompletna, prawdopodobnie  niedokładna  i  należy  do  tych,
       które powinny być bardzo często poprawiane.

ZOBACZ TAKŻE

       cat(1),   dmesg(1),   find(1),  free(1),  ps(1),  tr(1),  uptime(1),  chroot(2),  mmap(2),
       readlink(2), syslog(2), slabinfo(5), hier(7),  time(7),  arp(8),  hdparm(8),  ifconfig(8),
       init(8), lsmod(8), lspci(8), mount(8), netstat(8), procinfo(8), route(8), sysctl(8)

       Pliki       w      źródłach      jądra      Linux:      Documentation/filesystems/proc.txt
       Documentation/sysctl/fs.txt, Documentation/sysctl/kernel.txt, Documentation/sysctl/net.txt
       i Documentation/sysctl/vm.txt.

O STRONIE

       Angielska  wersja  tej  strony  pochodzi  z  wydania  3.71  projektu Linux man-pages. Opis
       projektu, informacje dotyczące zgłaszania błędów, oraz najnowszą  wersję  oryginału  można
       znaleźć pod adresem http://www.kernel.org/doc/man-pages/.

TŁUMACZENIE

       Jiffy  to wartość wynosząca, w zależności od architektury, od 1 do 10 ms (4 ms w przypadku
       i386).

       Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Przemek  Borys  (PTM)
       <pborys@p-soft.silesia.linux.org.pl>,  Robert  Luberda <robert@debian.org> i Michał Kułach
       <michal.kulach@gmail.com>.

       Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów  na
       stronie   http://sourceforge.net/projects/manpages-pl/.   Jest   zgodne   z  wersją   3.71
       oryginału.