2017-09-19 2 views
0

Si j'exécute un programme sous Linux, je peux voir dans/proc/pid/smaps qu'une partie de son binaire est mappée à la mémoire physique. Par exemple:Inspection du mappage du fichier binaire

08047000-0804d000 r-xp 00000000 b4:04 2845  /usr/bin/test_prog 
Size:     24 kB 
Rss:     20 kB 
Pss:     20 kB 
Shared_Clean:   0 kB 
Shared_Dirty:   0 kB 
Private_Clean:  20 kB 
Private_Dirty:   0 kB 
Referenced:   20 kB 
... 

(cartographié 20 sur 24 kB)

Comment puis-je voir exactement quelles parties de binaires est mis en correspondance? Si je comprends bien, selon this zone de réponse adresse dans/proc/pid/maps montre les adresses de début et de fin du fichier entier dans la mémoire virtuelle. Quel outil puis-je utiliser pour déterminer quelle partie de la mémoire virtuelle, où binary est chargé, est mappée à la RAM?

Répondre

0

/proc/pid/pagemap peut donner une telle information. La documentation est here.