Profiling code execution on amd64?
George Neville-Neil
gnn at freebsd.org
Fri Jan 14 22:00:51 UTC 2011
On Jan 13, 2011, at 23:05 , Steve Kargl wrote:
> On Thu, Jan 13, 2011 at 10:08:30PM -0500, Ryan Stone wrote:
>> I would suggest using hwpmc for profiling:
>>
>> # kldload hwpmc
>> # pmcstat -S unhalted-cycles -O /tmp/samples.out ../penetration
>> # pmcstat -R /tmp/samples.out -G /tmp/penetration.txt
>>
>>
>> You can also get pmcstat to generate gprof-compatible output with -g,
>> but I never use the mode so I'm really not sure what it gives you. I
>> think that you have to run gprof on the output or something, but don't
>> hold me to that.
>
>
> Thanks. I'll give it a try, but my initial attempt seems to
> indicate that one needs to be root to use hwpmc.
>
> laptop:kargl[210] pmcstat -S unhalted-cycles -O /tmp/samples.out ../penetration
> pmcstat: ERROR: Cannot allocate system-mode pmc with specification
> "unhalted-cycles": Operation not permitted
>
You only need to be root to profile the kernel or someone else's process.
This tutorial might help:
www.dcbsdcon.org/speakers/slides/neville-neil_dcbsdcon2009.pdf
Best,
George
More information about the freebsd-current
mailing list