Uno que me surgió a mí al poco tiempo de uso de mi mac fue el de mapear la memoria que usa un proceso cuando me di cuenta que no tenía pmap.
Cabe recordar que en OS X subyace el sistema operativo Darwin cuyo kernel incluye varios elementos de BSD.
Los sistemas BSD usan vmmap para el mapeo de la memoria, el cual viene incluido en OS X.
Uso de Pmap en Debian 6(32 bits)
$pmap PID
Cabe recordar que en OS X subyace el sistema operativo Darwin cuyo kernel incluye varios elementos de BSD.
Los sistemas BSD usan vmmap para el mapeo de la memoria, el cual viene incluido en OS X.
Uso de Pmap en Debian 6(32 bits)
2393: ./a.out
08048000 4K r-x-- /Home/Desktop/a.out
08049000 4K rw--- /Home/Desktop/a.out
b7611000 4K rw--- [ anon ]
b7612000 1280K r-x-- /lib/i686/cmov/libc-2.11.3.so
b7752000 4K ----- /lib/i686/cmov/libc-2.11.3.so
b7753000 8K r---- /lib/i686/cmov/libc-2.11.3.so
b7755000 4K rw--- /lib/i686/cmov/libc-2.11.3.so
b7756000 12K rw--- [ anon ]
b776b000 8K rw--- [ anon ]
b776d000 4K r-x-- [ anon ]
b776e000 108K r-x-- /lib/ld-2.11.3.so
b7789000 4K r---- /lib/ld-2.11.3.so
b778a000 4K rw--- /lib/ld-2.11.3.so
bf8eb000 84K rw--- [ stack ]
total 1532K
Uso de vmmap en OS X 10.8(64 bits)
$vmmap PID
Virtual Memory Map of process 984 (a.out)
Output report format: 2.2 -- 64-bit process
==== Non-writable regions for process 984
__TEXT 0000000102918000-0000000102919000 [ 4K] r-x/rwx SM=COW /Users/XXXXXX/a.out
__LINKEDIT 000000010291a000-000000010291b000 [ 4K] r--/rwx SM=COW /Users/XXXXXX/a.out
MALLOC metadata 000000010291b000-000000010291c000 [ 4K] r--/rwx SM=COW
MALLOC guard page 000000010291d000-000000010291e000 [ 4K] ---/rwx SM=NUL
MALLOC guard page 0000000102933000-0000000102935000 [ 8K] ---/rwx SM=NUL
MALLOC guard page 000000010294a000-000000010294b000 [ 4K] ---/rwx SM=NUL
MALLOC metadata 000000010294b000-000000010294c000 [ 4K] r--/rwx SM=COW
STACK GUARD 00007fff592e8000-00007fff5cae8000 [ 56.0M] ---/rwx SM=NUL stack guard for thread 0
__TEXT 00007fff62518000-00007fff6254d000 [ 212K] r-x/rwx SM=COW /usr/lib/dyld
__LINKEDIT 00007fff62589000-00007fff6259c000 [ 76K] r--/rwx SM=COW /usr/lib/dyld
__TEXT 00007fff85cf9000-00007fff85d1c000 [ 140K] r-x/r-x SM=COW /usr/lib/system/libxpc.dylib
__TEXT 00007fff85fc8000-00007fff85fff000 [ 220K] r-x/r-x SM=COW /usr/lib/system/libsystem_info.dylib
__TEXT 00007fff8691b000-00007fff8691c000 [ 4K] r-x/r-x SM=COW /usr/lib/system/libkeymgr.dylib
__TEXT 00007fff86e75000-00007fff86f8e000 [ 1124K] r-x/r-x SM=COW /usr/lib/libobjc.A.dylib
__TEXT 00007fff8717a000-00007fff87180000 [ 24K] r-x/r-x SM=COW /usr/lib/system/libcompiler_rt.dylib
__TEXT 00007fff871f1000-00007fff871f9000 [ 32K] r-x/r-x SM=COW /usr/lib/system/libcopyfile.dylib
__TEXT 00007fff88c21000-00007fff88c25000 [ 16K] r-x/r-x SM=COW /usr/lib/system/libdyld.dylib
__TEXT 00007fff88c6d000-00007fff88c6f000 [ 8K] r-x/r-x SM=COW /usr/lib/system/libdnsinfo.dylib
__TEXT 00007fff8907c000-00007fff890e5000 [ 420K] r-x/r-x SM=COW /usr/lib/libc++.1.dylib
__TEXT 00007fff89150000-00007fff8917f000 [ 188K] r-x/r-x SM=COW /usr/lib/system/libsystem_m.dylib
shared memory 00007fffffe00000-00007fffffe01000 [ 4K] r--/r-- SM=SHM
shared memory 00007ffffff60000-00007ffffff61000 [ 4K] r-x/r-x SM=SHM
==== Writable regions for process 984
__DATA 0000000102919000-000000010291a000 [ 4K] rw-/rwx SM=PRV /Users/XXXXX/a.out
MALLOC metadata 000000010291c000-000000010291d000 [ 4K] rw-/rwx SM=COW
MALLOC metadata 000000010291e000-0000000102933000 [ 84K] rw-/rwx SM=COW
MALLOC metadata 0000000102935000-000000010294a000 [ 84K] rw-/rwx SM=COW
MALLOC_TINY 00007fe633c00000-00007fe633d00000 [ 1024K] rw-/rwx SM=COW DefaultMallocZone_0x10291b000
MALLOC_SMALL 00007fe634000000-00007fe634800000 [ 8192K] rw-/rwx SM=COW DefaultMallocZone_0x10291b000
Stack 00007fff5cae8000-00007fff5d2e7000 [ 8188K] rw-/rwx SM=ZER thread 0
Stack 00007fff5d2e7000-00007fff5d2e8000 [ 4K] rw-/rwx SM=COW thread 0
__DATA 00007fff6254d000-00007fff62589000 [ 240K] rw-/rwx SM=COW /usr/lib/dyld
__DATA 00007fff75cdf000-00007fff75ce4000 [ 20K] rw-/rwx SM=COW /usr/lib/system/libxpc.dylib
__DATA 00007fff75d55000-00007fff75d58000 [ 12K] rw-/rwx SM=COW /usr/lib/system/libsystem_info.dylib
__DATA 00007fff75f4f000-00007fff75f50000 [ 4K] rw-/rwx SM=COW /usr/lib/system/libkeymgr.dylib
__DATA 00007fff75ff8000-00007fff76000000 [ 32K] rw-/rwx SM=COW /usr/lib/libobjc.A.dylib
__DATA 00007fff76049000-00007fff7604a000 [ 4K] rw-/rw- SM=COW /usr/lib/system/libcompiler_rt.dylib
__DATA 00007fff76067000-00007fff76068000 [ 4K] rw-/rw- SM=COW /usr/lib/system/libcopyfile.dylib
__DATA 00007fff7627b000-00007fff7627c000 [ 4K] rw-/rwx SM=COW /usr/lib/system/libdyld.dylib
__DATA 00007fff7628b000-00007fff7628c000 [ 4K] rw-/rwx SM=COW /usr/lib/system/libdnsinfo.dylib
__DATA 00007fff7634b000-00007fff76353000 [ 32K] rw-/rwx SM=COW /usr/lib/libc++.1.dylib
==== Legend
SM=sharing mode:
COW=copy_on_write PRV=private NUL=empty ALI=aliased
SHM=shared ZER=zero_filled S/A=shared_alias
==== Summary for process 984
ReadOnly portion of Libraries: Total=57.6M resident=17.6M(31%) swapped_out_or_unallocated=40.0M(69%)
Writable regions: Total=17.4M written=12K(0%) resident=128K(1%) swapped_out=0K(0%) unallocated=17.3M(99%)
REGION TYPE VIRTUAL
=========== =======
MALLOC 9216K see MALLOC ZONE table below
MALLOC guard page 16K
MALLOC metadata 180K
STACK GUARD 56.0M
Stack 8192K
__DATA 592K
__LINKEDIT 53.1M
__TEXT 4568K
shared memory 8K
=========== =======
TOTAL 131.3M
VIRTUAL ALLOCATION BYTES
MALLOC ZONE SIZE COUNT ALLOCATED % FULL
=========== ======= ========= ========= ======
DefaultMallocZone_0x10291b000 9216K 292 27K 0%
No hay comentarios:
Publicar un comentario