table of contents
proc_pid_smaps(5) | File Formats Manual | proc_pid_smaps(5) |
NUME¶
/proc/pid/smaps - XXX: ce înseamnă „s” în „smaps”?
DESCRIERE¶
- /proc/pid/smaps (începând cu Linux 2.6.14)
- Acest fișier arată consumul de memorie pentru fiecare dintre hărțile procesului. (Comanda pmap(1) afișează informații similare, într-o formă care poate fi mai ușor de analizat). Pentru fiecare cartografiere există o serie de linii, cum ar fi următoarele:
-
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
- Prima dintre aceste linii prezintă aceleași informații ca cele afișate pentru cartografierea din /proc/pid/maps. Următoarele linii indică dimensiunea hărții, cantitatea de hărți care este în prezent rezidentă în RAM („Rss”), partea proporțională a procesului din această hărți („Pss”), numărul de pagini partajate curate și murdare din hărți și numărul de pagini private curate și murdare din hărți. „Referenced” indică cantitatea de memorie marcată în prezent ca fiind referită sau accesată. „Anonymous” arată cantitatea de memorie care nu aparține niciunui fișier. „Swap” arată cât de multă memorie care ar putea fi anonimă este, de asemenea, utilizată, dar în spațiul de memorie de interschimb (swap).
- Linia „KernelPageSize” (disponibilă începând cu Linux 2.6.29) este dimensiunea paginii utilizate de nucleu pentru a susține zona de memorie virtuală. Aceasta corespunde dimensiunii utilizate de MMU în majoritatea cazurilor. Cu toate acestea, un contra-exemplu apare pe nucleele PPC64, unde un nucleu care utilizează 64 kB ca dimensiune de pagină de bază poate utiliza în continuare pagini de 4 ko pentru MMU pe procesoarele mai vechi. Pentru a distinge cele două atribute, linia „MMUPageSize” (de asemeni disponibilă începând cu Linux 2.6.29) raportează dimensiunea paginii utilizate de MMU.
- „Locked” indică dacă cartografierea este blocată în memorie sau nu.
- Linia „ProtectionKey” (disponibilă începând cu Linux 4.9, numai pe x86) conține cheia de protecție a memoriei (a se vedea pkeys(7)) asociată cu zona de memorie virtuală. Această intrare este prezentă numai dacă nucleul a fost construit cu opțiunea de configurare CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS activată (începând cu Linux 4.6).
- Linia „VmFlags” (disponibilă începând cu Linux 3.8) reprezintă fanioanele nucleului asociate cu zona de memorie virtuală, codificate utilizând următoarele coduri din două litere:
-
rd - se poate citi wr - se poate scrie ex - executabil sh - partajat mr - poate citi mw - poate scrie me - poate executa ms - poate partaja gd - segmentul de stivă crește în jos pf - interval PFN pur dw - scriere dezactivată în fișierul cartografiat lo - paginile sunt blocate în memorie io - zonă de In/Ieș cartografiată în memorie sr - avertizare de citire secvențială furnizată rr - avertizare de citire aleatorie furnizată dc - nu copiază zona la bifurcare de - nu extinde zona la recartografiere ac - zona este responsabilă nr - spațiul de interschimb (swap) nu este rezervat pentru zonă ht - zona utilizează pagini tlb imense sf - efectuează sincronizări de „page faults” (începând cu Linux 4.15) nl - cartografiere neliniară (eliminată în Linux 4.0) ar - fanion specific arhitecturii wf - șterge la bifurcare (începând cu Linux 4.14) dd - nu include zona în descărcarea datelor din memorie sd - fanion soft-dirty (începând cu Linux 3.13) mm - zonă de hartă mixtă hg - fanion de avertizare de pagină imensă nh - fanion de avertizare de pagină ne-imensă mg - fanion de avertizare de fuzionare um - urmărire a paginilor lipsă userfaultfd (începând cu Linux 4.3) uw - urmărire a paginilor wprotect userfaultfd (începând cu Linux 4.3)
- Fișierul /proc/pid/smaps este prezent numai dacă opțiunea de configurare a nucleului CONFIG_PROC_PAGE_MONITOR este activată.
CONSULTAȚI ȘI¶
TRADUCERE¶
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.
2 mai 2024 | Pagini de manual de Linux 6.9.1 |