2013-03-25 13 views
5

Kann jemand die Speicherzugriffe (Zeiger) ermitteln, die Seitenfehler verursachen? Ich bin hauptsächlich an den großen Seitenfehlern interessiert.Protokollspeicherzugriffe, die schwerwiegende Seitenfehler verursachen

Ein bisschen Hintergrund über das, was ich erreichen möchte. Ich habe eine Anwendung mit einem großen Speicherbedarf (eine Datenbank) und möchte Paging mit den Zugriffen auf die großen Datenstrukturen (wie Tabellen, Indizes, die mit mmap() zugewiesen werden) korrelieren. Die Mappings des Prozesses sind leicht aus/proc // maps abzurufen. Jetzt, wenn ich die Speicherzugriffe habe, die Seitenfehler verursachen, kann ich verfolgen, wie viele Seitenfehler beim Zugriff auf jede Datenstruktur verursacht werden.

Ich denke Perf oder Systemtap könnte den Job machen. Irgendwelche Ideen?

Antwort

6

Sehen Sie, was am Antastpunkt verfügbar:

% stap -L vm.pagefault 
vm.pagefault name:string write_access:long address:long $mm:struct mm_struct* \ 
    $vma:struct vm_area_struct* $address:long unsigned int $flags:unsigned int 

Log, versuchen Adressen Symbolnamen zuordnen

# stap -e 'probe vm.pagefault { if (execname()=="foo") { printf("%p (%s)\n", address, usymdata(address)) } }' -d /bin/foo --ldd 

Siehe auch: http://sourceware.org/systemtap/examples/#memory/pfaults.stp

6

Ihre Vermutung richtig ist. Sie können das perf-Tool verwenden, um die Anzahl der Seitenfehler zu verfolgen, die Ihre Anwendung verursacht hat.

Ich empfehle Ihnen, this tutorial zu lesen, um zu lernen, das Werkzeug zu verwenden.

nur zu installieren und benutzen

Sie sind für die Veranstaltung suchen -Seite bemängeln. Sie können (in ubuntu oder anderer apt-Verteilung) installieren:

sudo apt-get install linux-tools-common linux-base 
sudo apt-get install linux-tools-YOUR-KERNEL number 

Sie Ihre Kernel-Nummer mit erhalten: uname -r

Als Beispiel dieser Befehl führt das perf-Tool auf dem „ls "Befehl:

perf record -e page-faults:u -F 250 ls 

und dann können Sie sich die Ergebnisse (die binäre von‚ls‘hat keine Debug-Informationen, also nicht erwarten, eine hübsche Ausgabe) mit:

perf report 
Verwandte Themen