Perf

From D Wiki
Revision as of 20:16, 27 May 2014 by Hackerpilot (talk | contribs) (Created page with "=Perf= [https://perf.wiki.kernel.org/index.php/Main_Page Perf] is a performance measurement tool for the Linux kernel. ==Finding Infinite Loops== '''Problem:'''<br/> Your pr...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Perf

Perf is a performance measurement tool for the Linux kernel.


Finding Infinite Loops

Problem:
Your program is in an infinite loop. You're not sure how you triggered it, and worry that if you kill the program you may not be able to trigger this bug easily. You want to know where the infinite loop is.

Solution:

  1. Use the -p option of perf record, supplying the process id of your program. This will instruct perf to attach to your currently-running process.
    perf record -p $(pidof myprogram)
  2. After a few seconds of recording, kill perf with Ctrl+C
  3. Run perf report. The report should clearly identify which functions are being executed in the loop.