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

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

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

              In SELinux, this file is used to get the security context of a process.   Prior  to
              Linux  2.6.11, this file could not be used to set the security context (a write was
              always denied), since SELinux limited process  security  transitions  to  execve(2)
              (see  the  description of /proc/pid/attr/exec, below).  Since Linux 2.6.11, SELinux
              lifted this restriction and began supporting "set" operations via  writes  to  this
              node  if  authorized by policy, although use of this operation is only suitable for
              applications that are trusted to maintain any desired separation  between  the  old
              and new security contexts.

              Prior to Linux 2.6.28, SELinux did not allow threads within a 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).

              In  SELinux,  this  is needed to support role/domain transitions, and execve(2)  is
              the preferred point to make such transitions because it offers better control  over
              the  initialization of the process in the new security label and the inheritance of
              state.  In SELinux, this attribute is reset on execve(2)  so that the  new  program
              reverts  to  the  default  behavior  for any execve(2)  calls that it may make.  In
              SELinux, a process can set only its own /proc/pid/attr/exec attribute.

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

       /proc/pid/attr/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    between   Linux   3.0   and   Linux   4.13,   or
              Documentation/keys.txt before Linux 3.0).

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

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

              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
              This read-only file holds the complete command line for  the  process,  unless  the
              process is a zombie.  In the latter case, there is nothing in this file: that is, a
              read on this file will return 0 characters.  The command-line arguments  appear  in
              this  file  as a set of strings separated by null bytes ('\0'), with a further null
              byte after the last string.

              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
              Under Linux 2.2 and later, this file is  a  symbolic  link  containing  the  actual
              pathname of the executed command.  This symbolic link can be dereferenced normally;
              attempting to open it will open the executable.  You can even type /proc/pid/exe to
              run  another  copy of the same executable that is being run by process pid.  If the
              pathname has been unlinked, the symbolic link will contain the  string  '(deleted)'
              appended  to  the  original  pathname.  In a multithreaded process, the contents of
              this 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).

              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 (since Linux 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
                     Attempt to count the number of read I/O  operations—that  is,  system  calls
                     such as read(2)  and pread(2).

              syscw: zapisane wywołania systemowe
                     Attempt  to  count  the number of write I/O operations—that is, system calls
                     such as write(2)  and 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/ (since Linux 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 Linux 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] (from Linux 3.4 to Linux 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.

              [anon:name] (since Linux 5.17)
                     A named private anonymous mapping.  Set with prctl(2) PR_SET_VMA_ANON_NAME.

              [anon_shmem:name] (since Linux 6.2)
                     A named shared anonymous mapping.  Set with prctl(2) PR_SET_VMA_ANON_NAME.

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

              For        more        information       on       mount       propagation       see
              Documentation/filesystems/sharedsubtree.rst                                     (or
              Documentation/filesystems/sharedsubtree.txt  before Linux 5.8)  in the Linux kernel
              source tree.

       /proc/pid/mounts (od 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 Linux 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 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  Linux  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.

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

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

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

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

              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–58 (since Linux 3.11)
                     Zero

              57 (od Linuksa 5.14)
                     If set, the page is write-protected through userfaultfd(2).

              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   If  the  page  is  present in RAM (bit 63), then these bits provide the page
                     frame  number,  which  can   be   used   to   index   /proc/kpageflags   and
                     /proc/kpagecount.   If  the  page is present in swap (bit 62), then bits 4–0
                     give the swap type, and bits 54–5 encode the swap offset.

              Before Linux 3.11, bits 60–55 were used to encode the base-2 log of the page size.

              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/pidpagemap 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 (od Linuksa 3.7)
              Zob. user_namespaces(7).

       /proc/pid/seccomp (Linux 2.6.12 to Linux 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
                  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)

                     I      Idle (Linux 4.14 onward)

              (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
                     Number of threads in this process (since Linux 2.6).  Before Linux 2.6, this
                     field was hard coded to 0 as a placeholder for an earlier removed field.

              (21) itrealvalue  %ld
                     The time in jiffies before the next SIGALRM is sent to the process due to an
                     interval timer.  Since Linux 2.6.17, this field is no longer maintained, and
                     is hard coded as 0.

              (22) starttime  %llu
                     The  time  the  process  started  after system boot.  Before Linux 2.6, this
                     value was expressed in jiffies.  Since Linux 2.6, the value is expressed  in
                     clock ticks (divide by sysconf(_SC_CLK_TCK)).

                     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 Rozmiar pamięci wirtualnej.

              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 (od Linuksa 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^order) * PAGE_SIZE

              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  Linux  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)
              This  file contains disk I/O statistics for each disk device.  See the Linux kernel
              source  file  Documentation/admin-guide/iostats.rst  (or  Documentation/iostats.txt
              before Linux 5.3)  for further information.

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

              For further details on the meanings of these  bits,  see  the  kernel  source  file
              Documentation/admin-guide/mm/pagemap.rst.    Before  Linux  2.6.29,  KPF_WRITEBACK,
              KPF_RECLAIM, KPF_BUDDY, and KPF_LOCKED did not report correctly.

              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 Linux 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)
                     (From  Linux  2.6.28  to Linux 2.6.30, CONFIG_UNEVICTABLE_LRU was required.)
                     [To be documented.]

              Mlocked %lu (od Linuksa 2.6.28)
                     (From Linux 2.6.28 to Linux 2.6.30,  CONFIG_UNEVICTABLE_LRU  was  required.)
                     [To be documented.]

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

              HighFree %lu
                     (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 Linux 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.rst  (or  Documentation/x86/mtrr.txt  before  Linux  5.2, 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:

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

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

                            •  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  Linux  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.

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

              Integer and long values may be written either in decimal or in hexadecimal notation
              (e.g., 0x3FFF).  When writing  multiple  integer  or  long  values,  these  may  be
              separated by any of the following whitespace characters: ' ', '\t', or '\n'.  Using
              other separators leads to the error EINVAL.

       /proc/sys/abi (od Linuksa 2.4.10)
              This directory may contain files with  application  binary  information.   See  the
              Linux       kernel      source      file      Documentation/sysctl/abi.rst      (or
              Documentation/sysctl/abi.txt before Linux 5.3)  for more information.

       /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 i /proc/sys/fs/aio-nr (od Linuksa 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)
              This file contains the maximum number of in-memory inodes.  This  value  should  be
              3–4  times  larger  than  the  value  in  file-max, since stdin, stdout and network
              sockets also need an inode to handle them.  When you regularly run out  of  inodes,
              you need to increase this value.

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

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

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

       /proc/sys/kernel/powersave-nap (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
              (Up  to and including Linux 2.6.7; see setrlimit(2))  This file can be used to tune
              the maximum number of POSIX real-time (queued) signals that can be  outstanding  in
              the system.

       /proc/sys/kernel/rtsig-nr
              (Up  to  and including Linux 2.6.7.)  This file shows the number of POSIX real-time
              signals currently queued.

       /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
              Ten  katalog zawiera pliki sterujące zarządzaniem pamięcią, buforami i zarządzaniem
              cachem.

       /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

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

                  echo 3 > /proc/sys/vm/drop_caches

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

       /proc/sys/vm/sysctl_hugetlb_shm_group (od Linuksa 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.  Before Linux 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:

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

              [2]  PID procesu inicjującego czasomierz

              [3]  nazwa procesu inicjującego czasomierz;

              [4]  the function where the  timer  was  initialized;  and  (in  parentheses)   the
                   callback function that is associated with the timer.

              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 (since Linux 2.6.33)

              kswapd_high_wmark_hit_quickly (since Linux 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.rst,
       Documentation/admin-guide/sysctl/fs.rst,      Documentation/admin-guide/sysctl/kernel.rst,
       Documentation/admin-guide/sysctl/net.rst i Documentation/admin-guide/sysctl/vm.rst.

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