Provided by: manpages-pl_4.15.0-9_all bug

NAZWA

       proc - pseudosystem plików z informacjami o procesach

OPIS

       The  proc  filesystem  is  a  pseudo-filesystem which provides an interface to kernel data
       structures.  It is commonly mounted at /proc.  Typically, it is mounted  automatically  by
       the system, but it can also be mounted manually using a command such as:

           mount -t proc proc /proc

       Most  of  the  files  in  the  proc filesystem are read-only, but some files are writable,
       allowing kernel variables to be changed.

   Opcje montowania
       System plików proc obsługuje następujące opcje montowania:

       hidepid=n (od Linuksa 3.3)
              Opcja kontroluje kto może uzyskać dostęp do informacji  w  katalogach  /proc/[pid].
              Argument n przyjmuje jedną z następujących wartości:

              0   Wszyscy  mają  dostęp do katalogów /proc/[pid]. Jest to tradycyjne zachowanie i
                  domyślne, jeśli nie użyje się tej opcji montowania.

              1   Użytkownicy nie mogą uzyskać dostępu do  plików  i  podkatalogów  w  katalogach
                  /proc/[pid]   innych  niż  ich  własne  (same  katalogi  /proc/[pid]  pozostają
                  widoczne). Wrażliwe pliki, takie jak /proc/[pid]/cmdline  i  /proc/[pid]/status
                  są  chronione  przed  innymi  użytkownikami.  Dzięki  temu niemożliwe staje się
                  dowiedzenie się, czy jakiś użytkownik uruchomił konkretny program  (tak  długo,
                  jak sam program nie ujawnia tego swoim zachowaniem).

              2   Jak   w  trybie  1,  lecz  dodatkowo  katalogi  /proc/[pid]  przynależne  innym
                  użytkownikom  pozostają niewidoczne.  Oznacza  to,  że  wpisy  /proc/[pid]  nie
                  mogą dłużej  służyć  do  poznania  PID-ów  w  systemie. Nie ukrywa to faktu, że
                  proces o określonym PID istnieje (można się tego dowiedzieć  innymi  sposobami,
                  np.  poprzez  "kill  -0  $PID"),  ale  ukrywa  UID i GID procesu, które w innym
                  przypadku można by było poznać wykonując stat(2) na  katalogu  /proc/[pid].  To
                  znacznie  utrudnia  zadanie  atakującego  polegające na pozyskaniu informacji o
                  działających procesach  (np.  odkrycie  czy  jakiś  demon  działa  z  większymi
                  uprawnieniami,  czy jakiś użytkownik ma uruchomiony jakiś wrażliwy program, czy
                  inni użytkownicy w ogóle mają coś uruchomione itd.).

       gid=gid (od Linuksa 3.3)
              Określa ID  grupy,  której  członkowie  są  uprawnieni  do  dostępu  do  informacji
              zablokowanych innym przez hidepid (tzn. użytkownicy w tej grupie zachowują się tak,
              jakby /proc zostało zamontowane z hidepid=0). Powinno się używać tej grupy, zamiast
              innych rozwiązań, takich jak umieszczanie użytkowników nie-root w pliku sudoers(5).

   Overview
       Underneath /proc, there are the following general groups of files and subdirectories:

       /proc/[pid] subdirectories
              Each  one  of  these  subdirectories  contains  files  and  subdirectories exposing
              information about the process with the corresponding process ID.

              Underneath each of  the  /proc/[pid]  directories,  a  task  subdirectory  contains
              subdirectories  of  the  form  task/[tid],  which contain corresponding information
              about each of the threads in the process, where tid is the kernel thread ID of  the
              thread.

              The  /proc/[pid]  subdirectories  are  visible  when  iterating  through /proc with
              getdents(2)  (and thus are visible when one uses ls(1)  to  view  the  contents  of
              /proc).

       /proc/[tid] subdirectories
              Each  one  of  these  subdirectories  contains  files  and  subdirectories exposing
              information about the thread with the corresponding thread  ID.   The  contents  of
              these   directories  are  the  same  as  the  corresponding  /proc/[pid]/task/[tid]
              directories.

              The /proc/[tid] subdirectories are not visible when iterating  through  /proc  with
              getdents(2)  (and thus are not visible when one uses ls(1)  to view the contents of
              /proc).

       /proc/self
              When a process accesses this magic symbolic link, it resolves to the process's  own
              /proc/[pid] directory.

       /proc/thread-self
              When  a  thread accesses this magic symbolic link, it resolves to the process's own
              /proc/self/task/[tid] directory.

       /proc/[a-z]*
              Various other files and subdirectories under /proc expose system-wide information.

       All of the above are described in more detail below.

   Pliki i katalogi
       The following list provides details of many of the files and directories under  the  /proc
       hierarchy.

       /proc/[pid]
              There  is  a  numerical  subdirectory for each running process; the subdirectory is
              named by the process ID.  Each /proc/[pid] subdirectory contains  the  pseudo-files
              and directories described below.

              The  files  inside  each  /proc/[pid] directory are normally owned by the effective
              user and effective group ID of the process.  However, as a  security  measure,  the
              ownership is made root:root if the process's "dumpable" attribute is set to a value
              other than 1.

              Before Linux 4.11, root:root meant the "global" root user ID and  group  ID  (i.e.,
              UID  0  and GID 0 in the initial user namespace).  Since Linux 4.11, if the process
              is in a noninitial user namespace that has a valid mapping for user  (group)  ID  0
              inside  the  namespace,  then  the  user  (group)  ownership  of  the  files  under
              /proc/[pid] is instead made the same as the root user (group) ID of the  namespace.
              This  means  that  inside  a  container,  things work as expected for the container
              "root" user.

              The process's "dumpable" attribute may change for the following reasons:

              *  The attribute was explicitly set via the prctl(2)  PR_SET_DUMPABLE operation.

              *  The attribute was reset to the  value  in  the  file  /proc/sys/fs/suid_dumpable
                 (described below), for the reasons described in prctl(2).

              Resetting  the "dumpable" attribute to 1 reverts the ownership of the /proc/[pid]/*
              files to the process's effective UID and GID.  Note, however, that if the effective
              UID or GID is subsequently modified, then the "dumpable" attribute may be reset, as
              described in prctl(2).  Therefore, it may be  desirable  to  reset  the  "dumpable"
              attribute after making any desired changes to the process's effective UID or GID.

       /proc/[pid]/attr
              Pliki    w    tym    katalogu   udostępniają   API   do   modułów   bezpieczeństwa.
              Zawartością katalogu są pliki, które mogą być odczytywane i zapisywane, aby ustawić
              atrybuty  związane z bezpieczeństwem. Ten katalog został dodany do obsługi SELinux,
              ale intencją było to, aby API było na  tyle  ogóle,  aby  obsługiwać  również  inne
              moduły bezpieczeństwa. Dla wyjaśnienia, poniżej przedstawiono przykłady jak SELinux
              używa tych plików.

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

       /proc/[pid]/attr/current (od Linuksa 2.6.0)
              Zawartość tego pliku reprezentuje aktualne atrybuty bezpieczeństwa procesu.

              W SELinuksie plik ten służy do  pozyskania  kontekstu  bezpieczeństwa  procesu.  Do
              Linuksa  2.6.11  plik nie mógł służyć do ustawienia kontekstu bezpieczeństwa (zapis
              był zawsze zabroniony), odkąd SELinux ograniczyć przejścia  bezpieczeństwa  procesu
              do  execve(2) (zob. opis /proc/[pid]/attr/exec, poniżej). Od Linuksa 2.6.11 SELinux
              poluzował to ograniczenie i zaczął obsługiwać operacje "ustawiania"  poprzez  zapis
              do  tego węzła, jeśli jest on autoryzowany przez politykę, choć użycie tej operacji
              jest   odpowiednie    jedynie    dla    aplikacji    zaufanych    do    zarządzania
              pożądaną separacją pomiędzy starymi a nowymi kontekstami bezpieczeństwa.

              Prior to Linux 2.6.28, SELinux did not allow threads within a multithreaded process
              to set their security context via this node as  it  would  yield  an  inconsistency
              among  the  security  contexts of the threads sharing the same memory space.  Since
              Linux 2.6.28, SELinux lifted this restriction and began supporting "set" operations
              for  threads  within a multithreaded process if the new security context is bounded
              by the old security context, where the bounded relation is defined  in  policy  and
              guarantees that the new security context has a subset of the permissions of the old
              security context.

              Other security modules may choose to support "set" operations via  writes  to  this
              node.

       /proc/[pid]/attr/exec (od Linuksa 2.6.0)
              Ten plik reprezentuje atrybuty przypisane do procesu przez kolejne execve(2).

              W  SELinuksie  jest  to  potrzebne do obsługi przejść roli/domeny, a execve(2) jest
              preferowanym punktem do takich przekształceń, ponieważ oferuje  on  lepszą kontrolę
              nad  inicjalizacją  procesu  w  nowej  etykiecie  bezpieczeństwa i nienaruszalności
              stanu. W SELinuksie ten atrybut jest  resetowany  przy  execve(2),  tak  więc  nowy
              program powraca do domyślnego zachowania przy każdym wywołaniu execve(2) jakie może
              utworzyć.    W    SELinuksie    proces    może    ustawić tylko    swój     atrybut
              /proc/[pid]/attr/exec.

       /proc/[pid]/attr/fscreate (od Linuksa 2.6.0)
              Plik  ten  reprezentuje  atrybuty  do przypisania do plików utworzone przez kolejne
              wywołania do open(2), mkdir(2), symlink(2) i mknod(2)

              SELinux wykorzystuje ten plik do obsługi tworzenia pliku  (za  pomocą  wspomnianych
              wcześniej  wywołań  systemowych)  w  stanie  bezpieczeństwa,  co  nie  daje  ryzyka
              niepoprawnego dostępu uzyskanego podczas tworzenia pliku i ustawiania atrybutów.  W
              SELinuksie  atrybut  ten  jest  resetowany  przy  execve(2),  tak więc nowy program
              powraca do domyślnego zachowania przy każdym wywołaniu tworzącym plik jakie może on
              wykonać,  ale  atrybut jest zachowywany podczas wielu wywołań tworzących plik przez
              jeden program, chyba że jest jawnie resetowany. W SELinuksie  proces  może  ustawić
              tylko swój atrybut /proc/[pid]/attr/fscreate.

       /proc/[pid]/attr/keycreate (od Linuksa 2.6.18)
              If  a  process  writes  a security context into this file, all subsequently created
              keys (add_key(2))  will be labeled with this context.  For further information, see
              the    kernel    source    file   Documentation/security/keys/core.rst   (or   file
              Documentation/security/keys.txt   on   Linux   between    3.0    and    4.13,    or
              Documentation/keys.txt before Linux 3.0).

       /proc/[pid]/attr/prev (od Linuksa 2.6.0)
              Plik  ten  zawiera  kontekst  bezpieczeństwa  procesu przed ostatnim execve(2); tj.
              poprzednią wartość /proc/[pid]/attr/current.

       /proc/[pid]/attr/socketcreate (od Linuksa 2.6.18)
              Jeśli proces zapisuje kontekst bezpieczeństwa  do  tego  pliku,  wszystkie  kolejno
              utworzone gniazda będą oznaczone tym kontekstem.

       /proc/[pid]/autogroup (od Linuksa 2.6.38)
              Patrz sched(7).

       /proc/[pid]/auxv (od wersji j◈dra 2.6.0)
              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).

              Permission   to   access   this   file   is   governed  by  a  ptrace  access  mode
              PTRACE_MODE_READ_FSCREDS check; see ptrace(2).

       /proc/[pid]/cgroup (od Linuksa 2.6.24)
              Patrz cgroups(7).

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

              Further values can be written to affect different properties:

              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.

              5 (od Linuksa 4.0)
                     Reset the peak resident set  size  ("high  water  mark")  to  the  process's
                     current resident set size value.

              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.

              If,  after  an execve(2), the process modifies its argv strings, those changes will
              show up here.  This is not the same thing as modifying the argv array.

              Furthermore, a process may change the memory location that  this  file  refers  via
              prctl(2)  operations such as PR_SET_MM_ARG_START.

              Think of this file as the command line that the process wants you to see.

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

              This  file  provides  a  superset  of  the  prctl(2)   PR_SET_NAME  and PR_GET_NAME
              operations, and is employed by pthread_setname_np(3)  when used to  rename  threads
              other  than  the  caller.   The  value in this file is used for the %e specifier in
              /proc/sys/kernel/core_pattern; see core(5).

       /proc/[pid]/coredump_filter (od Linuksa 2.6.23)
              Patrz core(5).

       /proc/[pid]/cpuset (od Linuksa 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; 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)).

              Permission  to dereference or read (readlink(2))  this symbolic link is governed by
              a ptrace access mode PTRACE_MODE_READ_FSCREDS check; see ptrace(2).

       /proc/[pid]/environ
              This file contains  the  initial  environment  that  was  set  when  the  currently
              executing  program  was  started  via execve(2).  The entries are separated by null
              bytes ('\0'), and there may be a null byte at the end.   Thus,  to  print  out  the
              environment of process 1, you would do:

                  $ cat /proc/1/environ | tr '\000' '\n'

              If,  after  an  execve(2),  the  process modifies its environment (e.g., by calling
              functions such as putenv(3)  or modifying the environ(7) variable  directly),  this
              file will not reflect those changes.

              Furthermore,  a  process  may  change the memory location that this file refers via
              prctl(2)  operations such as PR_SET_MM_ENV_START.

              Permission  to  access  this  file  is   governed   by   a   ptrace   access   mode
              PTRACE_MODE_READ_FSCREDS check; see ptrace(2).

       /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 pliku wykonywalnego, co uruchomiony przez [pid]. Jeśli ścieżka została
              odlinkowana, dowiązanie symboliczne będzie zawierało łańcuch '(deleted)' dodany  do
              oryginalnej  ścieżki.  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)).

              Permission  to dereference or read (readlink(2))  this symbolic link is governed by
              a ptrace access mode PTRACE_MODE_READ_FSCREDS check; see ptrace(2).

              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ą  bpf(2),  epoll_create(2), eventfd(2),
              inotify_init(2),    perf_event_open(2),    signalfd(2),     timerfd_create(2)     i
              userfaultfd(2)), wpis będzie dowiązaniem symbolicznym z zawartością w postaci

                  anon_inode:<typ-pliku>

              In many cases (but not all), the file-type is surrounded by square brackets.

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

              Programs that take a filename as a command-line argument, but don't take input from
              standard input if no argument is supplied, and programs that write to a file  named
              as  a  command-line  argument, but don't send their output to standard output if no
              argument is supplied, can nevertheless be made to use standard  input  or  standard
              output  by  using  /proc/[pid]/fd  files  as  command-line arguments.  For example,
              assuming that -i is the  flag  designating  an  input  file  and  -o  is  the  flag
              designating an output file:

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

              Permission  to  dereference  or  read  (readlink(2))   the  symbolic  links in this
              directory is governed by a ptrace access mode PTRACE_MODE_READ_FSCREDS  check;  see
              ptrace(2).

              Note  that for file descriptors referring to inodes (pipes and sockets, see above),
              those inodes still have permission bits and  ownership  information  distinct  from
              those  of the /proc/[pid]/fd entry, and that the owner may differ from the user and
              group IDs of the process.  An unprivileged process may  lack  permissions  to  open
              them, as in this example:

                  $ echo test | sudo -u nobody cat
                  test
                  $ echo test | sudo -u nobody cat /proc/self/fd/0
                  cat: /proc/self/fd/0: Permission denied

              File descriptor 0 refers to the pipe created by the shell and owned by that shell's
              user, which is not nobody, so cat does not have permission to  create  a  new  file
              descriptor to read from that inode, even though it can still read from its existing
              file descriptor 0.

       /proc/[pid]/fdinfo/ (od Linuksa 2.6.22)
              Jest to podkatalog zawierający po jednym wpisie dla każdego pliku  otwartego  przez
              proces;   nazwą  tego  wpisu  jest  deskryptor  pliku.  Pliki  w  tym  katalogu  są
              odczytywalne tylko dla właściciela procesu. Zawartość  pliku  można  odczytać,  aby
              uzyskać informacje o odpowiadającym mu deskryptorze pliku. Zawartość zależy od typu
              pliku odpowiadającego odpowiedniemu deskryptorowi pliku.

              Dla zwykłych plików i katalogów wygląda to zwykle tak:

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

              Występują następujące pola:

              pos    Jest to liczba dziesiętna pokazująca przesunięcie pliku.

              flags  Jest to liczba ósemkowa wyświetlająca tryb dostępu  pliku  i  flagi  statusu
                     pliku   (zob.   open(2)).  JEśli  ustawiona  jest  flaga  deskryptora  pliku
                     close-on-exec, to flags będzie zawierało również wartość O_CLOEXEC.

                     Przed Linuksem 3.1 to pole nieprawidłowo wyświetlało ustawienie O_CLOEXEC  w
                     trakcie otwierania pliku, zamiast aktualnego ustawienia flagi close-on-exec.

              mnt_id This field, present since Linux 3.15, is the ID of the mount containing this
                     file.  See the description of /proc/[pid]/mountinfo.

              Dla deskryptorów plików eventfd (zob. eventfd(2)), wyświetlane są (od Linuksa  3.8)
              następujące pola:

                  pos: 0
                  flags:    02
                  mnt_id:   10
                  eventfd-count:               40

              eventfd-count jest bieżącą wartością licznika eventfd, szesnastkowo.

              Dla  deskryptorów  plików  epoll  (zob.  epoll(7)), wyświetlane są (od Linuksa 3.8)
              następujące pola:

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

              Każdy wiersz zaczynający się od tfd opisuje jeden z deskryptorów pliku monitorowany
              za  pomocą deskryptora pliku epool (zob. epoll_ctl(2) aby zapoznać się z niektórymi
              szczegółami).  Pole  tfd  jest  numerem  deskryptora  pliku.   Pole   events   jest
              szesnastkową  maską  zdarzeń  monitorowanych  dla tego deskryptora pliku. Pole data
              jest wartością danych powiązanych z tym deskryptorem pliku.

              Dla deskryptorów plików signalfd (zob. signalfd(2)),  wyświetlane  są  (od  Linuksa
              3.8) następujące pola:

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

              sigmask jest szesnastkową maską sygnałów akceptowanych poprzez ten deskryptor pliku
              signalfd (w tym przykładzie ustawione są bity 2 i 3 odpowiadające sygnałom SIGINT i
              SIGQUIT; zob. signal(7)).

              Dla  deskryptorów plików inotify (zob. inotify(7)), wyświetlane są (od Linuksa 3.8)
              następujące pola:

                  pos: 0
                  flags:    00
                  mnt_id:   11
                  inotify wd:2 ino:7ef82a sdev:800001 mask:800afff ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:2af87e00220ffd73
                  inotify wd:1 ino:192627 sdev:800001 mask:800afff ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:27261900802dfd73

              Każdy z wierszy zaczynający się  od  "inotify"  wyświetla  informacje  o  jednym  z
              monitorowanych plików lub katalogów. W wierszu występują następujące pola:

              wd     Numer obserwowanego deskryptora (dziesiętnie). (od ang. watch descriptor)

              ino    Numer i-węzła pliku docelowego (szesnastkowo).

              sdev   ID urządzenia, na którym znajduje się plik docelowy (szesnastkowo).

              mask   Maska monitorowanych zdarzeń pliku docelowego (szesnastkowo).

              Jeśli  jądro  zbudowano  z  obsługą  exportfs,  ścieżka  do  pliku  docelowego jest
              wyświetlona  jako  uchwyt  pliku,  przez  trzy  pola  szesnastkowe:  fhandle-bytes,
              fhandle-type i f_handle.

              Dla  deskryptorów  plików  fanotify  (zob. fanotify(7)), wyświetlane są (od Linuksa
              3.8) następujące pola:

                  pos: 0
                  flags:    02
                  mnt_id:   11
                  fanotify flags:0 event-flags:88002
                  fanotify ino:19264f sdev:800001 mflags:0 mask:1 ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:4f261900a82dfd73

              Czwarty wiersz wyświetla informacje  zdefiniowane  przy  tworzeniu  grupy  fanotify
              poprzez fanotify_init(2):

              flags  Argument flags podany fanotify_init(2) (wyrażony szesnastkowo).

              event-flags
                     Argument event_f_flags podany fanotify_init(2) (wyrażony szesnastkowo).

              Każdy  dodatkowy  wiersz  pokazany  w pliku zawiera informacje o jednym znaku (ang.
              mark) grupy fanotify. Większość z tych pól jest takich jak do inotify z wyjątkiem:

              mflags Flagi powiązane ze znakiem (wyrażone szesnastkowo).

              mask   Maski zdarzeń dla tego znaku (wyrażone szesnastkowo).

              ignored_mask
                     Maski zdarzeń ignorowanych dla tego znaku (wyrażone szesnastkowo).

              Więcej informacji o tych polach znajduje się w podręczniku fanotify_mark(2).

              Dla deskryptorów plików timerfd (zob. timerfd(2)), wyświetlane są (od Linuksa 3.17)
              następujące pola:

                  pos:    0
                  flags:  02004002
                  mnt_id: 13
                  clockid: 0
                  ticks: 0
                  settime flags: 03
                  it_value: (7695568592, 640020877)
                  it_interval: (0, 0)

              clockid
                     This  is  the  numeric  value  of  the clock ID (corresponding to one of the
                     CLOCK_* constants defined via <time.h>)  that is used to mark  the  progress
                     of the timer (in this example, 0 is CLOCK_REALTIME).

              ticks  This is the number of timer expirations that have occurred, (i.e., the value
                     that read(2)  on it would return).

              settime flags
                     This field lists the flags with  which  the  timerfd  was  last  armed  (see
                     timerfd_settime(2)),  in  octal (in this example, both TFD_TIMER_ABSTIME and
                     TFD_TIMER_CANCEL_ON_SET are set).

              it_value
                     This field contains the amount of time until the  timer  will  next  expire,
                     expressed  in  seconds  and  nanoseconds.   This  is  always  expressed as a
                     relative value, regardless of  whether  the  timer  was  created  using  the
                     TFD_TIMER_ABSTIME flag.

              it_interval
                     This  field  contains the interval of the timer, in seconds and nanoseconds.
                     (The   it_value   and   it_interval   fields   contain   the   values   that
                     timerfd_gettime(2)  on this file descriptor would return.)

       /proc/[pid]/gid_map (od Linuksa 3.5)
              Zob. user_namespaces(7).

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

              Permission  to  access  this  file  is   governed   by   a   ptrace   access   mode
              PTRACE_MODE_READ_FSCREDS check; see ptrace(2).

       /proc/[pid]/limits (od Linuksa 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)

              Permission   to   access   this   file   is   governed  by  a  ptrace  access  mode
              PTRACE_MODE_READ_FSCREDS check; see ptrace(2).

              Until   kernel   version   4.3,   this   directory    appeared    only    if    the
              CONFIG_CHECKPOINT_RESTORE kernel configuration option was enabled.

              Capabilities  are  required  to  read  the  contents  of the symbolic links in this
              directory: before Linux 5.9, the reading  process  requires  CAP_SYS_ADMIN  in  the
              initial  user  namespace;  since  Linux  5.9,  the reading process must have either
              CAP_SYS_ADMIN or CAP_CHECKPOINT_RESTORE in the user namespace where it resides.

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

              Permission   to   access   this   file   is   governed  by  a  ptrace  access  mode
              PTRACE_MODE_READ_FSCREDS check; see ptrace(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>] (Linux w wersji od 3.4 do 4.4)
                     A thread's stack (where the <tid> is a thread ID).  It  corresponds  to  the
                     /proc/[pid]/task/[tid]/  path.   This  field was removed in Linux 4.5, since
                     providing this information for a process with large numbers  of  threads  is
                     expensive.

              [vdso] Wirtualny, dynamicznie linkowany obiekt współdzielony. Patrz vdso(7).

              [heap] Stos wątku.

              If  the  pathname  field  is  blank,  this  is an anonymous mapping as obtained via
              mmap(2).  There is no easy way to coordinate this back to a process's source, short
              of running it through gdb(1), strace(1), or similar.

              pathname  is shown unescaped except for newline characters, which are replaced with
              an octal escape sequence.  As a result, it is not possible to determine whether the
              original  pathname  contained  a  newline  character  or the literal \012 character
              sequence.

              If the mapping is  file-backed  and  the  file  has  been  deleted,  the  string  "
              (deleted)" is appended to the pathname.  Note that this is ambiguous too.

              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.

              Permission  to  access  this  file  is   governed   by   a   ptrace   access   mode
              PTRACE_MODE_ATTACH_FSCREDS check; see ptrace(2).

       /proc/[pid]/mountinfo (od wersji jądra 2.6.26)
              This  file  contains information about mounts in the process's mount namespace (see
              mount_namespaces(7)).  It supplies various information  (e.g.,  propagation  state,
              root  of  mount  for bind mounts, identifier for each mount and its parent) that is
              missing from the (older)  /proc/[pid]/mounts file, and fixes various other problems
              with  that  file  (e.g.,  nonextensibility, failure to distinguish per-mount versus
              per-superblock options).

              The file contains lines of the form:

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

              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)  parent  ID:  the ID of the parent mount (or of self for the root of this mount
                   namespace's mount tree).

                   If a new mount is stacked on top of a previous  existing  mount  (so  that  it
                   hides  the  existing mount) at pathname P, then the parent of the new mount is
                   the previous mount at that location.  Thus, when looking  at  all  the  mounts
                   stacked  at  a  particular location, the top-most mount is the one that is not
                   the parent of any other mount at the same location.  (Note, however, that this
                   top-most mount will be accessible only if the longest path subprefix of P that
                   is a mount point is not itself hidden by a stacked mount.)

                   If the parent mount lies outside the process's root directory (see chroot(2)),
                   the  ID  shown here won't have a corresponding record in mountinfo whose mount
                   ID (field 1) matches this parent mount ID (because mounts that lie outside the
                   process's  root  directory  are not shown in mountinfo).  As a special case of
                   this point, the process's  root  mount  may  have  a  parent  mount  (for  the
                   initramfs  filesystem)  that lies outside the process's root directory, and an
                   entry for that mount will not appear in mountinfo.

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

              (4)  root:  the pathname of the directory in the filesystem which forms the root of
                   this mount.

              (5)  mount point: the pathname of the mount point relative to  the  process's  root
                   directory.

              (6)  opcje montowania: opcje montowania dla każdego montowania (patrz mount(2)).

              (7)  optional fields: zero or more fields of the form "tag[:value]"; see below.

              (8)  separator: the end of the optional fields is marked by a single hyphen.

              (9)  filesystem type: the filesystem type in the form "type[.subtype]".

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

              (11) super opcje: opcje dla superbloku (patrz mount(2)).

              Currently,  the  possible  optional  fields are shared, master, propagate_from, and
              unbindable.  See mount_namespaces(7)  for a description of these  fields.   Parsers
              should ignore all unrecognized optional fields.

              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)
              This file lists all the  filesystems  currently  mounted  in  the  process's  mount
              namespace  (see  mount_namespaces(7)).   The  format  of this file is documented in
              fstab(5).

              Since kernel version 2.6.15, this file is pollable:  after  opening  the  file  for
              reading,  a  change  in  this  file  (i.e.,  a  filesystem mount or unmount) causes
              select(2)  to mark the file descriptor as  having  an  exceptional  condition,  and
              poll(2)   and  epoll_wait(2)   mark  the file as having a priority event (POLLPRI).
              (Before Linux 2.6.30, a change in this file was indicated by  the  file  descriptor
              being  marked  as  readable  for  select(2),  and  being  marked as having an error
              condition for poll(2) and epoll_wait(2).)

       /proc/[pid]/mountstats (Od wersji Linuksa 2.6.17)
              This file exports information (statistics, configuration  information)   about  the
              mounts  in  the process's mount namespace (see mount_namespaces(7)).  Lines in this
              file have the form:

                  device /dev/sda7 mounted on /home with fstype ext3 [stats]
                  (       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]/net (od Linuksa 2.6.25)
              Zobacz opis /proc/net.

       /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, proszę
              zapoznać się z namespaces(7).

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

              * whether the process is privileged (-).

              Before  kernel  2.6.36  the  following factors were also used in the calculation of
              oom_score:

              * 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 (-),

              * whether the process has a low nice value (i.e., > 0) (+); and

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

              The  value  of  oom_score_adj  is  added  to the badness score before it is used to
              determine   which   task   to   kill.    Acceptable   values   range   from   -1000
              (OOM_SCORE_ADJ_MIN)  to  +1000  (OOM_SCORE_ADJ_MAX).   This  allows  user  space to
              control the preference for OOM-killing, ranging from always  preferring  a  certain
              task  or  completely  disabling  it  from  OOM-killing.  The lowest possible value,
              -1000, is equivalent to disabling OOM-killing entirely for that task, since it will
              always report a badness score of 0.

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

              The   choom(1)   program  provides  a  command-line  interface  for  adjusting  the
              oom_score_adj value of a running process or a newly executed command.

       /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–57 (od Linuksa 3.11)
                     Zero

              56 (od Linuksa 4.2)
                     The page is exclusively mapped.

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

              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.

              Permission   to   access   this   file   is   governed  by  a  ptrace  access  mode
              PTRACE_MODE_READ_FSCREDS check; see ptrace(2).

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

              Permission   to   access   this   file   is   governed  by  a  ptrace  access  mode
              PTRACE_MODE_ATTACH_FSCREDS check; see ptrace(2).

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

              Note  however  that  this file is not merely a symbolic link.  It provides the same
              view of the filesystem (including namespaces and the set of per-process mounts)  as
              the  process itself.  An example illustrates this point.  In one terminal, we start
              a shell in new user and mount namespaces, and in that  shell  we  create  some  new
              mounts:

                  $ PS1='sh1# ' unshare -Urnm
                  sh1# mount -t tmpfs tmpfs /etc  # Mount empty tmpfs at /etc
                  sh1# mount --bind /usr /dev     # Mount /usr at /dev
                  sh1# echo $$
                  27123

              In  a  second  terminal  window,  in  the  initial  mount namespace, we look at the
              contents of the corresponding mounts in the initial and new namespaces:

                  $ PS1='sh2# ' sudo sh
                  sh2# ls /etc | wc -l                  # In initial NS
                  309
                  sh2# ls /proc/27123/root/etc | wc -l  # /etc in other NS
                  0                                     # The empty tmpfs dir
                  sh2# ls /dev | wc -l                  # In initial NS
                  205
                  sh2# ls /proc/27123/root/dev | wc -l  # /dev in other NS
                  11                                    # Actually bind
                                                        # mounted to /usr
                  sh2# ls /usr | wc -l                  # /usr in initial NS
                  11

              In a multithreaded process, the contents of the /proc/[pid]/root symbolic link  are
              not  available  if  the  main  thread  has already terminated (typically by calling
              pthread_exit(3)).

              Permission to dereference or read (readlink(2))  this symbolic link is governed  by
              a ptrace access mode PTRACE_MODE_READ_FSCREDS check; see ptrace(2).

       /proc/[pid]/projid_map (since Linux 3.7)
              Zob. user_namespaces(7).

       /proc/[pid]/seccomp (Linux w wersji od 2.6.12 do 2.6.22)
              This  file  can be used to read and change the process's secure computing (seccomp)
              mode setting.  It contains the value 0 if the process is not in seccomp mode, and 1
              if  the process is in strict seccomp mode (see seccomp(2)).  Writing 1 to this file
              places the process irreversibly in strict seccomp mode.  (Further attempts to write
              to the file fail with the EPERM error.)

              In Linux 2.6.23, this file went away, to be replaced by the prctl(2) PR_GET_SECCOMP
              and PR_SET_SECCOMP operations (and later by seccomp(2)  and the  Seccomp  field  in
              /proc/[pid]/status).

       /proc/[pid]/setgroups (od Linuksa 3.19)
              Zob. user_namespaces(7).

       /proc/[pid]/smaps (od Linuksa 2.6.14)
              Plik  ten pokazuje zużycie pamięci dla każdego mapowania procesu (polecenie pmap(1)
              wyświetla  podobne   informacje,   w   postaci   która   może   być łatwiejsza   do
              przetwarzania).  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
                  ShmemHugePages:        0 kB
                  ShmemPmdMapped:        0 kB
                  Swap:                  0 kB
                  KernelPageSize:        4 kB
                  MMUPageSize:           4 kB
                  KernelPageSize:        4 kB
                  MMUPageSize:           4 kB
                  Locked:                0 kB
                  ProtectionKey:         0
                  VmFlags: rd ex mr mw me dw

              The first of these lines shows the same information as is displayed for the mapping
              in  /proc/[pid]/maps.  The following lines show the size of the mapping, the amount
              of  the  mapping  that  is  currently  resident  in  RAM  ("Rss"),  the   process's
              proportional  share  of  this mapping ("Pss"), the number of clean and dirty shared
              pages in the mapping, and the number of  clean  and  dirty  private  pages  in  the
              mapping.    "Referenced"  indicates  the  amount  of  memory  currently  marked  as
              referenced or accessed.  "Anonymous" shows the  amount  of  memory  that  does  not
              belong  to any file.  "Swap" shows how much would-be-anonymous memory is also used,
              but out on swap.

              The "KernelPageSize" line (available since Linux 2.6.29)  is the page size used  by
              the  kernel to back the virtual memory area.  This matches the size used by the MMU
              in the majority of cases.  However, one counter-example  occurs  on  PPC64  kernels
              whereby  a  kernel using 64 kB as a base page size may still use 4 kB pages for the
              MMU on older processors.  To distinguish the two attributes, the "MMUPageSize" line
              (also available since Linux 2.6.29) reports the page size used by the MMU.

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

              The  "ProtectionKey"  line  (available  since Linux 4.9, on x86 only)  contains the
              memory protection key (see pkeys(7))  associated  with  the  virtual  memory  area.
              This    entry    is   present   only   if   the   kernel   was   built   with   the
              CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS configuration option (since Linux 4.6).

              The "VmFlags" line  (available  since  Linux  3.8)   represents  the  kernel  flags
              associated  with  the  virtual  memory area, encoded using the following two-letter
              codes:

                  rd  - readable
                  wr  - writable
                  ex  - executable
                  sh  - shared
                  mr  - may read
                  mw  - may write
                  me  - may execute
                  ms  - may share
                  gd  - stack segment grows down
                  pf  - pure PFN range
                  dw  - disabled write to the mapped file
                  lo  - pages are locked in memory
                  io  - memory mapped I/O area
                  sr  - sequential read advise provided
                  rr  - random read advise provided
                  dc  - do not copy area on fork
                  de  - do not expand area on remapping
                  ac  - area is accountable
                  nr  - swap space is not reserved for the area
                  ht  - area uses huge tlb pages
                  sf  - perform synchronous page faults (since Linux 4.15)
                  nl  - non-linear mapping (removed in Linux 4.0)
                  ar  - architecture specific flag
                  wf  - wipe on fork (since Linux 4.14)
                  dd  - do not include area into core dump
                  sd  - soft-dirty flag (since Linux 3.13)
                  mm  - mixed map area
                  hg  - huge page advise flag
                  nh  - no-huge page advise flag
                  mg  - mergeable advise flag
                  um  - userfaultfd missing pages tracking (since Linux 4.3)
                  uw  - userfaultfd wprotect pages tracking (since Linux 4.3)

              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.

              Permission   to   access   this   file   is   governed  by  a  ptrace  access  mode
              PTRACE_MODE_ATTACH_FSCREDS check; see ptrace(2).

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

              The  fields,  in  order,  with their proper scanf(3)  format specifiers, are listed
              below.  Whether or not  certain  of  these  fields  display  valid  information  is
              governed  by  a  ptrace  access mode PTRACE_MODE_READ_FSCREDS | PTRACE_MODE_NOAUDIT
              check (refer to ptrace(2)).  If the check denies access, then the  field  value  is
              displayed as 0.  The affected fields are indicated with the marking [PT].

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

              (2) comm  %s
                     The  filename  of  the  executable,  in  parentheses.   Strings  longer than
                     TASK_COMM_LEN (16) characters (including  the  terminating  null  byte)  are
                     silently  truncated.   This  is  visible  whether  or  not the executable is
                     swapped out.

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

              (10) 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: number of pages the process has in real memory.  This is
                     just the pages which count toward text, data, or stack space.  This does not
                     include  pages  which  have  not been demand-loaded in, or which are swapped
                     out.  This value is inaccurate; see /proc/[pid]/statm below.

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

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

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

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

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

              (30) kstkeip  %lu  [PT]
                     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  [PT]
                     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)  [PT]
                     Adres  powyższej którego umieszczane są zainicjowane i niezainicjowane (BSS)
                     dane programu.

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

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

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

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

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

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

              (52) exit_code  %d  (od Linuksa 3.5)  [PT]
                     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) total program size
                             (same as VmSize in /proc/[pid]/status)
                  resident   (2) resident set size
                             (inaccurate; same as VmRSS in /proc/[pid]/status)
                  shared     (3) number of resident shared pages
                             (i.e., backed by a file)
                             (inaccurate; same as RssFile+RssShmem in
                             /proc/[pid]/status)
                  text       (4) text (code)
                  lib        (5) library (unused since Linux 2.6; always 0)
                  data       (6) data + stack
                  dt         (7) dirty pages (unused since Linux 2.6; always 0)

              Some of these values  are  inaccurate  because  of  a  kernel-internal  scalability
              optimization.    If   accurate   values  are  required,  use  /proc/[pid]/smaps  or
              /proc/[pid]/smaps_rollup instead, which  are  much  slower  but  provide  accurate,
              detailed information.

       /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
                  Umask:  0022
                  State:  S (sleeping)
                  Tgid:   17248
                  Ngid:   0
                  Pid:    17248
                  PPid:   17200
                  TracerPid:      0
                  Uid:    1000    1000    1000    1000
                  Gid:    100     100     100     100
                  FDSize: 256
                  Groups: 16 33 100
                  NStgid: 17248
                  NSpid:  17248
                  NSpgid: 17248
                  NSsid:  17200
                  VmPeak:     131168 kB
                  VmSize:     131168 kB
                  VmLck:           0 kB
                  VmPin:           0 kB
                  VmHWM:       13484 kB
                  VmRSS:       13484 kB
                  RssAnon:     10264 kB
                  RssFile:      3220 kB
                  RssShmem:        0 kB
                  VmData:      10332 kB
                  VmStk:         136 kB
                  VmExe:         992 kB
                  VmLib:        2104 kB
                  VmPTE:          76 kB
                  VmPMD:          12 kB
                  VmSwap:          0 kB
                  HugetlbPages:          0 kB        # 4.4
                  CoreDumping:   0                       # 4.15
                  Threads:        1
                  SigQ:   0/3067
                  SigPnd: 0000000000000000
                  ShdPnd: 0000000000000000
                  SigBlk: 0000000000010000
                  SigIgn: 0000000000384004
                  SigCgt: 000000004b813efb
                  CapInh: 0000000000000000
                  CapPrm: 0000000000000000
                  CapEff: 0000000000000000
                  CapBnd: ffffffffffffffff
                  CapAmb:   0000000000000000
                  NoNewPrivs:     0
                  Seccomp:        0
                  Speculation_Store_Bypass:       vulnerable
                  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   Command run  by  this  process.   Strings  longer  than  TASK_COMM_LEN  (16)
                     characters (including the terminating null byte) are silently truncated.

              Umask  Process umask, expressed in octal with a leading zero; see umask(2).  (Since
                     Linux 4.7.)

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

              Ngid   NUMA group ID (0 if none; since Linux 3.13).

              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.

              NStgid Thread  group ID (i.e., PID) in each of the PID namespaces of which [pid] is
                     a member.  The leftmost entry shows  the  value  with  respect  to  the  PID
                     namespace  of the process that mounted this procfs (or the root namespace if
                     mounted by the kernel), followed by the value in successively  nested  inner
                     namespaces.  (Since Linux 4.1.)

              NSpid  Thread  ID  in  each  of the PID namespaces of which [pid] is a member.  The
                     fields are ordered as for NStgid.  (Since Linux 4.1.)

              NSpgid Process group ID in each of the PID namespaces of which [pid] is  a  member.
                     The fields are ordered as for NStgid.  (Since Linux 4.1.)

              NSsid  descendant  namespace  session  ID  hierarchy  Session ID in each of the PID
                     namespaces of which [pid] is a  member.   The  fields  are  ordered  as  for
                     NStgid.  (Since Linux 4.1.)

              VmPeak Szczytowy rozmiar pamięci wirtualnej.

              VmSize Virtual memory size.

              VmLck  Rozmiar pamięci zablokowanej (patrz mlock(2)).

              VmPin  Rozmiar  pamięci  przypiętej  (od  Linuksa 3.2). Są to strony które nie mogą
                     być przeniesione,  ponieważ  coś  wymaga  bezpośredniego   dostępu   pamięci
                     fizycznej.

              VmHWM  Peak  resident  set size ("high water mark").  This value is inaccurate; see
                     /proc/[pid]/statm above.

              VmRSS  Resident set size.  Note that the value here is the sum of RssAnon, RssFile,
                     and RssShmem.  This value is inaccurate; see /proc/[pid]/statm above.

              RssAnon
                     Size  of  resident  anonymous  memory.   (since  Linux  4.5).  This value is
                     inaccurate; see /proc/[pid]/statm above.

              RssFile
                     Size  of  resident  file  mappings.   (since  Linux  4.5).   This  value  is
                     inaccurate; see /proc/[pid]/statm above.

              RssShmem
                     Size  of  resident  shared memory (includes System V shared memory, mappings
                     from tmpfs(5), and shared anonymous mappings).  (since Linux 4.5).

              VmData, VmStk, VmExe
                     Size of data, stack, and text  segments.   This  value  is  inaccurate;  see
                     /proc/[pid]/statm above.

              VmLib  Rozmiar kodu biblioteki współdzielonej.

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

              VmPMD  Size  of  second-level  page  tables  (added  in Linux 4.0; removed in Linux
                     4.15).

              VmSwap Swapped-out virtual memory size by anonymous private pages; shmem swap usage
                     is  not  included  (since  Linux  2.6.34).   This  value  is inaccurate; see
                     /proc/[pid]/statm above.

              HugetlbPages
                     Size of hugetlb memory portions (since Linux 4.4).

              CoreDumping
                     Contains the value 1 if the process is currently dumping core, and 0  if  it
                     is  not  (since  Linux  4.15).  This information can be used by a monitoring
                     process to avoid killing a process that is  currently  dumping  core,  which
                     could result in a corrupted core dump file.

              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
                     Mask (expressed in hexadecimal)  of  signals  pending  for  thread  and  for
                     process as a whole (see pthreads(7)  and signal(7)).

              SigBlk, SigIgn, SigCgt
                     Masks (expressed in hexadecimal)  indicating signals being blocked, ignored,
                     and caught (see signal(7)).

              CapInh, CapPrm, CapEff
                     Masks (expressed in hexadecimal)  of capabilities  enabled  in  inheritable,
                     permitted, and effective sets (see capabilities(7)).

              CapBnd Capability  bounding  set, expressed in hexadecimal (since Linux 2.6.26, see
                     capabilities(7)).

              CapAmb Ambient capability set, expressed  in  hexadecimal  (since  Linux  4.3,  see
                     capabilities(7)).

              NoNewPrivs
                     Value of the no_new_privs bit (since Linux 4.10, see prctl(2)).

              Seccomp
                     Tryb   procesu  seccomp  (od  Linuksa  3.8,  zob.  seccomp(2)).   0  oznacza
                     SECCOMP_MODE_DISABLED;   1   oznacza    SECCOMP_MODE_STRICT;    2    oznacza
                     SECCOMP_MODE_FILTER.  Pole  to jest udostępnione tylko gdy jądro zbudowano z
                     włączoną opcją konfiguracyjną CONFIG_SECCOMP.

              Speculation_Store_Bypass
                     Speculation flaw mitigation state (since Linux 4.17, see prctl(2)).

              Cpus_allowed
                     Hexadecimal mask of CPUs on which this process may run (since Linux  2.6.24,
                     see 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.

              Permission   to   access   this   file   is   governed  by  a  ptrace  access  mode
              PTRACE_MODE_ATTACH_FSCREDS check; see ptrace(2).

       /proc/[pid]/task (od Linuksa 2.6.0)
              This is a directory that contains one subdirectory for each thread in the  process.
              The  name  of  each  subdirectory is the numerical thread ID ([tid])  of the thread
              (see gettid(2)).

              Within each of these subdirectories, there is a set of files with  the  same  names
              and  contents as under the /proc/[pid] directories.  For attributes that are shared
              by  all  threads,  the  contents  for  each  of  the  files  under  the  task/[tid]
              subdirectories  will  be  the  same  as  in  the  corresponding  file in the parent
              /proc/[pid] directory (e.g., in a multithreaded process, all of the  task/[tid]/cwd
              files will have the same value as the /proc/[pid]/cwd file in the parent directory,
              since all of the threads in a process share a working directory).   For  attributes
              that  are  distinct  for  each thread, the corresponding files under task/[tid] may
              have different values (e.g., various fields in each of the task/[tid]/status  files
              may be different for each thread), or they might not exist in /proc/[pid] at all.

              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]/task/[tid]/children (od Linuksa 3.5)
              A space-separated list of child tasks of this task.  Each child task is represented
              by its TID.

              This option is intended for  use  by  the  checkpoint-restore  (CRIU)  system,  and
              reliably provides a list of children only if all of the child processes are stopped
              or frozen.  It does not work properly if children of the target task exit while the
              file  is  being read! Exiting children may cause non-exiting children to be omitted
              from the list.  This  makes  this  interface  even  more  unreliable  than  classic
              PID-based approaches if the inspected task and its children aren't frozen, and most
              code should probably not use this interface.

              Until  Linux   4.2,   the   presence   of   this   file   was   governed   by   the
              CONFIG_CHECKPOINT_RESTORE  kernel  configuration  option.   Since  Linux 4.2, it is
              governed by the CONFIG_PROC_CHILDREN option.

       /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 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  (lub  identyfikator  wątku  jądra  tego   wątku)   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.

              Plik     ten     jest    dostępny    tylko    jeśli    jądro    skonfigurowano    z
              CONFIG_CHECKPOINT_RESTORE.

       /proc/[pid]/timerslack_ns (od Linuksa 4.6)
              This  file  exposes  the  process's  "current"  timer  slack  value,  expressed  in
              nanoseconds.   The file is writable, allowing the process's timer slack value to be
              changed.  Writing 0 to this file resets the "current" timer slack to the  "default"
              timer slack value.  For further details, see the discussion of PR_SET_TIMERSLACK in
              prctl(2).

              Initially, permission to access this file was governed  by  a  ptrace  access  mode
              PTRACE_MODE_ATTACH_FSCREDS  check  (see ptrace(2)).  However, this was subsequently
              deemed too strict a requirement (and had the side effect that requiring  a  process
              to  have  the  CAP_SYS_PTRACE capability would also allow it to view and change any
              process's memory).  Therefore, since Linux 4.9,  only  the  (weaker)   CAP_SYS_NICE
              capability is required to access this file.

       /proc/[pid]/uid_map (since Linux 3.5)
              Zob. user_namespaces(7).

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

              Permission   to   access   this   file   is   governed  by  a  ptrace  access  mode
              PTRACE_MODE_READ_FSCREDS check; see ptrace(2).

       /proc/[tid]
              There is a numerical subdirectory for each running thread  that  is  not  a  thread
              group  leader  (i.e.,  a thread whose thread ID is not the same as its process ID);
              the subdirectory is named by the thread  ID.   Each  one  of  these  subdirectories
              contains  files  and  subdirectories exposing information about the thread with the
              thread ID tid.  The contents of these directories are the same as the corresponding
              /proc/[pid]/task/[tid] directories.

              The  /proc/[tid]  subdirectories  are not visible when iterating through /proc with
              getdents(2)  (and thus are not visible when one uses ls(1)  to view the contents of
              /proc).   However,  the pathnames of these directories are visible to (i.e., usable
              as arguments in)  system calls that operate on pathnames.

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

       /proc/buddyinfo
              Plik    ten    zawiera    informacje   używane   do   diagnozowania   problemów   z
              fragmentacją pamięci. Każdy wiersz zaczyna się identyfikatorem węzła i nazwą strefy
              które  razem  identyfikują region pamięci. Następnie znajduje się liczba dostępnych
              fragmentów określonego rzędu, w jakim te regiony są podzielone. Rozmiar  w  bajtach
              określonego rzędu jest podany według wzoru:

                  (2^rząd) * ROZMIAR_STRONY

              Algorytm alokacji bliźniaków (ang. buddy) wewnątrz jądra podzieli jeden fragment na
              dwa fragmenty mniejszego rzędu (a więc dwukrotnie mniejsze) lub połączy dwa  ciągłe
              fragmenty w jeden fragment wyższego rzędu (a więc dwukrotnie większy) aby zaspokoić
              żądanie alokacji i przeciwdziałać  fragmentacji  pamięci.  Rząd  pasuje  do  numeru
              kolumny, zaczynając liczenie od zera.

              Na przykład w systemie x86-64:
         Node 0, zone     DMA     1    1    1    0    2    1    1    0    1    1    3
         Node 0, zone   DMA32    65   47    4   81   52   28   13   10    5    1  404
         Node 0, zone  Normal   216   55  189  101   84   38   37   27    5    3  587

              W  tym  przykładzie  jest  jeden  węzeł  zawierający  trzy strefy i 11 fragmentów o
              różnych rozmiarach. Jeśli rozmiar strony wynosi 4 kilobajty,  to  pierwsza  strefa,
              nazywana  DMA  (na x86 jest to pierwszych 16 megabajtów pamięci), ma dostępny m.in.
              jeden fragment o rozmiarze 4 kilobajtów (rząd  0)  i  3  fragmenty  o  rozmiarze  4
              megabajtów (rząd 10).

              Jeśli  pamięć  jest  mocno  pofragmentowana, liczniki dla fragmentów wyższego rzędu
              wyniosą zero, a przydzielenie większych, ciągłych powierzchni nie powiedzie się.

              Więcej informacji o strefach można znaleźć w /proc/zoneinfo.

       /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/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/cgroups (od Linuksa 2.6.24)
              Patrz cgroups(7).

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

       /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              buffer size in KB
                  capacity           number of sectors
                  driver             driver version
                  geometry           physical and logical geometry
                  identify           in hexadecimal
                  media              media type
                  model              manufacturer's model number
                  settings           drive settings
                  smart_thresholds   IDE disk management thresholds (in hex)
                  smart_values       IDE disk management values (in hex)

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

       /proc/keys (od Linuksa 2.6.10)
              Patrz keyrings(7).

       /proc/key-users (od Linuksa 2.6.10)
              Patrz keyrings(7).

       /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/kpagecgroup (od Linuksa 4.3)
              This file contains a 64-bit inode number of the memory cgroup each page is  charged
              to, indexed by page frame number (see the discussion of /proc/[pid]/pagemap).

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

       /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)
                  17 - 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)
                  23 - KPF_BALLOON        (od Linuksa 3.18)
                  24 - KPF_ZERO_PAGE      (od Linuksa 4.0)
                  25 - KPF_IDLE           (od Linuksa 4.3)

              Więcej informacji o  znaczeniu  tych  bitów  znajduje  się  w  pliku  źródeł  jądra
              Documentation/admin-guide/mm/pagemap.rst.  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)).

              An example of the content shown in this file is the following:

                  1: POSIX  ADVISORY  READ  5433 08:01:7864448 128 128
                  2: FLOCK  ADVISORY  WRITE 2001 08:01:7864554 0 EOF
                  3: FLOCK  ADVISORY  WRITE 1568 00:2f:32388 0 EOF
                  4: POSIX  ADVISORY  WRITE 699 00:16:28457 0 EOF
                  5: POSIX  ADVISORY  WRITE 764 00:16:21448 0 0
                  6: POSIX  ADVISORY  READ  3548 08:01:7867240 1 1
                  7: POSIX  ADVISORY  READ  3548 08:01:7865567 1826 2335
                  8: OFDLCK ADVISORY  WRITE -1 08:01:8713209 128 191

              The fields shown in each line are as follows:

              (1) The ordinal position of the lock in the list.

              (2) The lock type.  Values that may appear here include:

                  FLOCK  This is a BSD file lock created using flock(2).

                  OFDLCK This is an open file description (OFD) lock created using fcntl(2).

                  POSIX  This is a POSIX byte-range lock created using fcntl(2).

              (3) Among the strings that can appear here are the following:

                  ADVISORY
                         This is an advisory lock.

                  MANDATORY
                         This is a mandatory lock.

              (4) The type of lock.  Values that can appear here are:

                  READ   This is a POSIX or OFD read lock, or a BSD shared lock.

                  WRITE  This is a POSIX or OFD write lock, or a BSD exclusive lock.

              (5) The PID of the process that owns the lock.

                  Because  OFD  locks are not owned by a single process (since multiple processes
                  may have file descriptors that refer to the same open  file  description),  the
                  value  -1 is displayed in this field for OFD locks.  (Before kernel 4.14, a bug
                  meant that the PID  of  the  process  that  initially  acquired  the  lock  was
                  displayed instead of the value -1.)

              (6) Three  colon-separated subfields that identify the major and minor device ID of
                  the device containing the filesystem where the locked file resides, followed by
                  the inode number of the locked file.

              (7) The  byte  offset  of the first byte of the lock.  For BSD locks, this value is
                  always 0.

              (8) The byte offset of the last byte of the lock.  EOF in this field means that the
                  lock  extends to the end of the file.  For BSD locks, the value shown is always
                  EOF.

              Since Linux 4.9, the list of locks shown in /proc/locks is filtered  to  show  just
              the locks for the processes in the PID namespace (see pid_namespaces(7))  for which
              the /proc filesystem was mounted.  (In the  initial  PID  namespace,  there  is  no
              filtering of the records shown in this file.)

              The lslocks(8)  command provides a bit more information about each lock.

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

              MemAvailable %lu (od Linuksa 3.14)
                     Przybliżona wartość dostępnej pamięci do uruchamiania nowych aplikacji,  bez
                     pamięci wymiany.

              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 ~860 MB 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)
                     Amount of memory consumed in tmpfs(5)  filesystems.

              KReclaimable %lu (od Linuksa 4.20)
                     Kernel allocations that the kernel will  attempt  to  reclaim  under  memory
                     pressure.   Includes SReclaimable (below), and other direct allocations with
                     a shrinker.

              Slab %lu
                     Wewnętrzny  bufor  jądra  przeznaczony  na  jego  struktury  danych.  (Patrz
                     slabinfo(5).)

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

              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
                     Amount of vmalloc area which is used.  Since Linux 4.4,  this  field  is  no
                     longer calculated, and is hard coded as 0.  See /proc/vmallocinfo.

              VmallocChunk %lu
                     Largest  contiguous  block  of vmalloc area which is free.  Since Linux 4.4,
                     this  field  is  no  longer  calculated  and  is  hard  coded  as  0.    See
                     /proc/vmallocinfo.

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

              LazyFree %lu (od Linuksa 4.12)
                     Shows the amount of memory marked by madvise(2)  MADV_FREE.

              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.

              ShmemHugePages %lu (od Linuksa 4.8)
                     (CONFIG_TRANSPARENT_HUGEPAGE is required.)  Memory  used  by  shared  memory
                     (shmem) and tmpfs(5)  allocated with huge pages.

              ShmemPmdMapped %lu (od Linuksa 4.8)
                     (CONFIG_TRANSPARENT_HUGEPAGE  is  required.)  Shared memory mapped into user
                     space with huge pages.

              CmaTotal %lu (od Linuksa 3.1)
                     Łącznie stron CMA (Contiguous Memory Allocator) (wymagane jest CONFIG_CMA).

              CmaFree %lu (od Linuksa 3.1)
                     Wolne strony CMA (Contiguous Memory Allocator) (wymagane jest CONFIG_CMA)

              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.

              DirectMap4k %lu (od Linuksa 2.6.27)
                     Liczba bajtów RAM-u liniowo przypisanych przez jądro w stronach 4 kB (x86).

              DirectMap4M %lu (od Linuksa 2.6.27)
                     Liczba bajtów RAM-u liniowo przypisanych przez jądro w stronach 4 MB (x86  z
                     włączonym CONFIG_X86_64 lub CONFIG_X86_PAE).

              DirectMap2M %lu (od Linuksa 2.6.27)
                     Liczba  bajtów  RAM-u  liniowo przypisanych przez jądro w stronach 2 MB (x86
                     bez włączonego CONFIG_X86_64 ani CONFIG_X86_PAE).

              DirectMap1G %lu (od Linuksa 2.6.27)
                     (x86 z włączonym CONFIG_X86_64 i CONFIG_X86_DIRECT_GBPAGES)

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

       /proc/mounts
              Before kernel 2.4.19, this file was a list of all the filesystems currently mounted
              on  the  system.   With  the  introduction of per-process mount namespaces in Linux
              2.4.19 (see mount_namespaces(7)), this file became  a  link  to  /proc/self/mounts,
              which  lists  the  mounts of the process's own mount namespace.  The format of this
              file is documented in fstab(5).

       /proc/mtrr
              Memory   Type   Range   Registers.    See   the   Linux    kernel    source    file
              Documentation/x86/mtrr.txt  (or  Documentation/mtrr.txt  before  Linux 2.6.28)  for
              details.

       /proc/net
              This directory contains various files  and  subdirectories  containing  information
              about the networking layer.  The files contain ASCII structures and are, therefore,
              readable with cat(1).   However,  the  standard  netstat(8)   suite  provides  much
              cleaner access to these files.

              With  the advent of network namespaces, various information relating to the network
              stack is  virtualized  (see  network_namespaces(7)).   Thus,  since  Linux  2.6.25,
              /proc/net  is  a  symbolic link to the directory /proc/self/net, which contains the
              same files and directories as listed below.  However, these files  and  directories
              now expose information for the network namespace of which the process is a member.

       /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 Inode Path
               0: 00000002 00000000 00000000 0001 03    42
               1: 00000001 00000000 00010000 0001 01  1948 /dev/printer

              Występują następujące pola:

              Num:      numer slotu tabeli jądra.

              RefCount: numer użytkowników gniazda.

              Protocol: obecnie zawsze 0.

              Flags:    wewnętrzne flagi jądra przechowujące status gniazda.

              Type:     typ  gniazda.  Dla gniazd SOCK_STREAM jest to 0001; dla gniazd SOCK_DGRAM
                        jest to 0002, a dla gniazd SOCK_SEQPACKET jest to 0005.

              St:       wewnętrzny stan gniazda.

              Inode:    the inode number of the socket.

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

       /proc/net/netfilter/nfnetlink_queue
              Plik zawiera informacji o kolejkowaniu netfilter w przestrzeni  użytkownika.  Każdy
              wiersz  reprezentuje  kolejkę.  Kolejki  które  nie  zostały  wpisane z przestrzeni
              użytkownika nie są pokazywane.

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

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

              (1)  Identyfikator kolejki. Pasuje on do tego co określono  w  opcjach  --queue-num
                   lub  --queue-balance  do celu NFQUEUE iptables(8). Zob. iptables-extensions(8)
                   aby uzyskać więcej informacji.

              (2)  Identyfikator portu netlink zapisanego do kolejki.

              (3)  Liczba pakietów obecnie zakolejkowanych i czekających na  przetworzenie  przez
                   aplikację.

              (4)  Tryb  kopiowania kolejki. Jest to albo (tylko metadane) lub 2 (kopiuje również
                   właściwe dane do przestrzeni użytkownika).

              (5)  Zakres kopii, tj. maksymalna wartość bajtów  pakietu  właściwych  danych  jaka
                   powinna być skopiowana do przestrzeni użytkownika.

              (6)  Porzucone  kolejki.  Liczba  pakietów,  które  musiały  zostać porzucone przez
                   jądra, ponieważ zbyt dużo pakietów czekało już na  przestrzeń  użytkownika  na
                   odesłanie obowiązkowych poleceń akceptuj/porzuć.

              (7)  Porzucone kolejki użytkownika. Liczba pakietów porzuconych wewnątrz podsystemu
                   netlink. Takie porzucenia  następują  zwykle  przy  zapełnieniu  odpowiedniego
                   bufora  gniazda,  tj.  przestrzeń  użytkownika  nie  jest w stanie odpowiednio
                   szybko odczytywać wiadomości.

              (8)  Numer  sekwencji.  Każdy  pakiet  kolejki  jest   powiązany   z   (32-bitowym)
                   monotonicznie   rosnącym   numerem   sekwencji.  Pokazuje  to  ID  najnowszego
                   skolejkowanego pakietu.

              Ostatnia liczba istnieje tylko z powodów kompatybilności i wynosi zawsze 1.

       /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
              Information about kernel caches.  See slabinfo(5)  for details.

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

              cpu 10132153 290696 3084719 46828483 16683 0 25195 0 175628 0
              cpu0 1393280 32966 572056 13343292 6130 0 17875 0 23933 0
                     The amount of time, measured in units of USER_HZ (1/100ths of  a  second  on
                     most  architectures,  use  sysconf(_SC_CLK_TCK)  to obtain the right value),
                     that the system ("cpu" line) or the specific CPU  ("cpuN"  line)   spent  in
                     various states:

                     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) Time waiting for I/O to complete.  This value  is  not  reliable,
                            for the following reasons:

                            1. The CPU will not wait for I/O to complete; iowait is the time that
                               a task is waiting for I/O to complete.  When a CPU goes into  idle
                               state  for outstanding task I/O, another task will be scheduled on
                               this CPU.

                            2. On a multi-core CPU, the task waiting for I/O to complete  is  not
                               running  on  any  CPU,  so  the iowait of each CPU is difficult to
                               calculate.

                            3. The value in this field may decrease in certain conditions.

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

                     softirq (od Linuksa 2.6.0)
                            (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).

              softirq 229245889 94 60001584 13619 5175704 2471304 28 51212741 59130143 0 51240672
                     This line shows the number of softirq for all CPUs.  The first column is the
                     total of all softirqs and each subsequent column is the total for particular
                     softirq.  (Linux 2.6.31 onward.)

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

       /proc/sys
              This directory (present since 1.3.57) contains a number of files and subdirectories
              corresponding  to  kernel variables.  These variables can be read and in some cases
              modified using the /proc filesystem, and the (deprecated)  sysctl(2)  system call.

              Wartości łańcuchów mogą się kończyć albo "\0

              Liczby  całkowite  i  długie  wartości  mogą być zapisane  albo  dziesiętnie,  albo
              szesnastkowo  (np.  0x3FFF).  Przy  zapisywaniu wielu liczb całkowitych lub długich
              wartości można je rozdzielić dowolnym z następujących białych znaków:  "  ",  "\t",
              lub "\n". Użycie innych separatorów wywoła błąd EINVAL.

       /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/aio-max-nr and /proc/sys/fs/aio-nr (since Linux 2.6.4)
              aio-nr is the running total of the number of events specified by io_setup(2)  calls
              for  all  currently  active  AIO  contexts.   If  aio-nr  reaches  aio-max-nr, then
              io_setup(2)  will fail with the error EAGAIN.  Raising aio-max-nr does  not  result
              in the preallocation or resizing of any kernel data structures.

       /proc/sys/fs/binfmt_misc
              Documentation  for  files in this directory can be found in the Linux kernel source
              in     the     file      Documentation/admin-guide/binfmt-misc.rst      (or      in
              Documentation/binfmt_misc.txt on older kernels).

       /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
              This file defines a  system-wide  limit  on  the  number  of  open  files  for  all
              processes.  System calls that fail when encountering this limit fail with the error
              ENFILE.  (See also setrlimit(2), which  can  be  used  by  a  process  to  set  the
              per-process  limit, RLIMIT_NOFILE, on the number of files it may open.)  If you get
              lots of error messages in the kernel log about running out of  file  handles  (open
              file  descriptions)   (look  for  "VFS:  file-max  limit  <number>  reached"),  try
              increasing this value:

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

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

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

       /proc/sys/fs/inode-max (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/mount-max (od Linuksa 4.9)
              The value in this file specifies the maximum number of mounts that may exist  in  a
              mount namespace.  The default value in this file is 100,000.

       /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/nr_open (od Linuksa 2.6.25)
              Plik ten określa pułap, do którego można podnieść limit zasobów RLIMIT_NOFILE (zob.
              getrlimit(2)).  Pułap  ten  jest  wymuszany  zarówno  na   nieuprzywilejowanych   i
              uprzywilejowanych  procesach.  Domyślną  wartością  w  pliku  jest  1048576  (przed
              Linuksem 2.6.25, pułap RLIMIT_NOFILE  był zakodowany  na  sztywno  i  wynosił  tyle
              samo).

       /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)
              Patrz pipe(7).

       /proc/sys/fs/pipe-user-pages-hard (od Linuksa 4.5)
              Patrz pipe(7).

       /proc/sys/fs/pipe-user-pages-soft (od Linuksa 4.5)
              Patrz pipe(7).

       /proc/sys/fs/protected_fifos (od Linuksa 4.19)
              The value in this file is/can be set to one of the following:

              0   Writing to FIFOs is unrestricted.

              1   Don't  allow  O_CREAT  open(2)   on  FIFOs  that  the  caller  doesn't  own  in
                  world-writable sticky directories, unless the FIFO is owned by the owner of the
                  directory.

              2   As  for  the value 1, but the restriction also applies to group-writable sticky
                  directories.

              The intent of the  above  protections  is  to  avoid  unintentional  writes  to  an
              attacker-controlled FIFO when a program expected to create a regular file.

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

              *  The  calling process has the CAP_FOWNER capability in its user namespace and the
                 file UID has a mapping in the namespace.

              *  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_regular (od Linuksa 4.19)
              The value in this file is/can be set to one of the following:

              0   Writing to regular files is unrestricted.

              1   Don't  allow  O_CREAT  open(2)  on regular files that the caller doesn't own in
                  world-writable sticky directories, unless the regular  file  is  owned  by  the
                  owner of the directory.

              2   As  for  the value 1, but the restriction also applies to group-writable sticky
                  directories.

              The intent of the above protections is similar to protected_fifos,  but  allows  an
              application  to  avoid  writes  to  an  attacker-controlled regular file, where the
              application expected to create one.

       /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)
              The  value  in  this  file  is  assigned  to  a  process's  "dumpable"  flag in the
              circumstances described in prctl(2).  In effect, the value in this file  determines
              whether core dump files are produced for set-user-ID or otherwise protected/tainted
              binaries.  The "dumpable"  setting  also  affects  the  ownership  of  files  in  a
              process's /proc/[pid] directory, as described above.

              Three different integer values can be specified:

              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")
                     All  processes  dump  core  when  possible.   (Reasons  why  a process might
                     nevertheless not dump core are described in  core(5).)   The  core  dump  is
                     owned  by  the  filesystem user ID of the dumping process and no security is
                     applied.  This is intended for system debugging situations only:  this  mode
                     is  insecure  because  it  allows  unprivileged  users to examine the memory
                     contents of privileged processes.

              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.

              For details of the effect of a process's "dumpable" setting on ptrace  access  mode
              checking, see ptrace(2).

       /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
              This file contains three numbers: highwater, lowwater, and frequency.  If BSD-style
              process accounting is enabled, these values control its behavior.  If free space on
              filesystem where the log lives goes below lowwater  percent,  accounting  suspends.
              If  free  space  gets  above  highwater  percent,  accounting  resumes.   frequency
              determines how often the kernel checks the  amount  of  free  space  (value  is  in
              seconds).   Default  values are 4, 2, and 30.  That is, suspend accounting if 2% or
              less space is free; resume it if 4% or more space  is  free;  consider  information
              about amount of free space valid for 30 seconds.

       /proc/sys/kernel/auto_msgmni (Linux w wersji od 2.6.27 do 3.18)
              W  Linuksie  w  wersjach  od  2.6.27  do  3.18,  plik  ten  był używany do kontroli
              przeliczania  wartości  w  /proc/sys/kernel/msgmni  przy  dodawaniu  lub   usuwaniu
              pamięci,  albo przy utworzeniu/usunięciu przestrzeni nazw IPC. Wpisanie "1" do tego
              pliku włączało automatyczne przeliczanie msgmni (i wyzwalało przeliczanie msgmni  w
              oparciu  o bieżącą ilość dostępnej pamięci i liczby przestrzeni nazw IPC). Wpisanie
              "0" wyłączało automatyczne przeliczanie  (automatyczne  przeliczanie  było  również
              wyłączane,  jeśli  wartość  była  jawnie  przypisywana do /proc/sys/kernel/msgmni).
              Domyślną wartością w auto_msgmni było 1.

              Od Linuksa 3.19, zawartość tego pliku nie ma znaczenia (ponieważ  msgmni  domyślnie
              ustawia  się na  wartość  bliską maksymalnej),  a odczyt z tego pliku zawsze zwraca
              wartość "0".

       /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_pipe_limit
              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(1) 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
              This file contains the pathname for the hotplug policy agent.  The default value in
              this file is /sbin/hotplug.

       /proc/sys/kernel/htab-reclaim (przed Linuksem 2.4.9.2)
              (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/keys/*
              This  directory  contains  various  files that define parameters and limits for the
              key-management facility.  These files are described in keyrings(7).

       /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
              This file contains the pathname for the kernel module loader.  The default value is
              /sbin/modprobe.   The  file  is  present  only  if  the  kernel  is  built with the
              CONFIG_MODULES (CONFIG_KMOD in Linux 2.6.26 and earlier)  option  enabled.   It  is
              described  by  the Linux kernel source file Documentation/kmod.txt (present only in
              kernel 2.4 and earlier).

       /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.
              Zob. również /proc/sys/kernel/auto_msgmni.

       /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/ns_last_pid (od Linuksa 3.3)
              Zob. pid_namespaces(7).

       /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/randomize_va_space (od Linuksa 2.6.12)
              Wybiera politykę losowego rozmieszczania obszarów pamięci (ang. ASLR - adress space
              layout   randomization)   w   systemie   (na  architekturach  obsługujących  ASLR).
              Obsługiwane są trzy wartości tego pliku:

              0  Wyłącza ASLR. Jest to domyślne na architekturach  nieobsługujących  ASLR  i  gdy
                 jądro jest uruchamiane z parametrem norandmaps.

              1  Czyni  przydzielanie  stron  VDSO,  stosu  i adresów mmap(2) losowym. Oznacza to
                 między innymi, że biblioteki dzielone są  ładowane  pod  losowy  adres.  Segment
                 tekstowy  plików  wykonywalnych  skonsolidowanych  niezależnie  od pozycji (PIE)
                 będzie również ładowany pod  losowy  adres.  Wartość  ta  jest  domyślna,  jeśli
                 skonfigurowano jądro z CONFIG_COMPAT_BRK.

              2  (od  Linuksa  2.6.25)  Obsługuje  również  losowość  kopca  (ang. heap). Jest to
                 domyślne zachowanie, jeśli nie skonfigurowano jądra z opcją CONFIG_COMPAT_BRK.

       /proc/sys/kernel/real-root-dev
              This    file    is    documented    in    the    Linux    kernel    source     file
              Documentation/admin-guide/initrd.rst   (or  Documentation/initrd.txt  before  Linux
              4.10).

       /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/[pid]/sched_autogroup_enabled (od Linuksa 2.6.38)
              Patrz sched(7).

       /proc/sys/kernel/sched_child_runs_first (od Linuksa 2.6.23)
              If this file contains the value zero, then, after a fork(2), the  parent  is  first
              scheduled  on  the  CPU.   If  the file contains a nonzero value, then the child is
              scheduled first on the CPU.  (Of course, on a multiprocessor system, the parent and
              the child might both immediately be scheduled on a CPU.)

       /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/seccomp (od Linuksa 4.14)
              This  directory  provides  additional  seccomp  information and configuration.  See
              seccomp(2)  for further details.

       /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/sysctl_writes_strict (od Linuksa 3.16)
              Wartość  w  tym  pliku  określa  jak  przesunięcia  pliku  wpływają  na  zachowanie
              aktualizacji wpisów w plikach pod /proc/sys. Plik może przyjąć trzy wartości:

              -1  Zapewniona jest kompatybilna obsługa, bez ostrzeżeń printk. Każdy write(2) musi
                  zawierać pełną  wartość do zapisu i każdy zapis na tym samym deskryptorze pliku
                  nadpisze całą wartość, bez względu na pozycję pliku.

              0   (domyślne) Zapewnia zachowanie podobne jak przy -1,  lecz  dla  procesów  które
                  przeprowadzają   zapis   przy   przesunięciu   pliku  różnym  od  0  zapisywane
                  są ostrzeżenia printk.

              1   Zachowuje przesunięcie pliku przy zapisie łańcuchów do plików /proc/sys.  Wiele
                  zapisów  nadpisze  wartość bufora. Wszystko co zostanie zapisane pod maksymalną
                  długość bufora wartości zostanie  zignorowane.  Zapis  do  numerycznych  wpisów
                  /proc/sys  musi  zawsze  następować  przy  przesunięciu 0, a wartość musi być w
                  pełni zawarta w buforze przekazanym do write(2).

       /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    Zupełnie 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 debugowanie zrzutów procesów itp.
                    16  Włącza polecenie sync
                    32  Włącza przejście systemu plików w tryb tylko do odczytu
                    64  Włącza wysyłanie sygnałów do procesów (term, kill, oom-kill)
                   128  Włącza ponowne uruchomienie/wyłączenie komputera
                   256  Pozwala na ustawianie nice wszystkich zadań czasu rzeczywistego

              This file is present only if the CONFIG_MAGIC_SYSRQ kernel configuration option  is
              enabled.     For    further    details   see   the   Linux   kernel   source   file
              Documentation/admin-guide/sysrq.rst (or Documentation/sysrq.txt before Linux 4.10).

       /proc/sys/kernel/version
              Plik zawiera tekst 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.

              Od Linuksa 4.1,  wartość  którą można  zapisać  do  threads-max  jest  ograniczona.
              Minimalna  wartość  którą można  wpisać  to  20.  Maksymalna  jest dana przez stałą
              FUTEX_TID_MASK (0x3fffffff). Jeśli do threads-max wpisze  się  wartość  spoza  tego
              zakresu wystąpi błąd EINVAL.

              Zapisana  wartość  jest  sprawdzana  w  odniesieniu  do dostępnych stron RAM. Jeśli
              struktury wątku zajmie zbyt dużo (więcej niż 1/8) dostępnych stron RAM, threads-max
              zostanie odpowiednio zredukowana.

       /proc/sys/kernel/yama/ptrace_scope (od Linuksa 3.5)
              Zob. ptrace(2).

       /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/bpf_jit_enable
              Zob. bpf(2).

       /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/user (od Linuksa 4.9)
              Zob. namespaces(7).

       /proc/sys/vm
              This  directory  contains  files  for  memory  management tuning, buffer, and cache
              management.

       /proc/sys/vm/admin_reserve_kbytes (od Linuksa 3.10)
              This file defines the amount of free memory (in KiB) on the system that  should  be
              reserved for users with the capability CAP_SYS_ADMIN.

              The default value in this file is the minimum of [3% of free pages, 8MiB] expressed
              as KiB.  The default is intended to provide enough for the superuser to log in  and
              kill a process, if necessary, under the default overcommit 'guess' mode (i.e., 0 in
              /proc/sys/vm/overcommit_memory).

              Systems    running    in    "overcommit     never"     mode     (i.e.,     2     in
              /proc/sys/vm/overcommit_memory)   should increase the value in this file to account
              for the full virtual memory size of the programs used to  recover  (e.g.,  login(1)
              ssh(1),  and top(1))  Otherwise, the superuser may not be able to log in to recover
              the system.  For example, on x86-64 a suitable value is 131072 (128MiB reserved).

              Changing the value in this file  takes  effect  whenever  an  application  requests
              memory.

       /proc/sys/vm/compact_memory (od Linuksa 2.6.35)
              Po  zapisie  1  do tego pliku wszystkie strefy są przemieszczane w ten sposób, że —
              jeśli to możliwe — pamięć jest dostępna w ciągłych blokach. Efekt tej  akcji  można
              sprawdzić za pomocą /proc/buddyinfo.

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

       /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

              To free pagecache, dentries, and inodes, use:

                  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/sysctl_hugetlb_shm_group (since Linux 2.6.7)
              This writable file contains a group ID that is allowed  to  allocate  memory  using
              huge  pages.   If a process has a filesystem group ID or any supplementary group ID
              that matches this group ID, then it can make huge-page allocations without  holding
              the CAP_IPC_LOCK capability; see memfd_create(2), mmap(2), and shmget(2).

       /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:  Unmap the corrupted page from all processes and kill a process only if it tries
                  to access the page.

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

              In mode 1, the kernel pretends there is always enough memory, until memory actually
              runs  out.   One  use  case for this mode is scientific computing applications that
              employ large sparse arrays.  In Linux kernel versions  before  2.6.0,  any  nonzero
              value implies mode 1.

              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

              See    also    the    description    of    /proc/sys/vm/admin_reserve_kbytes    and
              /proc/sys/vm/user_reserve_kbytes.

       /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/sys/vm/user_reserve_kbytes (od Linuksa 3.10)
              Specifies an amount of memory (in KiB) to reserve  for  user  processes.   This  is
              intended to prevent a user from starting a single memory hogging process, such that
              they cannot recover (kill the hog).  The value in this file has an effect only when
              /proc/sys/vm/overcommit_memory  is  set  to  2  ("overcommit never" mode).  In this
              case, the system reserves an amount of memory that is the minimum of [3% of current
              process size, user_reserve_kbytes].

              The  default  value  in  this  file  is  the  minimum of [3% of free pages, 128MiB]
              expressed as KiB.

              If the value in this file is set to zero, then a user will be allowed  to  allocate
              all   free   memory   with   a   single  process  (minus  the  amount  reserved  by
              /proc/sys/vm/admin_reserve_kbytes).  Any subsequent attempts to execute  a  command
              will result in "fork: Cannot allocate memory".

              Changing  the  value  in  this  file  takes effect whenever an application requests
              memory.

       /proc/sys/vm/unprivileged_userfaultfd (od Linuksa 5.2)
              This (writable) file exposes a flag that controls  whether  unprivileged  processes
              are  allowed  to  employ  userfaultfd(2).   If  this  file  has  the  value 1, then
              unprivileged processes may use userfaultfd(2).  If this file has the value 0,  then
              only  processes  that have the CAP_SYS_PTRACE capability may employ userfaultfd(2).
              The default value in this file is 1.

       /proc/sysrq-trigger (od Linuksa 2.4.21)
              Writing a character to this  file  triggers  the  same  SysRq  function  as  typing
              ALT-SysRq-<character>  (see  the description of /proc/sys/kernel/sysrq).  This file
              is normally writable only by root.  For further details see the Linux kernel source
              file  Documentation/admin-guide/sysrq.rst  (or Documentation/sysrq.txt before Linux
              4.10).

       /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.  sysvipc(7)  podaje  dodatkowe  informacje  o
              zawartości tych plików.

       /proc/thread-self (od Linuksa 3.17)
              Ten katalog odnosi się do wątku  korzystającego  z  systemu  plików  /proc  i  jest
              identyczny  z  katalogiem  w /proc/self/task/[tid] o nazwie będącej identyfikatorem
              tego wątku ([tid]).

       /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 (from  Linux 2.6.21 until Linux 4.10)
              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.

              During  the Linux 4.11 development cycle, this file was removed because of security
              concerns, as it exposes information across namespaces.  Furthermore, it is possible
              to obtain the same information via in-kernel tracing facilities such as ftrace.

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

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

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

              nr_free_pages (od Linuksa 2.6.31)

              nr_alloc_batch (od Linuksa 3.12)

              nr_inactive_anon (od Linuksa 2.6.28)

              nr_active_anon (od Linuksa 2.6.28)

              nr_inactive_file (od Linuksa 2.6.28)

              nr_active_file (od Linuksa 2.6.28)

              nr_unevictable (od Linuksa 2.6.28)

              nr_mlock (od Linuksa 2.6.28)

              nr_anon_pages (od Linuksa 2.6.18)

              nr_mapped (od Linuksa 2.6.0)

              nr_file_pages (od Linuksa 2.6.18)

              nr_dirty (od Linuksa 2.6.0)

              nr_writeback (od Linuksa 2.6.0)

              nr_slab_reclaimable (od Linuksa 2.6.19)

              nr_slab_unreclaimable (od Linuksa 2.6.19)

              nr_page_table_pages (od Linuksa 2.6.0)

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

              nr_unstable (od Linuksa 2.6.0)

              nr_bounce (od Linuksa 2.6.12)

              nr_vmscan_write (od Linuksa 2.6.19)

              nr_vmscan_immediate_reclaim (od Linuksa 3.2)

              nr_writeback_temp (od Linuksa 2.6.26)

              nr_isolated_anon (od Linuksa 2.6.32)

              nr_isolated_file (od Linuksa 2.6.32)

              nr_shmem (od Linuksa 2.6.32)
                     Strony użyte przez shmem i tmpfs(5).

              nr_dirtied (od Linuksa 2.6.37)

              nr_written (od Linuksa 2.6.37)

              nr_pages_scanned (od Linuksa 3.17)

              numa_hit (od Linuksa 2.6.18)

              numa_miss (od Linuksa 2.6.18)

              numa_foreign (od Linuksa 2.6.18)

              numa_interleave (od Linuksa 2.6.18)

              numa_local (od Linuksa 2.6.18)

              numa_other (od Linuksa 2.6.18)

              workingset_refault (od Linuksa 3.15)

              workingset_activate (od Linuksa 3.15)

              workingset_nodereclaim (od Linuksa 3.15)

              nr_anon_transparent_hugepages (od Linuksa 2.6.38)

              nr_free_cma (od Linuksa 3.7)
                     Liczba wolnych stron CMA (Contiguous Memory Allocator).

              nr_dirty_threshold (od Linuksa 2.6.37)

              nr_dirty_background_threshold (od Linuksa 2.6.37)

              pgpgin (od Linuksa 2.6.0)

              pgpgout (od Linuksa 2.6.0)

              pswpin (od Linuksa 2.6.0)

              pswpout (od Linuksa 2.6.0)

              pgalloc_dma (od Linuksa 2.6.5)

              pgalloc_dma32 (od Linuksa 2.6.16)

              pgalloc_normal (od Linuksa 2.6.5)

              pgalloc_high (od Linuksa 2.6.5)

              pgalloc_movable (od Linuksa 2.6.23)

              pgfree (od Linuksa 2.6.0)

              pgactivate (od Linuksa 2.6.0)

              pgdeactivate (od Linuksa 2.6.0)

              pgfault (od Linuksa 2.6.0)

              pgmajfault (od Linuksa 2.6.0)

              pgrefill_dma (od Linuksa 2.6.5)

              pgrefill_dma32 (od Linuksa 2.6.16)

              pgrefill_normal (od Linuksa 2.6.5)

              pgrefill_high (od Linuksa 2.6.5)

              pgrefill_movable (od Linuksa 2.6.23)

              pgsteal_kswapd_dma (od Linuksa 3.4)

              pgsteal_kswapd_dma32 (od Linuksa 3.4)

              pgsteal_kswapd_normal (od Linuksa 3.4)

              pgsteal_kswapd_high (od Linuksa 3.4)

              pgsteal_kswapd_movable (od Linuksa 3.4)

              pgsteal_direct_dma

              pgsteal_direct_dma32 (od Linuksa 3.4)

              pgsteal_direct_normal (od Linuksa 3.4)

              pgsteal_direct_high (od Linuksa 3.4)

              pgsteal_direct_movable (od Linuksa 2.6.23)

              pgscan_kswapd_dma

              pgscan_kswapd_dma32 (od Linuksa 2.6.16)

              pgscan_kswapd_normal (od Linuksa 2.6.5)

              pgscan_kswapd_high

              pgscan_kswapd_movable (od Linuksa 2.6.23)

              pgscan_direct_dma

              pgscan_direct_dma32 (od Linuksa 2.6.16)

              pgscan_direct_normal

              pgscan_direct_high

              pgscan_direct_movable (od Linuksa 2.6.23)

              pgscan_direct_throttle (od Linuksa 3.6)

              zone_reclaim_failed (od Linuksa 2.6.31)

              pginodesteal (od Linuksa 2.6.0)

              slabs_scanned (od Linuksa 2.6.5)

              kswapd_inodesteal (od Linuksa 2.6.0)

              kswapd_low_wmark_hit_quickly (od Linuksa 2.6.33)

              kswapd_high_wmark_hit_quickly (od Linuksa 2.6.33)

              pageoutrun (od Linuksa 2.6.0)

              allocstall (od Linuksa 2.6.0)

              pgrotated (od Linuksa 2.6.0)

              drop_pagecache (od Linuksa 3.15)

              drop_slab (od Linuksa 3.15)

              numa_pte_updates (od Linuksa 3.8)

              numa_huge_pte_updates (od Linuksa 3.13)

              numa_hint_faults (od Linuksa 3.8)

              numa_hint_faults_local (od Linuksa 3.8)

              numa_pages_migrated (od Linuksa 3.8)

              pgmigrate_success (od Linuksa 3.8)

              pgmigrate_fail (od Linuksa 3.8)

              compact_migrate_scanned (od Linuksa 3.8)

              compact_free_scanned (od Linuksa 3.8)

              compact_isolated (od Linuksa 3.8)

              compact_stall (od Linuksasince Linux 2.6.35)
                     Zobacz plik źródeł jądra Documentation/admin-guide/mm/transhuge.rst.

              compact_fail (od Linuksa 2.6.35)
                     Zobacz plik źródeł jądra Documentation/admin-guide/mm/transhuge.rst.

              compact_success (od Linuksa 2.6.35)
                     Zobacz plik źródeł jądra Documentation/admin-guide/mm/transhuge.rst.

              htlb_buddy_alloc_success (od Linuksa 2.6.26)

              htlb_buddy_alloc_fail (od Linuksa 2.6.26)

              unevictable_pgs_culled (od Linuksa 2.6.28)

              unevictable_pgs_scanned (od Linuksa 2.6.28)

              unevictable_pgs_rescued (od Linuksa 2.6.28)

              unevictable_pgs_mlocked (od Linuksa 2.6.28)

              unevictable_pgs_munlocked (od Linuksa 2.6.28)

              unevictable_pgs_cleared (od Linuksa 2.6.28)

              unevictable_pgs_stranded (od Linuksa 2.6.28)

              thp_fault_alloc (od Linuksa 2.6.39)
                     Zobacz plik źródeł jądra Documentation/admin-guide/mm/transhuge.rst.

              thp_fault_fallback (od Linuksa 2.6.39)
                     Zobacz plik źródeł jądra Documentation/admin-guide/mm/transhuge.rst.

              thp_collapse_alloc (od Linuksa 2.6.39)
                     Zobacz plik źródeł jądra Documentation/admin-guide/mm/transhuge.rst.

              thp_collapse_alloc_failed (od Linuksa 2.6.39)
                     Zobacz plik źródeł jądra Documentation/admin-guide/mm/transhuge.rst.

              thp_split (od Linuksa 2.6.39)
                     Zobacz plik źródeł jądra Documentation/admin-guide/mm/transhuge.rst.

              thp_zero_page_alloc (od Linuksa 3.8)
                     Zobacz plik źródeł jądra Documentation/admin-guide/mm/transhuge.rst.

              thp_zero_page_alloc_failed (od Linuksa 3.8)
                     Zobacz plik źródeł jądra Documentation/admin-guide/mm/transhuge.rst.

              balloon_inflate (od Linuksa 3.18)

              balloon_deflate (od Linuksa 3.18)

              balloon_migrate (od Linuksa 3.18)

              nr_tlb_remote_flush (od Linuksa 3.12)

              nr_tlb_remote_flush_received (od Linuksa 3.12)

              nr_tlb_local_flush_all (od Linuksa 3.12)

              nr_tlb_local_flush_one (od Linuksa 3.12)

              vmacache_find_calls (od Linuksa 3.16)

              vmacache_find_hits (od Linuksa 3.16)

              vmacache_full_flushes (od Linuksa 3.19)

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

UWAGI

       Many files contain strings (e.g., the environment and  command  line)   that  are  in  the
       internal  format,  with  subfields  terminated by null bytes ('\0').  When inspecting such
       files, you may find that the results are more  readable  if  you  use  a  command  of  the
       following form to display them:

           $ cat file | tr '\000' '\n'

       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), htop(1), init(1), ps(1), pstree(1), tr(1),  uptime(1),
       chroot(2), mmap(2), readlink(2), syslog(2), slabinfo(5), sysfs(5), hier(7), namespaces(7),
       time(7),  arp(8),  hdparm(8),  ifconfig(8),  lsmod(8),  lspci(8),  mount(8),   netstat(8),
       procinfo(8), route(8), sysctl(8)

       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  5.13  projektu Linux man-pages. Opis
       projektu, informacje dotyczące zgłaszania błędów oraz  najnowszą  wersję  oryginału  można
       znaleźć pod adresem https://www.kernel.org/doc/man-pages/.

TŁUMACZENIE

       Autorami   polskiego   tłumaczenia   niniejszej   strony  podręcznika  są:  Przemek  Borys
       <pborys@dione.ids.pl>,   Robert    Luberda    <robert@debian.org>    i    Michał    Kułach
       <michal.kulach@gmail.com>

       Niniejsze  tłumaczenie  jest  wolną  dokumentacją. Bliższe informacje o warunkach licencji
       można   uzyskać   zapoznając   się   z   GNU   General   Public   License   w   wersji   3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   lub   nowszej.   Nie  przyjmuje  się  ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy w tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej
       ⟨manpages-pl-list@lists.sourceforge.net⟩.