Provided by: manpages-pl_4.27.0-1_all bug

NAZWA

       /proc/pid/smaps - nikt nie wie, skąd w „smaps” wzięło się „s”

OPIS

       /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

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

              Wiersz „KernelPageSize” (dostępny od Linuksa 2.6.29) jest rozmiarem strony używanym przez jądro do
              wirtualnej  przestrzeni  pamięci.  Jest  on w większości przypadków takim sam, jak rozmiar używany
              przez MMU. Wyjątek występuje na jądrach PPC64,  gdy  jądro  korzystając  z  podstawowego  rozmiaru
              strony  w  wielkości  64  kB  może  wciąż  używać 4 kB stron dla MMU na starszych procesorach. Aby
              rozróżnić oba atrybuty, wiersz  „MMUPageSize”  (również  dostępny  od  Linuksa  2.6.29)  raportuje
              rozmiar strony używany przez MMU.

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

              Wiersz „ProtectionKey” (dostępny od Linuksa 4.9, tylko na architekturze x86) zawiera klucz ochrony
              pamięci  (zob.  pkeys(7))  związany z obszarem pamięci wirtualnej. Wpis ten jest obecny tylko, gdy
              jądro zbudowano z opcją konfiguracyjną CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS (od Linuksa 4.6).

              Wiersz „VmFlags” (dostępny od Linuksa 3.8) reprezentuje flagi jądra  związane  z  danych  obszarem
              pamięci wirtualnej (VMA) zakodowanym za pomocą poniższych dwuliterowych kodów:

                     rd   -   do odczytu (readable)
                     wr   -   do zapisu (writable)
                     ex   -   wykonywalny (executable)
                     sh   -   dzielony (shared)
                     mr   -   mogący odczytywać (may read)
                     mw   -   mogący zapisywać (may write)
                     me   -   mogący wykonywać (may execute)
                     ms   -   mogący dzielić (may share)
                     gd   -   segment stosu rośnie w dół (grows down)
                     pf   -   surowy zakres PFN
                     dw   -   wyłączony zapis do zmapowanego pliku (disabled write)
                     lo   -   strony są zablokowane w pamięci (locked)
                     io   -   obszar wejścia/wyjścia zmapowany do pamięci (I/O)
                     sr   -   dostarczono wskazówkę odczytu sekwencyjnego (sequential read)
                     rr   -   dostarczono wskazówkę odczytu losowego (random read)
                     dc   -   bez kopiowania obszaru przy rozgałęzieniu — forkowaniu (don't copy)
                     de   -   bez rozszerzania obszaru przy ponownym mapowaniu (don't expand)
                     ac   -   obszar jest księgowalny (area accountable)
                     nr   -   przestrzeń wymiany nie jest zarezerowana dla tego obszaru (not reserved)
                     ht   -   obszaru używa dużych stron tlb (huge tlb)
                     sf   -   wykonuje synchroniczne chybienia stron (synchronous faults; od Linuksa 4,15)
                     nl   -   mapowanie nieliniowe (non-linear; usunięte w Linuksie 4.0)
                     ar   -   znacznik zależny od architektury
                     wf   -   wyczyść przy rozgałęzieniu (wipe on fork; od Linuksa 4.14)
                     dd   -   nie włączaj obszaru do zrzutu pamięci (don't dump)
                     sd   -   znacznik soft-dirty (od Linuksa 3.13)
                     mm   -   obszar mapowania mieszanego (mixed map)
                     hg   -   znacznik wskazówki dużej strony (huge)
                     nh   -   znacznik wskazówki braku dużej strony (no-huge)
                     mg   -   znacznik wskazówki łączenia (mergeable)
                     um   -   śledzenie brakujących stron userfaultfd (od Linuksa 4.3)
                     uw   -   śledzenie stron wprotect userfaultfd (od Linuksa 4.3)

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

ZOBACZ TAKŻE

       proc(5)

TŁUMACZENIE

       Tłumaczenie  niniejszej  strony  podręcznika:  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  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.

Linux man-pages 6.9.1                            2 maja 2024 r.                                proc_pid_smaps(5)