我正在使用oprofile调优我的应用程序的性能。下面是我是如何收集性能分析数据的:
platform info: virtual machine (KVM-based), linux kernel 2.6.21, x86 64bit,
1. opcontrol --init
2. opcontrol --no-vmlinux -p library -c 100
3. opcontrol --status
Separate options: library
vmlinux file: none
Image filter: none
Call-graph depth: 100
4. opcontrol -s
5. /*running my application*/
6. opcontrol -h
7. opreport -l my_application
20136 0.0000 no-vmlinux no-vmlinux /no-vmlinux
1311 0.0000 libcrypto.so.0.9.8 lighttpd /opt/ccnsr/lib64/libcrypto.so.0.9.8
455 0.0000 libxml2.so.2.6.26 my_application /opt/ccnsr/lib64/libxml2.so.2.6.26
350 0.0000 libc-2.5.90.so my_application _int_malloc
195 0.0000 libpython2.4.so.1.0 python PyEval_EvalFrame
142 0.0000 libc-2.5.90.so my_application vfprintf
79 0.0000 libc-2.5.90.so my_application _IO_default_xsputnopreport的"%“列始终显示0.0000!
发布于 2012-04-18 00:14:51
如果您编写了一个主要执行I/O的小应用程序,并在墙上时钟(而不是CPU)上采样,并显示独占百分比,您将看到每个百分比非常接近于零。
原因是该程序几乎将其所有时间都花在等待先前启动的IO完成。因此,与它花费在等待上的时间相比,它在任何例程中花费的时间几乎为零。
https://stackoverflow.com/questions/10188192
复制相似问题