Date: Wed, 1 Apr 2009 15:38:29 +0800 From: =?GB2312?B?tN7R0mNjdWl5eWFuQHNpbmEuY29t?= <ccuiyyan@gmail.com> To: freebsd-current@freebsd.org Subject: Performance Tools in FreeBSD Message-ID: <4451ccf20904010038p64ed2540mec3249f89bb7b8c2@mail.gmail.com>
index | next in thread | raw e-mail
Dear all:
I wonder to know which kind of performance tools FreeBSD hackers use
to identify scalability or performance
bottlenecks. I really have a hard time in that. To identify
bottlenecks in our benchmarks, i try PMC and Dtrace.
However, PMC seems not to be supported in AMD Opteron CPU because i
get a "invalid arguments" error when
i use the command pmcstat -S instructions -O <outputfile>. However,
"instructions, cycles,..." are documented in
pmc manual. By the way, I enable the options in configuration file
options HWPMC_HOOKS and device hwpmc.
So i give up PMC and turn to Dtrace in BSD. Dtrace in FreeBSD can work,
but the information is meaningless.
Profile provider cannot be used. (When i used, the kernel goes into
kdb.) Tick provider can be used (It can only work
on one CPU by definition). However, when i use aggregation like
"dtrace -n 'tick-10ms /arg0!=0/{@ks[probefunc] = count();}'"
There are no human readable results. Only tools i can use is the
stack() command. However, the results are limited.
I know Dtrace is a tool in FreeBSD under development.
Are there any tools recommended to do kernel profiling or callgraph
effectively? (which functions take the most time)
Best Wishes!
Yan
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4451ccf20904010038p64ed2540mec3249f89bb7b8c2>
