/proc/pid/maps - regiuni de memorie cartografiate
- /proc/pid/maps
- Un fișier care conține regiunile de memorie cartografiate
în prezent și permisiunile lor de acces. Consultați
mmap(2) pentru informații suplimentare despre cartografierea
memoriei.
- Permisiunea de a accesa acest fișier este guvernată de o
verificare a modului de acces «ptrace»
PTRACE_MODE_READ_FSCREDS; a se vedea ptrace(2).
- Formatul fișierului este următorul:
-
adresă permis poziție disp nod-i nume-rută
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]
- Câmpul adresă este spațiul de adrese din
proces ocupat de cartografiere. Câmpul permis este un set de
permisiuni:
-
r = citire
w = scriere
x = execuție
s = partajare
p = privată (copie la scriere)
- Câmpul poziție este poziția în
fișier sau altceva; disp este dispozitivul (major:minor);
nod-i este nodul-i pe dispozitivul respectiv. 0 indică
faptul că niciun nod-i nu este asociat cu regiunea de memorie, cum
ar fi cazul BSS (date neinițializate).
- Câmpul nume-rută va fi de obicei fișierul care
conține cartografierea. Pentru fișierele ELF, vă
puteți coordona cu ușurință cu câmpul
poziție uitându-vă la câmpul Offset din
anteturile programului ELF (readelf -l).
- Există pseudo-rute suplimentare utile:
- [stack]
- Stiva procesului inițial (cunoscută și ca firul
principal).
- [stack:tid] (de la Linux 3.4 la Linux 4.4)
- Stiva unui fir (unde tid este un ID al firului). Acesta corespunde
rutei /proc/pid/task/tid/. Acest câmp a fost
eliminat în Linux 4.5, deoarece furnizarea acestor
informații pentru un proces cu un număr mare de fire este
costisitoare.
- [vdso]
- Obiectul partajat virtual legat dinamic. A se vedea vdso(7).
- [heap]
- Grămada procesului.
- [anon:nume] (începând cu Linux 5.17)
- O cartografiere anonimă privată cu nume. Definită cu
prctl(2) PR_SET_VMA_ANON_NAME.
- [anon_shmem:nume] (începând cu Linux 6.2)
- O cartografiere anonimă partajată cu nume. Definită
cu prctl(2) PR_SET_VMA_ANON_NAME.
- Dacă câmpul nume-rută este gol, aceasta este o
cartografiere anonimă obținută prin mmap(2).
Nu există o modalitate ușoară de a corela aceasta cu
sursa unui proces, cu excepția rulării acesteia prin
gdb(1), strace(1) sau similar.
- nume-rută este afișat neeludat, cu excepția
caracterelor de linie nouă, care sunt înlocuite cu o
secvență octală de eludare. Ca urmare, nu este
posibil să se determine dacă numele de rută original
conținea un caracter de linie nouă sau secvența
literală de caractere \012.
- Dacă cartografierea este stocată în fișier
și fișierul a fost șters, șirul
„(deleted)” este adăugat la numele rutei.
Rețineți că acest lucru este, de asemenea,
ambiguu.
- Sub Linux 2.0, nu există niciun câmp care să indice
numele rutei.
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.