Strace
監控頁面記憶體/記憶體映射文件訪問
我有一個使用多個記憶體映射文件的應用程序。如果我檢查主要的頁面錯誤數(帶有
/proc/<pid>/stat
),它們會飆升。我想知道是否有可能以某種方式監視哪些記憶體映射文件受到程序的頁面交換輸入和輸出的影響?
至少我想看看某個程序訪問了哪些 mmap 文件。我嘗試使用 strace,但我發現沒有讀取,因為我想直接訪問記憶體不需要係統呼叫。
我也很高興知道它們發生的程序空間中的虛擬地址,所以至少我可以手動將它們映射到 pmap 輸出中的文件
perf trace -F maj
http://man7.org/linux/man-pages/man1/perf-trace.1.html
要連接到現有程序,請使用
-p $PID
. 如果您不想顯示系統呼叫,--no-syscalls
也可以通過。系統呼叫參數不會以與strace
.